Maxime Ripard
f5f6a5bf01
drm/bridge: Pass full state to atomic_disable
...
It's pretty inconvenient to access the full atomic state from
drm_bridges, so let's change the atomic_disable hook prototype to pass
it directly.
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Reviewed-by: Douglas Anderson <dianders@chromium.org >
Tested-by: Douglas Anderson <dianders@chromium.org >
Link: https://lore.kernel.org/r/20250213-bridge-connector-v3-4-e71598f49c8f@kernel.org
Signed-off-by: Maxime Ripard <mripard@kernel.org >
2025-02-19 16:59:12 +01:00
Maxime Ripard
c2b190bf2a
drm/bridge: Pass full state to atomic_enable
...
It's pretty inconvenient to access the full atomic state from
drm_bridges, so let's change the atomic_enable hook prototype to pass it
directly.
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org >
Reviewed-by: Douglas Anderson <dianders@chromium.org >
Tested-by: Douglas Anderson <dianders@chromium.org >
Link: https://lore.kernel.org/r/20250213-bridge-connector-v3-3-e71598f49c8f@kernel.org
Signed-off-by: Maxime Ripard <mripard@kernel.org >
2025-02-19 16:59:12 +01:00
Daniel Vetter
f112b68f27
Merge v6.8-rc6 into drm-next
...
Thomas Zimmermann asked to backmerge -rc6 for drm-misc branches,
there's a few same-area-changed conflicts (xe and amdgpu mostly) that
are getting a bit too annoying.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
2024-02-26 11:41:07 +01:00
Martin Blumenstingl
1a9e51bef8
drm/meson: improve encoder probe / initialization error handling
...
Rename meson_encoder_{cvbs,dsi,hdmi}_init() to
meson_encoder_{cvbs,dsi,hdmi}_probe() so it's clear that these functions
are used at probe time during driver initialization. Also switch all
error prints inside those functions to use dev_err_probe() for
consistency.
This makes the code more straight forward to read and makes the error
prints within those functions consistent (by logging all -EPROBE_DEFER
with dev_dbg(), while actual errors are logged with dev_err() and get
the error value printed).
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com >
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org >
Link: https://lore.kernel.org/r/20240218175035.1948165-1-martin.blumenstingl@googlemail.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20240218175035.1948165-1-martin.blumenstingl@googlemail.com
2024-02-19 09:48:41 +01:00
Martin Blumenstingl
bd915ae73a
drm/meson: Don't remove bridges which are created by other drivers
...
Stop calling drm_bridge_remove() for bridges allocated/managed by other
drivers in the remove paths of meson_encoder_{cvbs,dsi,hdmi}.
drm_bridge_remove() unregisters the bridge so it cannot be used
anymore. Doing so for bridges we don't own can lead to the video
pipeline not being able to come up after -EPROBE_DEFER of the VPU
because we're unregistering a bridge that's managed by another driver.
The other driver doesn't know that we have unregistered it's bridge
and on subsequent .probe() we're not able to find those bridges anymore
(since nobody re-creates them).
This fixes probe errors on Meson8b boards with the CVBS outputs enabled.
Fixes: 09847723c1 ("drm/meson: remove drm bridges at aggregate driver unbind time")
Fixes: 42dcf15f90 ("drm/meson: add DSI encoder")
Cc: <stable@vger.kernel.org >
Reported-by: Steve Morvai <stevemorvai@hotmail.com >
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com >
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org >
Tested-by: Steve Morvai <stevemorvai@hotmail.com >
Link: https://lore.kernel.org/r/20240215220442.1343152-1-martin.blumenstingl@googlemail.com
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org >
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20240215220442.1343152-1-martin.blumenstingl@googlemail.com
2024-02-19 09:41:34 +01:00
Rob Herring
722d4f06e5
drm: Explicitly include correct DT includes
...
The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.
Signed-off-by: Rob Herring <robh@kernel.org >
Acked-by: Sam Ravnborg <sam@ravnborg.org >
Reviewed-by: Steven Price <steven.price@arm.com >
Acked-by: Liviu Dudau <liviu.dudau@arm.com >
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com >
Acked-by: Robert Foss <rfoss@kernel.org >
Signed-off-by: Thierry Reding <treding@nvidia.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230714174545.4056287-1-robh@kernel.org
2023-07-21 09:12:43 +02:00
Neil Armstrong
42dcf15f90
drm/meson: add DSI encoder
...
This adds an encoder bridge designed to drive a MIPI-DSI display
by using the ENCL encoder through the internal MIPI DSI transceiver
connected to the output of the ENCL pixel encoder.
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com >
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com >
Reviewed-by: Nicolas Belin <nbelin@baylibre.com >
Tested-by: Nicolas Belin <nbelin@baylibre.com > # on Khadas VIM3 + TS050 Panel
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org >
Link: https://patchwork.freedesktop.org/patch/msgid/20230512-amlogic-v6-4-upstream-dsi-ccf-vim3-v5-11-56eb7a4d5b8e@linaro.org
2023-06-01 16:10:23 +02:00