Message ID | 20211124102235.447553-1-chris.chiu@canonical.com |
---|---|
Headers | show |
Series | Fix i915 TypeC disconnect problems for Intel ADL-P | expand |
On Wed, Nov 24, 2021 at 6:22 PM Chris Chiu <chris.chiu@canonical.com> wrote: > > 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 Unstable and latest OEM kernel for lower risk. > The patch #4 of this series is particularly for 5.14 kernel. Jammy and Unstable should cherry-pick the patch cleanly. Proposed a v2 for the OEM-5.14 and sent another SRU for Jammy and Unstable > 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 >