Re: [PATCH 3/3] drm/i915/display: remove strap checks from gen 9

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Apr 13, 2021 at 06:45:16PM +0300, Ville Syrjälä wrote:
On Mon, Apr 12, 2021 at 11:09:27PM -0700, Lucas De Marchi wrote:
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 d62ce9c87748..5a03cbba0280 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -10883,34 +10883,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 (DISPLAY_VER(dev_priv) == 9) {

Should be >=10 I presume? Or did we want ot handle cnl along with

why >= 10? The only DISPLAY_VER() == 10 platforms out there are handled
in the branch above. I can make it >= 9, but not >= 10. Intention was to
handle skl/kbl here.


icl perhaps? Doesn't really matter I suppose, but it's surely
going to consfuse the me the next time I read this.

+		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);

DDI F isn't a thing on skl/derivatives, so I'd probably skip it on
those. Could just use IS_CNL_WITH_PORT_F() to match the looks of
the icl stuff.

I was actually looking at ICL and thinking "shouldn't this hack for
broken VBT be hidden in intel_bios.c?"  I think we should trust what we
parse from VBT everywhere  except of course in intel_bios.c where we
fixup when the VBT is wrong. Thoughts?

Thanks
Lucas De Marchi
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux