3.10.0+ laptop resolution problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jul 11, 2013 at 09:05:45PM +0200, Hans de Bruin wrote:
> On 07/11/2013 08:22 PM, Daniel Vetter wrote:
> >On Thu, Jul 11, 2013 at 8:04 PM, Hans de Bruin <jmdebruin at xmsnet.nl> wrote:
> >>somewhere before commit 496322b (yesterday's kernel) resolution switching on
> >>my laptop broke. The screen switches to the right resolution but the screen
> >>is not horizontally centered. The screen is aligned left and the last
> >>vertical line is repeated until the right side of the screen. Normally there
> >>would be black bars on left and right side.
> >
> >Can you please boot with drm.debug=0xe added to your kernel cmdline
> >and then reply with your complete dmesg?
> >
> 
> I have also started a bisect. Is it useful to continue that?

Let's first see whether my bug-spotting skills are still in working order.
Please test the below diff, thanks.
-Daniel

---
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index b0e1088..0536c9b 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -297,14 +297,11 @@ static bool intel_lvds_compute_config(struct intel_encoder *intel_encoder,
 
 		intel_pch_panel_fitting(intel_crtc, pipe_config,
 					intel_connector->panel.fitting_mode);
-		return true;
 	} else {
 		intel_gmch_panel_fitting(intel_crtc, pipe_config,
 					 intel_connector->panel.fitting_mode);
-	}
 
-	drm_mode_set_crtcinfo(adjusted_mode, 0);
-	pipe_config->timings_set = true;
+	}
 
 	/*
 	 * XXX: It would be nice to support lower refresh rates on the
diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
index 80bea1d..45010bb 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -194,6 +194,9 @@ void intel_gmch_panel_fitting(struct intel_crtc *intel_crtc,
 	    adjusted_mode->vdisplay == mode->vdisplay)
 		goto out;
 
+	drm_mode_set_crtcinfo(adjusted_mode, 0);
+	pipe_config->timings_set = true;
+
 	switch (fitting_mode) {
 	case DRM_MODE_SCALE_CENTER:
 		/*
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux