diff mbox

commit drm/i915: disable shared panel fitter for pipe breaks resolution switching

Message ID 20130407185651.GI2228@phenom.ffwll.local (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter April 7, 2013, 6:56 p.m. UTC
On Sun, Mar 10, 2013 at 06:02:32PM +0100, Hans de Bruin wrote:
> On 03/06/2013 11:37 PM, Daniel Vetter wrote:
> >On Wed, Mar 6, 2013 at 7:39 PM, Hans de Bruin <jmdebruin@xmsnet.nl> wrote:
> >>On 03/06/2013 03:00 PM, Daniel Vetter wrote:
> >>>
> >>>Hi Hans,
> >>>
> >>>Can you please test with 3.9-rc1? That contains an additional patch
> >>>which might prevent the regression. Specifically
> >>>
> >>>commit 9d6d9f19e8146fa24903cb561e204a22232740e3
> >>>Author: Mika Kuoppala <mika.kuoppala@linux.intel.com>
> >>>Date:   Fri Feb 8 16:35:38 2013 +0200
> >>>
> >>>      drm/i915: clean up panel fitter handling in lvds
> >>
> >>
> >>Today's kernel still contains the bug.
> >
> >Hm, I've just retested latest drm-intel-nightly which should have the
> >same set of relevant patches, and I couldn't reproduce your issue.
> >Low-res modes on the lvds panel seem to correctly scale up here on my
> >945gm.
> >
> >Can you pls retest with latest -nightly from
> >http://cgit.freedesktop.org/~danvet/drm-intel ?
> >
> >Also please attach the output of xrandr --verbose when running with a
> >reduced mode.
> >
> 
> tested:
> http://cgit.freedesktop.org/~danvet/drm-intel
> commit d08a6eb2690b1ac6f0582feb41c2ccbea945285f
> Date:   Thu Mar 7 22:54:25 2013 +0100
> 
> The problem is still there
> 
> 
> my previous post contained  the  xrandr output whiteout the verbose.
> Doe you want my to repost with the verbose option?

Sorry for the long delay in taking again a look at this. I've tried to
reproduce this on my various machines similar to yours, but totally
failed. Also, a bunch of people with matching machines to yours actually
claim that the 2 commits which regress for you actually fix up lvds panel
fiting for them. So I'm a bit lost as to what's going on here.

Can you please try the below debug patch on top of latest 3.9-rc kernels?

Please boot that kernel with drm.debug=0xe added to your kernel cmdline,
reproduce the issue (preferrably with xrandr --output LVDS --mode ...) and
then attach the complete dmesg. This will enable lots of debugging, so
please make sure you grab everything starting from when i915.ko loads.

Thanks, Daniel

Comments

Hans de Bruin April 8, 2013, 5:38 p.m. UTC | #1
On 04/07/2013 08:56 PM, Daniel Vetter wrote:
> On Sun, Mar 10, 2013 at 06:02:32PM +0100, Hans de Bruin wrote:
>> On 03/06/2013 11:37 PM, Daniel Vetter wrote:
>>> On Wed, Mar 6, 2013 at 7:39 PM, Hans de Bruin <jmdebruin@xmsnet.nl> wrote:
>>>> On 03/06/2013 03:00 PM, Daniel Vetter wrote:
>>>>>
>>>>> Hi Hans,
>>>>>
>>>>> Can you please test with 3.9-rc1? That contains an additional patch
>>>>> which might prevent the regression. Specifically
>>>>>
>>>>> commit 9d6d9f19e8146fa24903cb561e204a22232740e3
>>>>> Author: Mika Kuoppala <mika.kuoppala@linux.intel.com>
>>>>> Date:   Fri Feb 8 16:35:38 2013 +0200
>>>>>
>>>>>       drm/i915: clean up panel fitter handling in lvds
>>>>
>>>>
>>>> Today's kernel still contains the bug.
>>>
>>> Hm, I've just retested latest drm-intel-nightly which should have the
>>> same set of relevant patches, and I couldn't reproduce your issue.
>>> Low-res modes on the lvds panel seem to correctly scale up here on my
>>> 945gm.
>>>
>>> Can you pls retest with latest -nightly from
>>> http://cgit.freedesktop.org/~danvet/drm-intel ?
>>>
>>> Also please attach the output of xrandr --verbose when running with a
>>> reduced mode.
>>>
>>
>> tested:
>> http://cgit.freedesktop.org/~danvet/drm-intel
>> commit d08a6eb2690b1ac6f0582feb41c2ccbea945285f
>> Date:   Thu Mar 7 22:54:25 2013 +0100
>>
>> The problem is still there
>>
>>
>> my previous post contained  the  xrandr output whiteout the verbose.
>> Doe you want my to repost with the verbose option?
>
> Sorry for the long delay in taking again a look at this. I've tried to
> reproduce this on my various machines similar to yours, but totally
> failed. Also, a bunch of people with matching machines to yours actually
> claim that the 2 commits which regress for you actually fix up lvds panel
> fiting for them. So I'm a bit lost as to what's going on here.
>
> Can you please try the below debug patch on top of latest 3.9-rc kernels?
>
> Please boot that kernel with drm.debug=0xe added to your kernel cmdline,
> reproduce the issue (preferrably with xrandr --output LVDS --mode ...) and
> then attach the complete dmesg. This will enable lots of debugging, so
> please make sure you grab everything starting from when i915.ko loads.
>

ok, here is de dmesg.
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index ca2d903..7b2122f 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -155,6 +155,12 @@  static void intel_pre_enable_lvds(struct intel_encoder *encoder)
 	struct drm_device *dev = encoder->base.dev;
 	struct intel_lvds_encoder *enc = to_lvds_encoder(&encoder->base);
 	struct drm_i915_private *dev_priv = dev->dev_private;
+	uint32_t tmp = I915_READ(PFIT_CONTROL);
+
+	WARN(tmp, "pfit control is dirty: 0x%08x\n", tmp);
+	assert_pipe_disabled(dev_priv,
+			     INTEL_INFO(dev)->gen < 4 || (tmp & PFIT_PIPE_MASK) ?
+			     PIPE_B : PIPE_A);
 
 	if (HAS_PCH_SPLIT(dev) || !enc->pfit_control)
 		return;
@@ -171,6 +177,10 @@  static void intel_pre_enable_lvds(struct intel_encoder *encoder)
 
 	I915_WRITE(PFIT_PGM_RATIOS, enc->pfit_pgm_ratios);
 	I915_WRITE(PFIT_CONTROL, enc->pfit_control);
+
+	DRM_DEBUG_KMS("panel-fitter state: %x, %x\n",
+		      I915_READ(PFIT_CONTROL),
+		      I915_READ(PFIT_PGM_RATIOS));
 }
 
 /**