mbox series

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

Message ID 20200422141215.1548544-1-vicamo.yang@canonical.com
Headers show
Series Fix TC port in legacy/static mode can't be detected due TCCOLD | expand

Message

You-Sheng Yang April 22, 2020, 2:11 p.m. UTC
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

Comments

Kleber Sacilotto de Souza April 22, 2020, 5:01 p.m. UTC | #1
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
>
Timo Aaltonen April 23, 2020, 6:04 a.m. UTC | #2
On 22.4.2020 17.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.
> 
So this was to demonstrate what it would look like to backport to
earlier series, and for osp1 it would be an even bigger pile. Let's just
NAK this and concentrate on focal and up.
You-Sheng Yang April 23, 2020, 6:16 a.m. UTC | #3
Hi,

This bug was originally filed against kernel 5.0 oem-osp1, so back
porting to Eoan was in the beginning a side product for the process of
verification. And while 5.3 is also the latest kernel for Bionic LTS
series, I think it also means something for those LTS users.

However, PM suggested we may want to skip back porting to 5.0 oem-osp1
then, and ask users to upgrade to 5.6-oem instead. It's a realistic
suggestion as this is already the plan for next few months. Besides, it
already takes 50+ patches for 5.3 eoan kernel, and one can surely image
it may take even more for 5.0 oem-osp1. These DRM patches are very
likely to introduce new regressions and firmware problems, that's
probably not a risk we'd take, and that's why I placed a High on the
risk estimation. And since we're not going to backport this series to
5.0 oem-osp1, eoan should be skipped as well.

In short, I'm placing a NAK here and going to mark 5.0-oem-osp1 as
WONTFIX on launchpad.

Thank you,
You-Sheng Yang

On 2020-04-23 01:01, Kleber Souza wrote:
> 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
>>
>