On Tue, 26 May 2020 04:14:48 +0300 Laurent Pinchart laurent.pinchart+renesas@ideasonboard.com 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@ideasonboard.com
Reviewed-by: Boris Brezillon boris.brezillon@collabora.com