[SRU] [PULL] [OEM-6.1] [PATCH 00/41] Fix screen that remains blank forever after it gets locked
Kai-Heng Feng
kai.heng.feng at canonical.com
Fri Mar 3 14:40:46 UTC 2023
BugLink: https://bugs.launchpad.net/bugs/2009164
[Impact]
Once screen is locked under gnome-shell, the screen never wakes up and
remains in blank forever.
[Fix]
"drm/i915: Create resized LUTs for ivb+ split gamma mode" makes gamma
LUT operations in atomic context, so userspace can no longer misuse libdrm.
"drm/i915: Rework legacy LUT handling" starts to use the reworked gamma
LUT.
Pull the whole series and series they depends upon to properly support
gamma LUT.
[Test]
The easier way to reproduce the issue is to
1) Login under Wayland
2) Logout and login under X
3) Go back to wayland
4) Super + L to screenlock
With the LUT reworked series applied, screen can always come back alive.
[Where problems could occur]
Regression can happen on refactoring patches with "no functional change
intended", let alone overhauls like this one.
So only OEM-6.1 and Unstable are targeted to contain the potential
regression.
----------------------------------------------------------------
The following changes since commit bd85cf30cf96a979ee8cb82a9322ea6ec4ff2940:
UBUNTU: Ubuntu-oem-6.1-6.1.0-1008.8 (2023-03-03 11:27:39 +0200)
are available in the Git repository at:
git+ssh://kaihengfeng@git.launchpad.net/~kaihengfeng/+git/linux tags/lp2006667-oem-6.1
for you to fetch changes up to 6d60af37ba26921d04f5e3ec7f6795aea7d92853:
drm/i915: Add 10bit gamma mode for gen2/3 (2023-03-03 22:23:11 +0800)
----------------------------------------------------------------
Ville Syrjälä (41):
drm/i915: Remove PLL asserts from .load_luts()
drm/i915: Split up intel_color_init()
drm/i915: Simplify the intel_color_init_hooks() if ladder
drm/i915: Clean up intel_color_init_hooks()
drm/i915: Change glk_load_degamma_lut() calling convention
drm/i915: Make ilk_load_luts() deal with degamma
drm/i915: Introduce crtc_state->{pre,post}_csc_lut
drm/i915: Assert {pre,post}_csc_lut were assigned sensibly
drm/i915: Clean up some namespacing
drm/i915: Get rid of glk_load_degamma_lut_linear()
drm/i915: Stop loading linear degamma LUT on glk needlessly
drm/i915: Use sizeof(variable) instead sizeof(type)
drm/i915: Use _MMIO_PIPE() for SKL_BOTTOM_COLOR
drm/i915: s/dev_priv/i915/ in intel_color.c
drm/i915: s/icl_load_gcmax/ivb_load_lut_max/
drm/i915: Split ivb_load_lut_ext_max() into two parts
drm/i915: Deconfuse the ilk+ 12.4 LUT entry functions
drm/i915: Pass limited_range explicitly to ilk_csc_convert_ctm()
drm/i915: Reuse ilk_gamma_mode() on ivb+
drm/i915: Reject YCbCr output with degamma+gamma on pre-icl
drm/i915: Share {csc,gamma}_enable calculation for ilk/snb vs. ivb+
drm/i915: Create resized LUTs for ivb+ split gamma mode
drm/i915: Clean up legacy palette defines
drm/i915: Clean up 10bit precision palette defines
drm/i915: Clean up 12.4bit precision palette defines
drm/i915: Clean up chv CGM (de)gamma defines
drm/i915: Reorder 12.4 lut udw vs. ldw functions
drm/i915: Fix adl+ degamma LUT size
drm/i915: s/gamma/post_csc_lut/
drm/i915: Add glk+ degamma readout
drm/i915: Read out CHV CGM degamma
drm/i915: Add gamma/degamma readout for bdw+
drm/i915: Add gamma/degamma readout for ivb/hsw
drm/i915: Make ilk_read_luts() capable of degamma readout
drm/i915: Prep for C8 palette readout
drm/i915: Make .read_luts() mandatory
drm/i915: Finish the LUT state checker
drm/i915: Rework legacy LUT handling
drm/i915: Use hw degamma LUT for sw gamma on glk with YCbCr output
drm/i915: Use gamma LUT for RGB limited range compression
drm/i915: Add 10bit gamma mode for gen2/3
drivers/gpu/drm/i915/display/intel_atomic.c | 8 +
drivers/gpu/drm/i915/display/intel_color.c | 1962 ++++++++++++++------
drivers/gpu/drm/i915/display/intel_color.h | 14 +-
drivers/gpu/drm/i915/display/intel_crtc.c | 5 +-
.../gpu/drm/i915/display/intel_crtc_state_dump.c | 12 +-
drivers/gpu/drm/i915/display/intel_display.c | 40 +-
drivers/gpu/drm/i915/display/intel_display_core.h | 5 +
drivers/gpu/drm/i915/display/intel_display_types.h | 4 +
drivers/gpu/drm/i915/display/intel_drrs.c | 4 +-
drivers/gpu/drm/i915/display/intel_drrs.h | 2 +-
drivers/gpu/drm/i915/display/intel_modeset_setup.c | 6 +
drivers/gpu/drm/i915/i915_pci.c | 12 +-
drivers/gpu/drm/i915/i915_reg.h | 70 +-
13 files changed, 1534 insertions(+), 610 deletions(-)
More information about the kernel-team
mailing list