[PATCH v2 00/12][SRU][OEM-5.14]Fix i915 TypeC disconnect problems for Intel ADL-P

Chris Chiu chris.chiu at canonical.com
Thu Nov 25 10:10:13 UTC 2021


BugLink: https://bugs.launchpad.net/bugs/1952041

[Impact]
When the ADL-P system connects the external display via TypeC port, it will hang after unplugging the TypeC connector. The system will never come back until reboot.

[Fix]
Intel has released a patch set to fix the TypeC PHY connect/disconnect logic. The shift for ownership of PHY and power domain will be handled correctly for ADL-P.

[Test]
The ADL-P system will no longer freeze and the ownership will shift correctly after disconnecting the external display connects via TypeC port.

[Where problem could occur]
It's kind of a big refactor for the i915 TypeC PHY handling logic. Don't know if there's any problems on older platforms. Targeting only on Jammy/Unstable and latest OEM kernel for lower risk.

v2: remove SRU for U since #4 of this series should be cleanly cherry-picked to U and J.

Imre Deak (12):
  drm/i915/adlp/tc: Fix PHY connected check for Thunderbolt mode
  drm/i915/tc: Remove waiting for PHY complete during releasing
    ownership
  drm/i915/tc: Check for DP-alt, legacy sinks before taking PHY
    ownership
  drm/i915/tc: Add/use helpers to retrieve TypeC port properties
  drm/i915/tc: Don't keep legacy TypeC ports in connected state w/o a
    sink
  drm/i915/tc: Add a mode for the TypeC PHY's disconnected state
  drm/i915/tc: Refactor TC-cold block/unblock helpers
  drm/i915/tc: Avoid using legacy AUX PW in TBT mode
  drm/i915/icl/tc: Remove the ICL special casing during TC-cold blocking
  drm/i915/tc: Fix TypeC PHY connect/disconnect logic on ADL-P
  drm/i915/tc: Drop extra TC cold blocking from
    intel_tc_port_connected()
  drm/i915/tc: Fix system hang on ADL-P during TypeC PHY disconnect

 drivers/gpu/drm/i915/display/intel_ddi.c      |  34 +-
 drivers/gpu/drm/i915/display/intel_display.c  |   6 +-
 drivers/gpu/drm/i915/display/intel_display.h  |   1 +
 .../drm/i915/display/intel_display_power.c    |   4 +-
 .../drm/i915/display/intel_display_types.h    |   3 +
 drivers/gpu/drm/i915/display/intel_dp_aux.c   |   6 +-
 drivers/gpu/drm/i915/display/intel_dpll_mgr.c |   5 +-
 drivers/gpu/drm/i915/display/intel_tc.c       | 290 ++++++++++++------
 drivers/gpu/drm/i915/display/intel_tc.h       |   6 +-
 9 files changed, 224 insertions(+), 131 deletions(-)

-- 
2.25.1




More information about the kernel-team mailing list