Hi Maxime & Dom On Thu, 10 Dec 2020 at 13:46, Maxime Ripard <maxime@xxxxxxxxxx> wrote: > > From: Dom Cobley <popcornmix@xxxxxxxxx> > > The hdmi reset got moved to a later point in the commit 9045e91a476b > ("drm/vc4: hdmi: Add reset callback"). > > However, the reset now occurs after vc4_hdmi_cec_init and so tramples > the setup of registers like HDMI_CEC_CNTRL_1 > > This only affects pi0-3 as on pi4 the cec registers are in a separate > block It does mean that this reset only happens once on bind rather than on every pre_crtc_configure, but as this really is the big reset the entire block I don't see it needing to be triggered on every configure. > Fixes: 9045e91a476b ("drm/vc4: hdmi: Add reset callback") > Signed-off-by: Dom Cobley <popcornmix@xxxxxxxxx> > Signed-off-by: Maxime Ripard <maxime@xxxxxxxxxx> Reviewed-by: Dave Stevenson <dave.stevenson@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/vc4/vc4_hdmi.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c > index 8006bddc8fbb..3df1747dd917 100644 > --- a/drivers/gpu/drm/vc4/vc4_hdmi.c > +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c > @@ -773,9 +773,6 @@ static void vc4_hdmi_encoder_pre_crtc_configure(struct drm_encoder *encoder, > return; > } > > - if (vc4_hdmi->variant->reset) > - vc4_hdmi->variant->reset(vc4_hdmi); > - > if (vc4_hdmi->variant->phy_init) > vc4_hdmi->variant->phy_init(vc4_hdmi, vc4_conn_state); > > @@ -1865,6 +1862,9 @@ static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data) > vc4_hdmi->disable_wifi_frequencies = > of_property_read_bool(dev->of_node, "wifi-2.4ghz-coexistence"); > > + if (vc4_hdmi->variant->reset) > + vc4_hdmi->variant->reset(vc4_hdmi); > + > pm_runtime_enable(dev); > > drm_simple_encoder_init(drm, encoder, DRM_MODE_ENCODER_TMDS); > -- > 2.28.0 > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel