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

Kleber Souza kleber.souza at canonical.com
Wed Apr 22 17:01:51 UTC 2020


Hi Vicamo,

Your patch submission is targeting Eoan but the bug report says
this affects only Focal for the linux package. Which one is correct?

As this is a very large patchset, should be this be applied to the
oem kernels as well?


Thanks,
Kleber

On 22.04.20 16:11, You-Sheng Yang wrote:
> 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
> 




More information about the kernel-team mailing list