On Wed, Feb 22, 2023 at 01:02:05AM +0200, Ville Syrjala wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > I just wanted to init DDI ports in VBT child device order > without any up front assumptions about which conflicting > child device defition is valid. That is pretty much what > we need to do for the ADL laptops with the phantom eDP vs. > native HDMI on DDI B. > > However that approach doesn't work for some of the weird > SKL boards that have a phantom eDP on DDI A+AUX A and > and a real DP->VGA converter on DDI E+AUX A. For those > I had to introduce HPD live status check during eDP init. > > One of the remaining concerns I still have is what happens > when we encounter VBTs with more AUX CH/DDC pin conflicts? > I think what we might want to do eventually is ignore the > conflicts as much as possible, and just init everything > based on VBT, trusting HPD to take care of things in the > end. That of course does have certain issues wrt. connector > forcing, but dunno if we can avoid those at all. > > Also I think we need to nuke all the platform default AUX > CH/DDC pin stuff, or at least only try to utilize those > only once we've consumed the VBT fully. > > v2: Fix SKL DDI A HPD live state > v3: Replace AUX CH/DDC pin sanitation with availability checks OK, it looks like this is finally doing something sane on pretty much all machines. The only slight concern left is on bat-rplp-1: [drm:intel_dp_aux_ch [i915]] [ENCODER:257:DDI TC2/PHY TC2] Using AUX CH E (platform default) [drm:intel_power_well_enable [i915]] enabling AUX_USBC2 [drm:intel_power_well_disable [i915]] disabling AUX_USBC2 [drm:intel_power_well_enable [i915]] enabling AUX_USBC2 [drm:intel_tc_port_init_mode [i915]] Port E/TC#2: init mode (legacy) [drm:intel_hdmi_init_connector [i915]] Adding HDMI connector on [ENCODER:257:DDI TC2/PHY TC2] [drm:intel_hdmi_init_connector [i915]] [ENCODER:257:DDI TC2/PHY TC2] Using DDC pin 0xa (VBT) So we're still having to use the platform default AUX CH for this HDMI TC legacy port. But I guess that should be relatively risk free as cross-wiring the TC ports in any way doesn't seem like something that should happen. Might not even be possible since a lot of the stuff for these is internal to the chip. -- Ville Syrjälä Intel