[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