Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2d05eae1 authored by Chris Wilson's avatar Chris Wilson Committed by Daniel Vetter
Browse files

drm/i915: Propagate errors back from fb set-base



Along the modesetting short cut where we skip trying to do a full
modeset and instead simply update the framebuffer base registers, we
failed to handle any errors reported.

This regression has been introduced in

commit 94352cf9
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Thu Jul 5 22:51:56 2012 +0200

    drm/i915: push crtc->fb update into pipe_set_base

Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 1c98b487
Loading
Loading
Loading
Loading
+10 −15
Original line number Diff line number Diff line
@@ -8332,11 +8332,6 @@ static int intel_crtc_set_config(struct drm_mode_set *set)

		ret = intel_set_mode(set->crtc, set->mode,
				     set->x, set->y, set->fb);
		if (ret) {
			DRM_ERROR("failed to set mode on [CRTC:%d], err = %d\n",
				  set->crtc->base.id, ret);
			goto fail;
		}
	} else if (config->fb_changed) {
		intel_crtc_wait_for_pending_flips(set->crtc);

@@ -8344,10 +8339,9 @@ static int intel_crtc_set_config(struct drm_mode_set *set)
					  set->x, set->y, set->fb);
	}

	intel_set_config_free(config);

	return 0;

	if (ret) {
		DRM_ERROR("failed to set mode on [CRTC:%d], err = %d\n",
			  set->crtc->base.id, ret);
fail:
		intel_set_config_restore_state(dev, config);

@@ -8356,6 +8350,7 @@ fail:
		    intel_set_mode(save_set.crtc, save_set.mode,
				   save_set.x, save_set.y, save_set.fb))
			DRM_ERROR("failed to restore config after modeset failure\n");
	}

out_config:
	intel_set_config_free(config);