linux/drivers/gpu/drm/vc4
Maxime Ripard 98007a0d56
drm/bridge: Add encoder parameter to drm_bridge_funcs.attach
The drm_bridge structure contains an encoder pointer that is widely used
by bridge drivers. This pattern is largely documented as deprecated in
other KMS entities for atomic drivers.

However, one of the main use of that pointer is done in attach to just
call drm_bridge_attach on the next bridge to add it to the bridge list.
While this dereferences the bridge->encoder pointer, it's effectively
the same encoder the bridge was being attached to.

We can make it more explicit by adding the encoder the bridge is
attached to to the list of attach parameters. This also removes the need
to dereference bridge->encoder in most drivers.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Tested-by: Douglas Anderson <dianders@chromium.org>
Tested-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250313-bridge-connector-v6-1-511c54a604fb@kernel.org
Signed-off-by: Maxime Ripard <mripard@kernel.org>
2025-03-20 14:45:38 +01:00
..
tests drm/tests: Drop drm_kunit_helper_acquire_ctx_alloc() 2025-03-03 14:21:58 +01:00
Kconfig drm/vc4: Use DRM Execution Contexts 2025-01-19 15:30:23 -03:00
Makefile
vc4_bo.c drm/vc4: Make v3d paths unavailable on any generation newer than vc4 2024-09-09 13:02:53 +01:00
vc4_crtc.c drm/vc4: Remove BOs seqnos 2025-01-19 15:31:00 -03:00
vc4_debugfs.c
vc4_dpi.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
vc4_drv.c Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2024-12-09 16:35:21 +01:00
vc4_drv.h drm/vc4: Remove BOs seqnos 2025-01-19 15:31:00 -03:00
vc4_dsi.c drm/bridge: Add encoder parameter to drm_bridge_funcs.attach 2025-03-20 14:45:38 +01:00
vc4_fence.c
vc4_gem.c drm/vc4: Remove BOs seqnos 2025-01-19 15:31:00 -03:00
vc4_hdmi.c drm/vc4: hdmi: Fix some NULL vs IS_ERR() bugs 2025-03-03 14:25:14 +01:00
vc4_hdmi.h drm/vc4: hdmi: switch to using generic HDMI Codec infrastructure 2025-01-04 08:47:11 +02:00
vc4_hdmi_phy.c drm/vc4: hdmi: Add support for BCM2712 HDMI controllers 2024-11-27 14:37:20 +00:00
vc4_hdmi_regs.h drm/vc4: hdmi: Add support for BCM2712 HDMI controllers 2024-11-27 14:37:20 +00:00
vc4_hvs.c drm/vc4: unlock on error in vc4_hvs_get_fifo_frame_count() 2024-12-12 14:37:30 +00:00
vc4_irq.c drm/vc4: Make v3d paths unavailable on any generation newer than vc4 2024-09-09 13:02:53 +01:00
vc4_kms.c drm/vc4: Add additional warn_on for incorrect revisions 2024-11-27 14:37:21 +00:00
vc4_packet.h
vc4_perfmon.c Backmerge v6.12-rc6 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into drm-next 2024-11-04 14:25:33 +10:00
vc4_plane.c drm/vc4: plane: fix inconsistent indenting warning 2025-03-09 14:49:55 -03:00
vc4_qpu_defines.h
vc4_regs.h drm/vc4: hdmi: Support 2712 D-step register map 2024-11-27 14:37:21 +00:00
vc4_render_cl.c drm/vc4: Make v3d paths unavailable on any generation newer than vc4 2024-09-09 13:02:53 +01:00
vc4_trace.h
vc4_trace_points.c
vc4_txp.c drm/connector: make mode_valid take a const struct drm_display_mode 2025-01-07 12:45:19 +02:00
vc4_v3d.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
vc4_validate.c drm/vc4: Remove BOs seqnos 2025-01-19 15:31:00 -03:00
vc4_validate_shaders.c drm/vc4: Make v3d paths unavailable on any generation newer than vc4 2024-09-09 13:02:53 +01:00
vc4_vec.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00