Hi Sam, Thank you for the patch. On Tue, Jul 13, 2021 at 09:32:57PM +0200, Sam Ravnborg wrote: > Make it obvious that mode_fixup is deprecated and new drivers shall use > atomic_check. Could you also mark drm_bridge_chain_mode_fixup() as deprecated ? Regarding usage of .atomic_check(), while I agree that's the way to go, we have more work to do. .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. > Signed-off-by: Sam Ravnborg <sam@xxxxxxxxxxxx> > Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Cc: Andrzej Hajda <a.hajda@xxxxxxxxxxx> > 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> > --- > include/drm/drm_bridge.h | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h > index 46bdfa48c413..668f14234459 100644 > --- a/include/drm/drm_bridge.h > +++ b/include/drm/drm_bridge.h > @@ -136,6 +136,9 @@ struct drm_bridge_funcs { > * > * NOTE: > * > + * This is deprecated, do not use! > + * New drivers shall use &drm_bridge_funcs.atomic_check. > + * > * This function is called in the check phase of atomic modesets, which > * can be aborted for any reason (including on userspace's request to > * just check whether a configuration would be possible). Drivers MUST -- Regards, Laurent Pinchart