drm/i915: Enable fastset for non-boot modesets.
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 <maarten.lankhorst@linux.intel.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Hans de Goede <hdegoede@redhat.com> [mlankhorst: Use DRM_DEBUG_KMS. (j4ni)] Link: https://patchwork.freedesktop.org/patch/msgid/20190108160842.13396-3-maarten.lankhorst@linux.intel.com
This commit is contained in:
parent
5b1ec9ac7a
commit
d19f958db2
|
@ -11700,6 +11700,11 @@ intel_pipe_config_compare(struct drm_i915_private *dev_priv,
|
||||||
(current_config->base.mode.private_flags & I915_MODE_FLAG_INHERITED) &&
|
(current_config->base.mode.private_flags & I915_MODE_FLAG_INHERITED) &&
|
||||||
!(pipe_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 { \
|
#define PIPE_CONF_CHECK_X(name) do { \
|
||||||
if (current_config->name != pipe_config->name) { \
|
if (current_config->name != pipe_config->name) { \
|
||||||
pipe_config_err(adjust, __stringify(name), \
|
pipe_config_err(adjust, __stringify(name), \
|
||||||
|
@ -12723,8 +12728,7 @@ static int intel_atomic_check(struct drm_device *dev,
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i915_modparams.fastboot &&
|
if (intel_pipe_config_compare(dev_priv,
|
||||||
intel_pipe_config_compare(dev_priv,
|
|
||||||
to_intel_crtc_state(old_crtc_state),
|
to_intel_crtc_state(old_crtc_state),
|
||||||
pipe_config, true)) {
|
pipe_config, true)) {
|
||||||
crtc_state->mode_changed = false;
|
crtc_state->mode_changed = false;
|
||||||
|
|
Loading…
Reference in New Issue