]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/i915/wm: Reject SAGV consistently when block_time_us==0
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 24 Mar 2026 13:48:35 +0000 (15:48 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 9 Apr 2026 15:06:34 +0000 (18:06 +0300)
commit38b4408489f2e55932e186fbcc1cc0c3379e7a86
tree3b5f4dfb9eecdf4465d21078f2ec1eb5830fcc43
parentacfc688bc51b661ed59c1065052282010aa64e50
drm/i915/wm: Reject SAGV consistently when block_time_us==0

We have three ways for the platform to indicate that
SAGV is not supported:
- pcode returns zero block time
- pcode returns only a single QGV point (icl+)
- pcode rejects the SAGV enable/disable command (pre-icl)

We don't currently consider all those factors when computing
pipe_sagv_reject, meaning we might still try to enable
SAGV when we should not.

I think one plausible scenario is when pcode returns a
zero block time, and all the pipes are disabled. In
that case intel_crtc_can_enable_sagv() will return true
for all pipes, and thus we might try to enable SAGV
despite pcode indicating that it's not supported.

Make sure pipe_sagv_reject will consistently reject
SAGV when our cached block time is zero. That will cover
all the aforementioned mechanisms by which SAGV can be
disabled.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patch.msgid.link/20260324134843.2364-2-ville.syrjala@linux.intel.com
Reviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
drivers/gpu/drm/i915/display/skl_watermark.c