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

Commit c964b129 authored by Dave Airlie's avatar Dave Airlie Committed by Dave Airlie
Browse files

drm/kms: don't try to shortcut drm mode set function



We have a drm_set_config which takes a crtc/encoder/mode setup,
and checks it to see if it can shortcut and just do a base setup,
or whether a complete mode setting is required.

Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent e8a13441
Loading
Loading
Loading
Loading
+0 −19
Original line number Diff line number Diff line
@@ -561,7 +561,6 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
	int saved_x, saved_y;
	struct drm_encoder *encoder;
	bool ret = true;
	bool depth_changed, bpp_changed;

	adjusted_mode = drm_mode_duplicate(dev, mode);

@@ -570,15 +569,6 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
	if (!crtc->enabled)
		return true;

	if (old_fb && crtc->fb) {
		depth_changed = (old_fb->depth != crtc->fb->depth);
		bpp_changed = (old_fb->bits_per_pixel !=
			       crtc->fb->bits_per_pixel);
	} else {
		depth_changed = true;
		bpp_changed = true;
	}

	saved_mode = crtc->mode;
	saved_x = crtc->x;
	saved_y = crtc->y;
@@ -590,15 +580,6 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc,
	crtc->x = x;
	crtc->y = y;

	if (drm_mode_equal(&saved_mode, &crtc->mode)) {
		if (saved_x != crtc->x || saved_y != crtc->y ||
		    depth_changed || bpp_changed) {
			ret = !crtc_funcs->mode_set_base(crtc, crtc->x, crtc->y,
							 old_fb);
			goto done;
		}
	}

	/* Pass our mode to the connectors and the CRTC to give them a chance to
	 * adjust it according to limitations or connector properties, and also
	 * a chance to reject the mode entirely.