aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c25
1 files changed, 10 insertions, 15 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index efe829919755..300942a7d144 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -8332,11 +8332,6 @@ static int intel_crtc_set_config(struct drm_mode_set *set)
8332 8332
8333 ret = intel_set_mode(set->crtc, set->mode, 8333 ret = intel_set_mode(set->crtc, set->mode,
8334 set->x, set->y, set->fb); 8334 set->x, set->y, set->fb);
8335 if (ret) {
8336 DRM_ERROR("failed to set mode on [CRTC:%d], err = %d\n",
8337 set->crtc->base.id, ret);
8338 goto fail;
8339 }
8340 } else if (config->fb_changed) { 8335 } else if (config->fb_changed) {
8341 intel_crtc_wait_for_pending_flips(set->crtc); 8336 intel_crtc_wait_for_pending_flips(set->crtc);
8342 8337
@@ -8344,18 +8339,18 @@ static int intel_crtc_set_config(struct drm_mode_set *set)
8344 set->x, set->y, set->fb); 8339 set->x, set->y, set->fb);
8345 } 8340 }
8346 8341
8347 intel_set_config_free(config); 8342 if (ret) {
8348 8343 DRM_ERROR("failed to set mode on [CRTC:%d], err = %d\n",
8349 return 0; 8344 set->crtc->base.id, ret);
8350
8351fail: 8345fail:
8352 intel_set_config_restore_state(dev, config); 8346 intel_set_config_restore_state(dev, config);
8353 8347
8354 /* Try to restore the config */ 8348 /* Try to restore the config */
8355 if (config->mode_changed && 8349 if (config->mode_changed &&
8356 intel_set_mode(save_set.crtc, save_set.mode, 8350 intel_set_mode(save_set.crtc, save_set.mode,
8357 save_set.x, save_set.y, save_set.fb)) 8351 save_set.x, save_set.y, save_set.fb))
8358 DRM_ERROR("failed to restore config after modeset failure\n"); 8352 DRM_ERROR("failed to restore config after modeset failure\n");
8353 }
8359 8354
8360out_config: 8355out_config:
8361 intel_set_config_free(config); 8356 intel_set_config_free(config);