[PATCH 00/31][SRU][OEM-5.6] Add TGL+ SAGV display support
You-Sheng Yang
vicamo.yang at canonical.com
Fri Aug 14 06:57:09 UTC 2020
BugLink: https://bugs.launchpad.net/bugs/1891451
[Impact]
On platforms with UHD panel, massive drawing area updates may cause
screen to flash as half-baked render buffers with black areas being
renedered.
[Fix]
This turns out to be the lack of full support to Intel System Agent
Geyserville (SAGV), which has been landed to kernel v5.8. The required
fix resides in https://patchwork.freedesktop.org/series/75129/, which
seems a rolling set that its early parts have been committed separatedly
several times. This patchset also depends on
https://patchwork.freedesktop.org/series/72301/, which attempts to make
global state handling more standardized.
[Test Case]
1. Trigger massive rect updates, e.g. cat a lengthy file in xterm, dump
kernel git history, etc.
2. Observe if screen flashes with half black panes, sometimes black
stripes, etc.
[Regression Potential]
Medium. This is to backport a new feature landed to kernel early this
year, even there is no later fixes patch found so far, it could still
introduce incompatibility to older kernels. So far it behaves on both
UHD and other lower resolutions.
Matt Roper (1):
drm/i915/gen11: Add additional pcode status values
Stanislav Lisovskiy (14):
drm/i915: Start passing latency as parameter
drm/i915: Prepare to extract gen specific functions from
intel_can_enable_sagv
drm/i915: Add pre/post plane updates for SAGV
drm/i915: Add intel_atomic_get_bw_*_state helpers
drm/i915: Use bw state for per crtc SAGV evaluation
drm/i915: Track active_pipes in bw_state
drm/i915: Rename bw_state to new_bw_state
drm/i915: Introduce skl_plane_wm_level accessor.
drm/i915: Extract skl SAGV checking
drm/i915: Make active_pipes check skl specific
drm/i915: Added required new PCode commands
drm/i915: Add TGL+ SAGV support
drm/i915: Restrict qgv points which don't have enough bandwidth.
drm/i915: Enable SAGV support for Gen12
Ville Syrjälä (16):
drm/i915: Move more cdclk state handling into the cdclk code
drm/i915: Collect more cdclk state under the same roof
drm/i915: s/need_cd2x_updare/can_cd2x_update/
drm/i915: s/cdclk_state/cdclk_config/
drm/i915: Simplify intel_set_cdclk_{pre,post}_plane_update() calling
convention
drm/i915: Extract intel_cdclk_state
drm/i915: swap() the entire cdclk state
drm/i915: s/init_cdclk/init_cdclk_hw/
drm/i915: Move intel_atomic_state_free() into intel_atomic.c
drm/i915: Introduce better global state handling
drm/i915: Convert bandwidth state to global state
drm/i915: Introduce intel_calc_active_pipes()
drm/i915: Don't check uv_wm in skl_plane_wm_equals()
drm/i915: Don't check for wm changes until we've compute the wms fully
drm/i915: Enable transition watermarks for glk
drm/i915: Implement display w/a 1140 for glk/cnl
drivers/gpu/drm/i915/Makefile | 1 +
drivers/gpu/drm/i915/display/intel_atomic.c | 27 +-
drivers/gpu/drm/i915/display/intel_atomic.h | 5 +-
.../gpu/drm/i915/display/intel_atomic_plane.c | 6 +-
drivers/gpu/drm/i915/display/intel_audio.c | 6 +-
drivers/gpu/drm/i915/display/intel_bw.c | 213 ++++--
drivers/gpu/drm/i915/display/intel_bw.h | 31 +-
drivers/gpu/drm/i915/display/intel_cdclk.c | 630 +++++++++---------
drivers/gpu/drm/i915/display/intel_cdclk.h | 27 +-
drivers/gpu/drm/i915/display/intel_display.c | 134 ++--
drivers/gpu/drm/i915/display/intel_display.h | 3 +
.../drm/i915/display/intel_display_power.c | 24 +-
.../drm/i915/display/intel_display_types.h | 32 +-
.../gpu/drm/i915/display/intel_global_state.c | 223 +++++++
.../gpu/drm/i915/display/intel_global_state.h | 87 +++
drivers/gpu/drm/i915/i915_drv.h | 67 +-
drivers/gpu/drm/i915/i915_reg.h | 6 +
drivers/gpu/drm/i915/intel_pm.c | 379 +++++++++--
drivers/gpu/drm/i915/intel_pm.h | 6 +-
drivers/gpu/drm/i915/intel_sideband.c | 6 +
20 files changed, 1326 insertions(+), 587 deletions(-)
create mode 100644 drivers/gpu/drm/i915/display/intel_global_state.c
create mode 100644 drivers/gpu/drm/i915/display/intel_global_state.h
--
2.27.0
More information about the kernel-team
mailing list