Slightly easier to work with than an array of bools.

Signed-off-by: Matt Roper <[email protected]>
---
 drivers/gpu/drm/i915/i915_drv.h |  2 +-
 drivers/gpu/drm/i915/intel_pm.c | 10 +++++-----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 35cebd4..34b843d 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1575,7 +1575,7 @@ struct skl_ddb_allocation {
 };
 
 struct skl_wm_values {
-       bool dirty[I915_MAX_PIPES];
+       unsigned dirty_pipes;
        struct skl_ddb_allocation ddb;
        uint32_t wm_linetime[I915_MAX_PIPES];
        uint32_t plane[I915_MAX_PIPES][I915_MAX_PLANES][8];
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 0a7f4d7..be7fbff 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -3454,7 +3454,7 @@ static void skl_write_wm_values(struct drm_i915_private 
*dev_priv,
                int i, level, max_level = ilk_wm_max_level(dev);
                enum pipe pipe = crtc->pipe;
 
-               if (!new->dirty[pipe])
+               if ((new->dirty_pipes & drm_crtc_mask(&crtc->base)) == 0)
                        continue;
 
                I915_WRITE(PIPE_WM_LINETIME(pipe), new->wm_linetime[pipe]);
@@ -3679,7 +3679,7 @@ static void skl_update_other_pipe_wm(struct drm_device 
*dev,
                WARN_ON(!wm_changed);
 
                skl_compute_wm_results(dev, &pipe_wm, r, intel_crtc);
-               r->dirty[intel_crtc->pipe] = true;
+               r->dirty_pipes |= drm_crtc_mask(&intel_crtc->base);
        }
 }
 
@@ -3756,7 +3756,7 @@ static void skl_update_wm(struct drm_crtc *crtc)
 
 
        /* Clear all dirty flags */
-       memset(results->dirty, 0, sizeof(bool) * I915_MAX_PIPES);
+       results->dirty_pipes = 0;
 
        skl_clear_wm(results, intel_crtc->pipe);
 
@@ -3764,7 +3764,7 @@ static void skl_update_wm(struct drm_crtc *crtc)
                return;
 
        skl_compute_wm_results(dev, pipe_wm, results, intel_crtc);
-       results->dirty[intel_crtc->pipe] = true;
+       results->dirty_pipes |= drm_crtc_mask(&intel_crtc->base);
 
        skl_update_other_pipe_wm(dev, crtc, results);
        skl_write_wm_values(dev_priv, results);
@@ -3923,7 +3923,7 @@ static void skl_pipe_wm_get_hw_state(struct drm_crtc 
*crtc)
        if (!intel_crtc->active)
                return;
 
-       hw->dirty[pipe] = true;
+       hw->dirty_pipes |= drm_crtc_mask(crtc);
 
        active->linetime = hw->wm_linetime[pipe];
 
-- 
2.1.4

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to