drm/i915: Replace I915_MODE_FLAG_INHERITED with a boolean
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 29 Apr 2020 10:39:36 +0000 (13:39 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 29 May 2020 15:05:13 +0000 (18:05 +0300)
There's no reason for I915_MODE_FLAG_INHERITED to exist as a flag
anymore. Just make it a boolean.

v2: Deal with sanitize_watermarks()

CC: Sam Ravnborg <sam@ravnborg.org>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200429103936.11850-1-ville.syrjala@linux.intel.com
drivers/gpu/drm/i915/display/intel_atomic.c
drivers/gpu/drm/i915/display/intel_display.c
drivers/gpu/drm/i915/display/intel_display_types.h

index 20b73d5..630f49b 100644 (file)
@@ -249,11 +249,11 @@ intel_crtc_duplicate_state(struct drm_crtc *crtc)
        crtc_state->update_wm_post = false;
        crtc_state->fifo_changed = false;
        crtc_state->preload_luts = false;
+       crtc_state->inherited = false;
        crtc_state->wm.need_postvbl_update = false;
        crtc_state->fb_bits = 0;
        crtc_state->update_planes = 0;
        crtc_state->dsb = NULL;
-       crtc_state->mode_flags &= ~I915_MODE_FLAG_INHERITED;
 
        return &crtc_state->uapi;
 }
index b62a88d..0b5c150 100644 (file)
@@ -6424,8 +6424,7 @@ static bool hsw_post_update_enable_ips(const struct intel_crtc_state *old_crtc_s
         * We can't read out IPS on broadwell, assume the worst and
         * forcibly enable IPS on the first fastset.
         */
-       if (new_crtc_state->update_pipe &&
-           old_crtc_state->mode_flags & I915_MODE_FLAG_INHERITED)
+       if (new_crtc_state->update_pipe && old_crtc_state->inherited)
                return true;
 
        return !old_crtc_state->ips_enabled;
@@ -13605,8 +13604,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
        bool ret = true;
        u32 bp_gamma = 0;
        bool fixup_inherited = fastset &&
-               (current_config->mode_flags & I915_MODE_FLAG_INHERITED) &&
-               !(pipe_config->mode_flags & I915_MODE_FLAG_INHERITED);
+               current_config->inherited && !pipe_config->inherited;
 
        if (fixup_inherited && !fastboot_enabled(dev_priv)) {
                drm_dbg_kms(&dev_priv->drm,
@@ -14813,10 +14811,9 @@ static int intel_atomic_check(struct drm_device *dev,
        int ret, i;
        bool any_ms = false;
 
-       /* Catch I915_MODE_FLAG_INHERITED */
        for_each_oldnew_intel_crtc_in_state(state, crtc, old_crtc_state,
                                            new_crtc_state, i) {
-               if (new_crtc_state->mode_flags != old_crtc_state->mode_flags)
+               if (new_crtc_state->inherited != old_crtc_state->inherited)
                        new_crtc_state->uapi.mode_changed = true;
        }
 
@@ -15186,7 +15183,7 @@ static void intel_update_crtc(struct intel_atomic_state *state,
         * of enabling them on the CRTC's first fastset.
         */
        if (new_crtc_state->update_pipe && !modeset &&
-           old_crtc_state->mode_flags & I915_MODE_FLAG_INHERITED)
+           old_crtc_state->inherited)
                intel_crtc_arm_fifo_underrun(crtc, new_crtc_state);
 }
 
@@ -17520,7 +17517,7 @@ static int sanitize_watermarks_add_affected(struct drm_atomic_state *state)
                         * Preserve the inherited flag to avoid
                         * taking the full modeset path.
                         */
-                       crtc_state->mode_flags |= I915_MODE_FLAG_INHERITED;
+                       crtc_state->inherited = true;
                }
        }
 
@@ -17670,7 +17667,7 @@ retry:
                         * happen only for the first real commit from userspace.
                         * So preserve the inherited flag for the time being.
                         */
-                       crtc_state->mode_flags |= I915_MODE_FLAG_INHERITED;
+                       crtc_state->inherited = true;
 
                        ret = drm_atomic_add_affected_planes(state, &crtc->base);
                        if (ret)
@@ -18450,7 +18447,7 @@ static void intel_modeset_readout_hw_state(struct drm_device *dev)
                         * set a flag to indicate that a full recalculation is
                         * needed on the next commit.
                         */
-                       crtc_state->mode_flags |= I915_MODE_FLAG_INHERITED;
+                       crtc_state->inherited = true;
 
                        intel_crtc_compute_pixel_rate(crtc_state);
 
index b0346f6..363d30c 100644 (file)
@@ -631,7 +631,6 @@ struct intel_crtc_scaler_state {
 };
 
 /* {crtc,crtc_state}->mode_flags */
-#define I915_MODE_FLAG_INHERITED (1<<0)
 /* Flag to get scanline using frame time stamps */
 #define I915_MODE_FLAG_GET_SCANLINE_FROM_TIMESTAMP (1<<1)
 /* Flag to use the scanline counter instead of the pixel counter */
@@ -828,6 +827,7 @@ struct intel_crtc_state {
        bool update_wm_pre, update_wm_post; /* watermarks are updated */
        bool fifo_changed; /* FIFO split is changed */
        bool preload_luts;
+       bool inherited; /* state inherited from BIOS? */
 
        /* Pipe source size (ie. panel fitter input size)
         * All planes will be positioned inside this space,