[SRU][E][PATCH 00/52] Fix TC port in legacy/static mode can't be detected due TCCOLD

You-Sheng Yang vicamo.yang at canonical.com
Wed Apr 22 14:11:23 UTC 2020


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

[Impact]
External monitor connected via a Type-C dongle when device is in PC10
may not be light up.

[Fix]
Patches series https://patchwork.freedesktop.org/series/75941/ from
intel-gfx mailing list, which has been merged in drm-tip tree with tip
commit 0f8925090ac7. 42 additional commits also cherry-picked to
complete TC functions, and yet two more for fixing regressions
introduced by them.

[Test Case]
1. Ensure device may enter PC10.

   $ sudo powertop --auto-tune
   $ sudo watch cat /sys/kernel/debug/pmc_core/package_cstate_show

   Press Meta+L to lock screen for a while and unlock again, "Package
   C10" field should have non-zero counts.

2. Press Meta+L to lock screen again.

3. After screen turns black and wait a few more seconds, connect
external
   monitor to a type C port via a type C dongle and wake the device.

4. Check if external monitor is also light up as an extended/mirrored
   screen.

[Regression Potential]
High.

Anusha Srivatsa (1):
  drm/i915: Add modular FIA

Chris Wilson (1):
  drm/i915/display: Handle lost primary_port across suspend

Daniele Ceraolo Spurio (6):
  drm/i915: use vfuncs for reg_read/write_fw_domains
  drm/i915: kill uncore_sanitize
  drm/i915: kill uncore_to_i915
  drm/i915: skip forcewake actions on forcewake-less uncore
  drm/i915: dynamically allocate forcewake domains
  drm/i915/gvt: decouple check_vgpu() from uncore_init()

Imre Deak (21):
  drm/i915/icl: Add support to read out the TBT PLL HW state
  drm/i915: Tune down WARNs about TBT AUX power well enabling
  drm/i915: Move the TypeC port handling code to a separate file
  drm/i915: Sanitize the terminology used for TypeC port modes
  drm/i915: Don't enable the DDI-IO power in the TypeC TBT-alt mode
  drm/i915: Use the correct AUX power domain in TypeC TBT-alt mode
  drm/i915: Unify the TypeC port notation in debug/error messages
  drm/i915: Factor out common parts from TypeC port handling functions
  drm/i915: Wait for TypeC PHY complete flag to clear in safe mode
  drm/i915: Handle the TCCOLD power-down event
  drm/i915: Sanitize the TypeC connect/detect sequences
  drm/i915: Fix the TypeC port mode sanitization during loading/resume
  drm/i915: Keep the TypeC port mode fixed for detect/AUX transfers
  drm/i915: Sanitize the shared DPLL reserve/release interface
  drm/i915: Sanitize the shared DPLL find/reference interface
  drm/i915/icl: Split getting the DPLLs to port type specific functions
  drm/i915/icl: Reserve all required PLLs for TypeC ports
  drm/i915: Keep the TypeC port mode fixed when the port is active
  drm/i915: Add state verification for the TypeC port mode
  drm/i915: Remove unneeded disconnect in TypeC legacy port mode
  drm/i915: WARN about invalid lane reversal in TBT-alt/DP-alt modes

José Roberto de Souza (9):
  drm/i915/dp: Do not switch aux to TBT mode for non-TC ports
  drm/i915/display: Move out code to return the digital_port of the aux
    ch
  drm/i915/display: Add intel_legacy_aux_to_power_domain()
  drm/i915/display: Split hsw_power_well_enable() into two
  drm/i915/tc/icl: Implement TC cold sequences
  drm/i915/tc: Skip ref held check for TC legacy aux power wells
  drm/i915/tc/tgl: Implement TC cold sequences
  drm/i915/tc: Catch TC users accessing FIA registers without enable aux
  drm/i915/tc: Do not warn when aux power well of static TC ports
    timeout

Lucas De Marchi (3):
  drm/i915: fix include order in intel_tc.*
  drm/i915: make new intel_tc.c use uncore accessors
  drm/i915: move intel_ddi_set_fia_lane_count to intel_tc.c

Maarten Lankhorst (6):
  drm/i915: Pass intel_crtc_state to needs_modeset()
  drm/i915: Convert most of atomic commit to take more intel state
  drm/i915: Convert hw state verifier to take more intel state, v2.
  drm/i915: Use intel_crtc_state in sanitize_watermarks() too
  drm/i915: Pass intel state to plane functions as well
  drm/i915: Use intel state as much as possible in wm code

Matt Roper (5):
  drm/i915/icl: Drop port parameter to icl_get_combo_buf_trans()
  drm/i915/gen11: Start distinguishing 'phy' from 'port'
  drm/i915/gen11: Program ICL_DPCLKA_CFGCR0 according to PHY
  drm/i915/gen11: Convert combo PHY logic to use new 'enum phy'
    namespace
  drm/i915: Transition port type checks to phy checks

 drivers/gpu/drm/i915/Makefile                 |   3 +-
 drivers/gpu/drm/i915/display/icl_dsi.c        | 138 ++-
 .../gpu/drm/i915/display/intel_atomic_plane.c |  56 +-
 .../gpu/drm/i915/display/intel_atomic_plane.h |   5 +-
 drivers/gpu/drm/i915/display/intel_bios.c     |   4 +-
 .../gpu/drm/i915/display/intel_combo_phy.c    | 133 ++-
 .../gpu/drm/i915/display/intel_combo_phy.h    |   4 +-
 drivers/gpu/drm/i915/display/intel_ddi.c      | 309 +++---
 drivers/gpu/drm/i915/display/intel_display.c  | 899 ++++++++++--------
 drivers/gpu/drm/i915/display/intel_display.h  |  33 +-
 .../drm/i915/display/intel_display_power.c    | 232 ++++-
 .../drm/i915/display/intel_display_power.h    |   1 +
 drivers/gpu/drm/i915/display/intel_dp.c       | 254 +----
 drivers/gpu/drm/i915/display/intel_dp.h       |   2 -
 drivers/gpu/drm/i915/display/intel_dp_mst.h   |   8 +-
 drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 523 +++++++---
 drivers/gpu/drm/i915/display/intel_dpll_mgr.h |  25 +-
 drivers/gpu/drm/i915/display/intel_dsi.h      |  12 +-
 drivers/gpu/drm/i915/display/intel_tc.c       | 619 ++++++++++++
 drivers/gpu/drm/i915/display/intel_tc.h       |  35 +
 drivers/gpu/drm/i915/i915_drv.c               |  16 +-
 drivers/gpu/drm/i915/i915_drv.h               |  23 +-
 drivers/gpu/drm/i915/i915_pvinfo.h            |   5 +-
 drivers/gpu/drm/i915/i915_reg.h               | 100 +-
 drivers/gpu/drm/i915/i915_vgpu.c              |  35 +-
 drivers/gpu/drm/i915/i915_vgpu.h              |   2 +-
 drivers/gpu/drm/i915/intel_device_info.h      |   1 +
 drivers/gpu/drm/i915/intel_drv.h              |  28 +-
 drivers/gpu/drm/i915/intel_pm.c               | 413 ++++----
 drivers/gpu/drm/i915/intel_pm.h               |   4 +-
 drivers/gpu/drm/i915/intel_uncore.c           | 425 +++++----
 drivers/gpu/drm/i915/intel_uncore.h           |  23 +-
 drivers/gpu/drm/i915/selftests/mock_uncore.c  |   4 +-
 33 files changed, 2726 insertions(+), 1648 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/display/intel_tc.c
 create mode 100644 drivers/gpu/drm/i915/display/intel_tc.h

-- 
2.25.1




More information about the kernel-team mailing list