OSDN Git Service

drm/i915/skl+: Remove minimum block allocation from crtc state.
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Wed, 26 Oct 2016 13:41:33 +0000 (15:41 +0200)
committerMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Tue, 1 Nov 2016 13:43:58 +0000 (14:43 +0100)
This is not required any more now that we get fresh state from
drm_atomic_crtc_state_for_each_plane_state. Zero all state
in advance.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1477489299-25777-6-git-send-email-maarten.lankhorst@linux.intel.com
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/i915/intel_pm.c

index 66a1965..35a74fe 100644 (file)
@@ -500,10 +500,6 @@ struct intel_crtc_wm_state {
                        /* gen9+ only needs 1-step wm programming */
                        struct skl_pipe_wm optimal;
                        struct skl_ddb_entry ddb;
-
-                       /* minimum block allocation */
-                       uint16_t minimum_blocks[I915_MAX_PLANES];
-                       uint16_t minimum_y_blocks[I915_MAX_PLANES];
                } skl;
        };
 
index 909e1b1..086bf9e 100644 (file)
@@ -3378,8 +3378,8 @@ skl_allocate_pipe_ddb(struct intel_crtc_state *cstate,
        enum pipe pipe = intel_crtc->pipe;
        struct skl_ddb_entry *alloc = &cstate->wm.skl.ddb;
        uint16_t alloc_size, start, cursor_blocks;
-       uint16_t *minimum = cstate->wm.skl.minimum_blocks;
-       uint16_t *y_minimum = cstate->wm.skl.minimum_y_blocks;
+       uint16_t minimum[I915_MAX_PLANES] = {};
+       uint16_t y_minimum[I915_MAX_PLANES] = {};
        unsigned int total_data_rate;
        int num_active;
        int id, i;
@@ -3416,16 +3416,11 @@ skl_allocate_pipe_ddb(struct intel_crtc_state *cstate,
                intel_plane = to_intel_plane(plane);
                id = skl_wm_plane_id(intel_plane);
 
-               if (!pstate->visible) {
-                       minimum[id] = 0;
-                       y_minimum[id] = 0;
+               if (!pstate->visible)
                        continue;
-               }
-               if (plane->type == DRM_PLANE_TYPE_CURSOR) {
-                       minimum[id] = 0;
-                       y_minimum[id] = 0;
+
+               if (plane->type == DRM_PLANE_TYPE_CURSOR)
                        continue;
-               }
 
                minimum[id] = skl_ddb_min_alloc(pstate, 0);
                y_minimum[id] = skl_ddb_min_alloc(pstate, 1);