]> git.karo-electronics.de Git - linux-beck.git/commitdiff
drm/i915/gen9: Give one extra block per line for SKL plane WM calculations
authorMatt Roper <matthew.d.roper@intel.com>
Thu, 4 Aug 2016 21:08:00 +0000 (14:08 -0700)
committerMatt Roper <matthew.d.roper@intel.com>
Thu, 4 Aug 2016 23:46:49 +0000 (16:46 -0700)
The bspec was updated a couple weeks ago to add an extra block per line
to plane watermark calculations for linear pixel formats.

Bspec update 115327 description:
  "Gen9+ - Updated the plane blocks per line calculation for linear
  cases. Adds +1 for all linear cases to handle the non-block aligned
  stride cases."

Cc: Lyude <cpaul@redhat.com>
Cc: drm-intel-fixes@lists.freedesktop.org
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1470344880-27394-1-git-send-email-matthew.d.roper@intel.com
Reviewed-by: Lyude <cpaul@redhat.com>
drivers/gpu/drm/i915/intel_pm.c

index 63f454a8e8118e436e7158a6dd986699309db2c8..948f24418eac75f2a07afe46975c095c7435dc8c 100644 (file)
@@ -3352,6 +3352,8 @@ static uint32_t skl_wm_method2(uint32_t pixel_rate, uint32_t pipe_htotal,
                plane_bytes_per_line *= 4;
                plane_blocks_per_line = DIV_ROUND_UP(plane_bytes_per_line, 512);
                plane_blocks_per_line /= 4;
+       } else if (tiling == DRM_FORMAT_MOD_NONE) {
+               plane_blocks_per_line = DIV_ROUND_UP(plane_bytes_per_line, 512) + 1;
        } else {
                plane_blocks_per_line = DIV_ROUND_UP(plane_bytes_per_line, 512);
        }