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 |
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 >
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.
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 >> >