> -----Original Message----- > From: Intel-gfx <intel-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Lucas > De Marchi > Sent: Friday, March 19, 2021 10:36 AM > To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx > Subject: [PATCH v2 3/3] drm/i915/display: remove strap checks > from gen 9 > > Direction on gen9+ was to stop reading the straps and only rely on the VBT > for marking the port presence. This happened while dealing with > WaIgnoreDDIAStrap and instead of using it as a WA, it should now be the > normal flow. See commit 885d3e5b6f08 ("drm/i915/display: fix comment on > skl straps"). > > For gen 10 it's hard to say if this will work or not since I can't test it, so leave it > with the same behavior as before. > > For PCH_TGP we should still rely on the VBT to make ports E and F not > available. > > Signed-off-by: Lucas De Marchi <lucas.demarchi@xxxxxxxxx> Reviewed-by: Anusha Srivatsa <anusha.srivatsa@xxxxxxxxx> > --- > drivers/gpu/drm/i915/display/intel_display.c | 36 ++++++-------------- > 1 file changed, 11 insertions(+), 25 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c > b/drivers/gpu/drm/i915/display/intel_display.c > index 82471961e721..b9af1f1e347e 100644 > --- a/drivers/gpu/drm/i915/display/intel_display.c > +++ b/drivers/gpu/drm/i915/display/intel_display.c > @@ -11687,34 +11687,25 @@ static void intel_setup_outputs(struct > drm_i915_private *dev_priv) > intel_ddi_init(dev_priv, PORT_B); > intel_ddi_init(dev_priv, PORT_C); > vlv_dsi_init(dev_priv); > + } else if (IS_GEN(dev_priv, 9)) { > + intel_ddi_init(dev_priv, PORT_A); > + intel_ddi_init(dev_priv, PORT_B); > + intel_ddi_init(dev_priv, PORT_C); > + intel_ddi_init(dev_priv, PORT_D); > + intel_ddi_init(dev_priv, PORT_E); > + intel_ddi_init(dev_priv, PORT_F); > } else if (HAS_DDI(dev_priv)) { > - int found; > + u32 found; > > if (intel_ddi_crt_present(dev_priv)) > intel_crt_init(dev_priv); > > - /* > - * Haswell uses DDI functions to detect digital outputs. > - * On SKL pre-D0 the strap isn't connected. Later SKUs may or > - * may not have it - it was supposed to be fixed by the same > - * time we stopped using straps. Assume it's there. > - */ > + /* Haswell uses DDI functions to detect digital outputs. */ > found = intel_de_read(dev_priv, DDI_BUF_CTL(PORT_A)) & > DDI_INIT_DISPLAY_DETECTED; > - /* WaIgnoreDDIAStrap: skl */ > - if (found || IS_GEN9_BC(dev_priv)) > + if (found) > intel_ddi_init(dev_priv, PORT_A); > > - /* DDI B, C, D, and F detection is indicated by the > SFUSE_STRAP > - * register */ > - if (HAS_PCH_TGP(dev_priv)) { > - /* W/A due to lack of STRAP config on TGP PCH*/ > - found = (SFUSE_STRAP_DDIB_DETECTED | > - SFUSE_STRAP_DDIC_DETECTED | > - SFUSE_STRAP_DDID_DETECTED); > - } else { > - found = intel_de_read(dev_priv, SFUSE_STRAP); > - } > - > + found = intel_de_read(dev_priv, SFUSE_STRAP); > if (found & SFUSE_STRAP_DDIB_DETECTED) > intel_ddi_init(dev_priv, PORT_B); > if (found & SFUSE_STRAP_DDIC_DETECTED) @@ -11723,11 > +11714,6 @@ static void intel_setup_outputs(struct drm_i915_private > *dev_priv) > intel_ddi_init(dev_priv, PORT_D); > if (found & SFUSE_STRAP_DDIF_DETECTED) > intel_ddi_init(dev_priv, PORT_F); > - /* > - * On SKL we don't have a way to detect DDI-E so we rely on > VBT. > - */ > - if (IS_GEN9_BC(dev_priv)) > - intel_ddi_init(dev_priv, PORT_E); > } else if (HAS_PCH_SPLIT(dev_priv)) { > int found; > > -- > 2.30.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx