On Tue, 26 May 2020 04:14:48 +0300 Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> wrote: > When validating a mode, bridges may need to do so in the context of a > display, as specified by drm_display_info. An example is the meson > dw-hdmi bridge that needs to consider the YUV 4:2:0 output format to > perform clock calculations. > > Bridges that need the display info currently retrieve it from the > drm_connector created by the bridge. This gets in the way of moving > connector creation out of bridge drivers. To make this possible, pass > the drm_display_info to drm_bridge_funcs .mode_valid(). > > Changes to the bridge drivers have been performed with the following > coccinelle semantic patch and have been compile-tested. > > @ rule1 @ > identifier funcs; > identifier fn; > @@ > struct drm_bridge_funcs funcs = { > ..., > .mode_valid = fn > }; > > @ depends on rule1 @ > identifier rule1.fn; > identifier bridge; > identifier mode; > @@ > enum drm_mode_status fn( > struct drm_bridge *bridge, > + const struct drm_display_info *info, > const struct drm_display_mode *mode > ) > { > ... > } > > Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx>