summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_drv.h
diff options
context:
space:
mode:
authorVille Syrjälä2017-03-02 18:14:56 +0100
committerVille Syrjälä2017-03-03 15:50:10 +0100
commit5012e604891a8ac3eafc7f59335dc688a6c388f6 (patch)
tree70884121ffd7404e1b9e12a5d16d7df402e337fb /drivers/gpu/drm/i915/intel_drv.h
parentdrm/i915: Plop vlv/chv fifo sizes into crtc state (diff)
downloadkernel-qcow2-linux-5012e604891a8ac3eafc7f59335dc688a6c388f6.tar.gz
kernel-qcow2-linux-5012e604891a8ac3eafc7f59335dc688a6c388f6.tar.xz
kernel-qcow2-linux-5012e604891a8ac3eafc7f59335dc688a6c388f6.zip
drm/i915: Compute VLV/CHV FIFO sizes based on the PM2 watermarks
Let's compute the watermarks first and the FIFO size second. This way we can make sure the FIFO split is the most accommodating to the watermarks. Previously we could have potentially computed a FIFO split that couldn't accommodate the PM2 watermarks simply due to a bad split even if the total FIFO size would have been sufficient. It'll also allow us to avoid recomputing the wms for all planes whenever the FIFO split would change. Thus we don't have to add any extra planes to the state when the FIFO needs to be repartitioned. To help with this we'll keep around copies of the non-inverted watermarks in the crtc state. For now that doesn't help too much, but once we start to do the watermark computation only for the planes that change we'll need the non-inverted values around for the other planes. v2: s/noninverted/raw/ for consistency with other platforms Fix the memset() of the "raw" watermarks Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/20170302171508.1666-7-ville.syrjala@linux.intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/intel_drv.h')
-rw-r--r--drivers/gpu/drm/i915/intel_drv.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 26b0ce0837df..6f6c29cdae73 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -538,6 +538,8 @@ struct intel_crtc_wm_state {
} skl;
struct {
+ /* "raw" watermarks (not inverted) */
+ struct vlv_pipe_wm raw[NUM_VLV_WM_LEVELS];
/* optimal watermarks (inverted) */
struct vlv_wm_state optimal;
/* display FIFO split */