Message ID | 20210225155909.1853812-3-maxime@cerno.tech (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/vc4: hdmi: Support the 4k @ 60Hz modes | expand |
On Thu, 25 Feb 2021 at 15:59, Maxime Ripard <maxime@cerno.tech> wrote: > > We'll need to have the HVS binding before the HDMI controllers so that > we can check whether the firmware allows to run in 4kp60. Reorder a bit > the component list, and document the current constraints we're aware of. > > Signed-off-by: Maxime Ripard <maxime@cerno.tech> Based on my understanding of bind ordering this makes sense, but I don't consider myself an expert there. Acked-by: Dave Stevenson <dave.stevenson@raspberrypi.com> > --- > drivers/gpu/drm/vc4/vc4_drv.c | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c > index 556ad0f02a0d..0310590ee66e 100644 > --- a/drivers/gpu/drm/vc4/vc4_drv.c > +++ b/drivers/gpu/drm/vc4/vc4_drv.c > @@ -303,12 +303,21 @@ static const struct component_master_ops vc4_drm_ops = { > .unbind = vc4_drm_unbind, > }; > > +/* > + * This list determines the binding order of our components, and we have > + * a few constraints: > + * - The TXP driver needs to be bound before the PixelValves (CRTC) > + * but after the HVS to set the possible_crtc field properly > + * - The HDMI driver needs to be bound after the HVS so that we can > + * lookup the HVS maximum core clock rate and figure out if we > + * support 4kp60 or not. > + */ > static struct platform_driver *const component_drivers[] = { > + &vc4_hvs_driver, > &vc4_hdmi_driver, > &vc4_vec_driver, > &vc4_dpi_driver, > &vc4_dsi_driver, > - &vc4_hvs_driver, > &vc4_txp_driver, > &vc4_crtc_driver, > &vc4_v3d_driver, > -- > 2.29.2 >
diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c index 556ad0f02a0d..0310590ee66e 100644 --- a/drivers/gpu/drm/vc4/vc4_drv.c +++ b/drivers/gpu/drm/vc4/vc4_drv.c @@ -303,12 +303,21 @@ static const struct component_master_ops vc4_drm_ops = { .unbind = vc4_drm_unbind, }; +/* + * This list determines the binding order of our components, and we have + * a few constraints: + * - The TXP driver needs to be bound before the PixelValves (CRTC) + * but after the HVS to set the possible_crtc field properly + * - The HDMI driver needs to be bound after the HVS so that we can + * lookup the HVS maximum core clock rate and figure out if we + * support 4kp60 or not. + */ static struct platform_driver *const component_drivers[] = { + &vc4_hvs_driver, &vc4_hdmi_driver, &vc4_vec_driver, &vc4_dpi_driver, &vc4_dsi_driver, - &vc4_hvs_driver, &vc4_txp_driver, &vc4_crtc_driver, &vc4_v3d_driver,
We'll need to have the HVS binding before the HDMI controllers so that we can check whether the firmware allows to run in 4kp60. Reorder a bit the component list, and document the current constraints we're aware of. Signed-off-by: Maxime Ripard <maxime@cerno.tech> --- drivers/gpu/drm/vc4/vc4_drv.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)