[Intel-gfx] [PATCH v3 00/22] drm/i915: Init DDI ports in VBT order
Kai-Heng Feng
kai.heng.feng at canonical.com
Fri May 26 04:48:58 UTC 2023
On Wed, Feb 22, 2023 at 7:02 AM Ville Syrjala
<ville.syrjala at linux.intel.com> wrote:
>
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> 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
The series can solve HDMI detection issue on an ADL laptop.
The caveat is that it can't be cleanly applied to current drm-tip, so
the test was conducted on older drm tag.
Tested-by: Kai-Heng Feng <kai.heng.feng at canonical.com>
> Ville Syrjälä (22):
> drm/i915: Populate dig_port->connected() before connector init
> drm/i915: Fix SKL DDI A digital port .connected()
> drm/i915: Get rid of the gm45 HPD live state nonsense
> drm/i915: Introduce <platoform>_hotplug_mask()
> drm/i915: Introduce intel_hpd_detection()
> drm/i915: Check HPD live state during eDP probe
> drm/i915: Sanitize child devices later
> drm/i915: Split map_aux_ch() into per-platform arrays
> drm/i915: Flip VBT DDC pin maps around
> drm/i915: Nuke intel_bios_is_port_dp_dual_mode()
> drm/i915: Remove bogus DDI-F from hsw/bdw output init
> drm/i915: Introduce device info port_mask
> drm/i915: Assert that device info bitmasks have enough bits
> drm/i915: Assert that the port being initialized is valid
> drm/i915: Beef up SDVO/HDMI port checks
> drm/i915: Init DDI outputs based on port_mask on skl+
> drm/i915: Try to initialize DDI/ICL+ DSI ports for every VBT child
> device
> drm/i915: Convert HSW/BDW to use VBT driven DDI probe
> drm/i915: Remove DDC pin sanitation
> drm/i915: Remove AUX CH sanitation
> drm/i915: Initialize dig_port->aux_ch to NONE to be sure
> drm/i915: Only populate aux_ch is really needed
>
> drivers/gpu/drm/i915/display/g4x_dp.c | 39 +-
> drivers/gpu/drm/i915/display/g4x_hdmi.c | 26 +-
> drivers/gpu/drm/i915/display/icl_dsi.c | 11 +-
> drivers/gpu/drm/i915/display/icl_dsi.h | 6 +-
> drivers/gpu/drm/i915/display/intel_bios.c | 422 +++++++-----------
> drivers/gpu/drm/i915/display/intel_bios.h | 12 +-
> drivers/gpu/drm/i915/display/intel_crt.c | 2 +
> drivers/gpu/drm/i915/display/intel_ddi.c | 148 ++++--
> drivers/gpu/drm/i915/display/intel_ddi.h | 5 +-
> drivers/gpu/drm/i915/display/intel_display.c | 89 +---
> drivers/gpu/drm/i915/display/intel_display.h | 2 +
> .../gpu/drm/i915/display/intel_display_core.h | 2 -
> drivers/gpu/drm/i915/display/intel_dp.c | 28 ++
> drivers/gpu/drm/i915/display/intel_dp_aux.c | 51 ++-
> drivers/gpu/drm/i915/display/intel_dvo.c | 2 +
> drivers/gpu/drm/i915/display/intel_hdmi.c | 78 +++-
> drivers/gpu/drm/i915/display/intel_sdvo.c | 20 +-
> drivers/gpu/drm/i915/i915_irq.c | 365 ++++++++++++---
> drivers/gpu/drm/i915/i915_irq.h | 2 +
> drivers/gpu/drm/i915/i915_pci.c | 31 ++
> drivers/gpu/drm/i915/i915_reg.h | 13 +-
> drivers/gpu/drm/i915/intel_device_info.c | 9 +
> drivers/gpu/drm/i915/intel_device_info.h | 1 +
> 23 files changed, 843 insertions(+), 521 deletions(-)
>
> --
> 2.39.2
>
>
More information about the Intel-gfx
mailing list