- deprecated callbacks in drm_bridge_funcs - move connector creation to display drivers v2: - Updated descriptions in todo.rst Signed-off-by: Sam Ravnborg <sam@xxxxxxxxxxxx> Acked-by: Maxime Ripard <maxime@xxxxxxxxxx> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> Cc: Maxime Ripard <mripard@xxxxxxxxxx> Cc: Thomas Zimmermann <tzimmermann@xxxxxxx> Cc: David Airlie <airlied@xxxxxxxx> Cc: Daniel Vetter <daniel@xxxxxxxx> --- Documentation/gpu/todo.rst | 49 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/Documentation/gpu/todo.rst b/Documentation/gpu/todo.rst index 60d1d7ee0719..17c03e7c41e5 100644 --- a/Documentation/gpu/todo.rst +++ b/Documentation/gpu/todo.rst @@ -463,6 +463,55 @@ Contact: Thomas Zimmermann <tzimmermann@xxxxxxx>, Christian König, Daniel Vette Level: Intermediate +Drop use of deprecated operations in bridge drivers +-------------------------------------------------- + +&struct drm_bridge_funcs contains a number of deprecated operations +which use can be replaced by the atomic variants. + +The following is more or less 1:1 replacements whit the arguments +and names adjusted: +* pre_enable => atomic_pre_enable +* enable => atomic_enable +* disable => atomic_disable +* post_disable => atomic_post_disable + +* mode_set is no longer required and the implementation shall be merged + with atomic_enable. + +* mode_fixup => atomic_check + mode_fixup() was created a long time ago, when we were supposed to have + a single bridge at the output of the CRTC. The bridge could then instruct + the CRTC to output a different mode than what the display requires. + Now that we have support for multiple bridges, it's not as straightforward, + and we've so far just pretended to ignore the problem. The .mode_fixup() + operation is used and abused, and just telling people to use .atomic_check() + will likely make things worse as that operation has access to the full atomic + commit and can alter the mode of pretty much anything. We need to define clear + semantics for .atomic_check() in bridges. + + +Contact: bridge maintainers, Sam Ravnborg <sam@xxxxxxxxxxxx>, + Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> + +Level: Beginner or intermediate (depending on the driver) + +Move connector creation to display drivers +------------------------------------------ + +With the introduction of chained bridges the creation of connectors are moved +to the display drivers. The flag DRM_BRIDGE_ATTACH_NO_CONNECTOR is used to +signal to the bridge driver that no connector shall be created and that the +display driver will take care. Display drivers will in most cases be able to +utilise drm_bridge_connector_init() for all the logic. + +Step 1 is to have all bridge drivers supporting DRM_BRIDGE_ATTACH_NO_CONNECTOR. +Step 2 is to move connector creation to all relevant display drivers, utilizing +the drm_bridge_connector where possible. + +Contact: Sam Ravnborg <sam@xxxxxxxxxxxx>, bridge and/or driver maintainer(s) + +Level: Intermediate or advanced (depending on the driver) Core refactorings ================= -- 2.30.2