]> Git Repo - J-linux.git/commitdiff
drm/i915: Enable fastset for non-boot modesets.
authorMaarten Lankhorst <[email protected]>
Tue, 8 Jan 2019 16:08:40 +0000 (17:08 +0100)
committerMaarten Lankhorst <[email protected]>
Thu, 24 Jan 2019 12:05:40 +0000 (13:05 +0100)
Now that our state comparison functions are pretty complete, we should
enable fastset by default when a modeset can be avoided. Even if we're
not completely certain about the inherited state, we can be certain
after the first modeset that our sw state matches the hw state.

There is one testcase explicitly testing fastset,
kms_panel_fitting.atomic-fastset but other testcases do so indirectly
because most tests don't clean up the display during exit, or otherwise
indirectly preserve mode by doing igt_display_reset or inheriting during
init.

Signed-off-by: Maarten Lankhorst <[email protected]>
Reviewed-by: Hans de Goede <[email protected]>
Cc: Daniel Vetter <[email protected]>
Reviewed-by: Hans de Goede <[email protected]>
[mlankhorst: Use DRM_DEBUG_KMS. (j4ni)]
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
drivers/gpu/drm/i915/intel_display.c

index d328599240cb2441e9a63fcb8f734b74baf7d621..a02ce5a47f44aba3fde5543d40b6d7dd274f6414 100644 (file)
@@ -11700,6 +11700,11 @@ intel_pipe_config_compare(struct drm_i915_private *dev_priv,
                (current_config->base.mode.private_flags & I915_MODE_FLAG_INHERITED) &&
                !(pipe_config->base.mode.private_flags & I915_MODE_FLAG_INHERITED);
 
+       if (fixup_inherited && !i915_modparams.fastboot) {
+               DRM_DEBUG_KMS("initial modeset and fastboot not set\n");
+               ret = false;
+       }
+
 #define PIPE_CONF_CHECK_X(name) do { \
        if (current_config->name != pipe_config->name) { \
                pipe_config_err(adjust, __stringify(name), \
@@ -12723,8 +12728,7 @@ static int intel_atomic_check(struct drm_device *dev,
                        return ret;
                }
 
-               if (i915_modparams.fastboot &&
-                   intel_pipe_config_compare(dev_priv,
+               if (intel_pipe_config_compare(dev_priv,
                                        to_intel_crtc_state(old_crtc_state),
                                        pipe_config, true)) {
                        crtc_state->mode_changed = false;
This page took 0.077425 seconds and 4 git commands to generate.