]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
drm/i915: Reject wm levels that exceed vblank time
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 6 Mar 2023 16:48:54 +0000 (18:48 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 10 Mar 2023 18:01:55 +0000 (20:01 +0200)
commit636f973c123fc64861cf41457a68302078b323e1
treeea2d50bcd1c4b21faeb66261d3bd96ae86c0f6ae
parent6b931346ed0f7ec3238700d17742d092f164ddc0
drm/i915: Reject wm levels that exceed vblank time

The pipe needs a certain amount of time during vblank to prefill
sufficiently. If the vblank is too short the relevant watermark
level must be disabled.

Start implementing the necessary calculations to check this.
Scaler and DSC prefill are left out for now as handling those
is not entirely trivial.

Also the PSR latency reporting override chicken bits would
need to be correctly configured based on the results of these
calculations. Just add some FIXMEs for now.

TODO: bspec isn't exactly crystal clear in its explanations
      so quite a few open questions remain...

v2: Skip inacive pipes
    Handle SAGV latency
v3: Rebase
v4: Fix handling of disabled wm levels (latency == 0)

Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230306164854.25928-1-ville.syrjala@linux.intel.com
drivers/gpu/drm/i915/display/skl_watermark.c