diff mbox

i915: screen flicker

Message ID CABVU7+t7anmtg6382dudWeQy-nyDbejmzJqYy5NjmtuNOKUv2g@mail.gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Rodrigo Vivi April 27, 2016, 3:28 p.m. UTC
Hi Mihai,

What platform do you have? HSW or BDW?
If you don't know please provide lspci -nn

What happens if you boot with i915.enable_psr=2?

In case it helps, could you please boot with default
i915.enable_psr=-1 appying this patch to your kernel to know what your
VBT recommends:
        if (i915.enable_psr == 2 && !dev_priv->psr.link_standby) {
                DRM_DEBUG_KMS("PSR: Forcing link standby\n");

//Thanks
//Rodrigo.

On Wed, Apr 27, 2016 at 3:35 AM, Jani Nikula
<jani.nikula@linux.intel.com> wrote:
> On Wed, 27 Apr 2016, Mihai Don?u <mihai.dontu@gmail.com> wrote:
>> On Wed, 27 Apr 2016 10:09:32 +0300 Jani Nikula wrote:
>>> On Wed, 27 Apr 2016, Mihai Don?u wrote:
>>> > I noticed that since I started using 4.6.0-rcX, my screen flickers once
>>> > or twice after I stop using my laptop for ~1min or so. Given the
>>> > behavior, my prime suspect is the PSR feature that you have announced
>>> > for this release:
>>> >
>>> >   http://blog.ffwll.ch/2016/03/neat-drmi915-stuff-for-46.html
>>> >
>>> > Is 'enable_psr' the right knob to use to turn this feature off and see
>>> > if my suspicions are correct? Or is there a patch floating around that
>>> > I can test?
>>>
>>> i915.enable_psr=0 is the one to try, yes.
>>
>> I can confirm that with PSR off, the flicker goes away.
>
> Please file a bug at [1] and assign to Rodrigo (Cc'd).
>
> BR,
> Jani.
>
> [1] https://bugs.freedesktop.org/enter_bug.cgi?product=DRI&component=DRM/Intel
>
>
> --
> Jani Nikula, Intel Open Source Technology Center

Comments

Mihai Donțu April 27, 2016, 5:36 p.m. UTC | #1
On Wed, 27 Apr 2016 08:28:20 -0700 Rodrigo Vivi wrote:
> Hi Mihai,
> 
> What platform do you have? HSW or BDW?

I have an i7, Haswell CPU.

> If you don't know please provide lspci -nn

I have attached the output of lspci, just in case. :-)

> What happens if you boot with i915.enable_psr=2?

I'll try now.

> In case it helps, could you please boot with default
> i915.enable_psr=-1 appying this patch to your kernel to know what your
> VBT recommends:
> diff --git a/drivers/gpu/drm/i915/intel_psr.c
> b/drivers/gpu/drm/i915/intel_psr.c
> index c3abae4..68bc405 100644
> --- a/drivers/gpu/drm/i915/intel_psr.c
> +++ b/drivers/gpu/drm/i915/intel_psr.c
> @@ -798,6 +798,8 @@ void intel_psr_init(struct drm_device *dev)
>                 /* For new platforms let's respect VBT back again */
>                 dev_priv->psr.link_standby =
> dev_priv->vbt.psr.full_link;
> 
> +       DRM_ERROR("PSR: VBT recommends link_standby %d, using %d\n",
> dev_priv->vbt.psr.full_link, dev_priv->psr.link_standby);
> +
>         /* Override link_standby x link_off defaults */
>         if (i915.enable_psr == 2 && !dev_priv->psr.link_standby) {
>                 DRM_DEBUG_KMS("PSR: Forcing link standby\n");
> 

I applied your patch and booted with enable_psr=-1

[    0.763651] [drm:intel_psr_init] *ERROR* PSR: VBT recommends link_standby 0, using 0
Mihai Donțu April 27, 2016, 5:42 p.m. UTC | #2
On Wed, 27 Apr 2016 20:36:13 +0300 Mihai Don?u wrote:
> On Wed, 27 Apr 2016 08:28:20 -0700 Rodrigo Vivi wrote:
> > Hi Mihai,
> > 
> > What platform do you have? HSW or BDW?  
> 
> I have an i7, Haswell CPU.
> 
> > If you don't know please provide lspci -nn  
> 
> I have attached the output of lspci, just in case. :-)
> 
> > What happens if you boot with i915.enable_psr=2?  
> 
> I'll try now.

The behaviour is worse now. The screen flickers every couple of seconds.

> > In case it helps, could you please boot with default
> > i915.enable_psr=-1 appying this patch to your kernel to know what your
> > VBT recommends:
> > diff --git a/drivers/gpu/drm/i915/intel_psr.c
> > b/drivers/gpu/drm/i915/intel_psr.c
> > index c3abae4..68bc405 100644
> > --- a/drivers/gpu/drm/i915/intel_psr.c
> > +++ b/drivers/gpu/drm/i915/intel_psr.c
> > @@ -798,6 +798,8 @@ void intel_psr_init(struct drm_device *dev)
> >                 /* For new platforms let's respect VBT back again */
> >                 dev_priv->psr.link_standby =
> > dev_priv->vbt.psr.full_link;
> > 
> > +       DRM_ERROR("PSR: VBT recommends link_standby %d, using %d\n",
> > dev_priv->vbt.psr.full_link, dev_priv->psr.link_standby);
> > +
> >         /* Override link_standby x link_off defaults */
> >         if (i915.enable_psr == 2 && !dev_priv->psr.link_standby) {
> >                 DRM_DEBUG_KMS("PSR: Forcing link standby\n");
> >   
> 
> I applied your patch and booted with enable_psr=-1
> 
> [    0.763651] [drm:intel_psr_init] *ERROR* PSR: VBT recommends link_standby 0, using 0
Jani Nikula April 28, 2016, 8:02 a.m. UTC | #3
On Wed, 27 Apr 2016, Mihai Don?u <mihai.dontu@gmail.com> wrote:
> On Wed, 27 Apr 2016 20:36:13 +0300 Mihai Don?u wrote:
>> On Wed, 27 Apr 2016 08:28:20 -0700 Rodrigo Vivi wrote:
>> > Hi Mihai,
>> > 
>> > What platform do you have? HSW or BDW?  
>> 
>> I have an i7, Haswell CPU.
>> 
>> > If you don't know please provide lspci -nn  
>> 
>> I have attached the output of lspci, just in case. :-)
>> 
>> > What happens if you boot with i915.enable_psr=2?  
>> 
>> I'll try now.
>
> The behaviour is worse now. The screen flickers every couple of seconds.

Another report, please move the discussion there:

https://bugs.freedesktop.org/show_bug.cgi?id=95176

Thanks,
Jani.

>
>> > In case it helps, could you please boot with default
>> > i915.enable_psr=-1 appying this patch to your kernel to know what your
>> > VBT recommends:
>> > diff --git a/drivers/gpu/drm/i915/intel_psr.c
>> > b/drivers/gpu/drm/i915/intel_psr.c
>> > index c3abae4..68bc405 100644
>> > --- a/drivers/gpu/drm/i915/intel_psr.c
>> > +++ b/drivers/gpu/drm/i915/intel_psr.c
>> > @@ -798,6 +798,8 @@ void intel_psr_init(struct drm_device *dev)
>> >                 /* For new platforms let's respect VBT back again */
>> >                 dev_priv->psr.link_standby =
>> > dev_priv->vbt.psr.full_link;
>> > 
>> > +       DRM_ERROR("PSR: VBT recommends link_standby %d, using %d\n",
>> > dev_priv->vbt.psr.full_link, dev_priv->psr.link_standby);
>> > +
>> >         /* Override link_standby x link_off defaults */
>> >         if (i915.enable_psr == 2 && !dev_priv->psr.link_standby) {
>> >                 DRM_DEBUG_KMS("PSR: Forcing link standby\n");
>> >   
>> 
>> I applied your patch and booted with enable_psr=-1
>> 
>> [    0.763651] [drm:intel_psr_init] *ERROR* PSR: VBT recommends link_standby 0, using 0
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_psr.c
b/drivers/gpu/drm/i915/intel_psr.c
index c3abae4..68bc405 100644
--- a/drivers/gpu/drm/i915/intel_psr.c
+++ b/drivers/gpu/drm/i915/intel_psr.c
@@ -798,6 +798,8 @@  void intel_psr_init(struct drm_device *dev)
                /* For new platforms let's respect VBT back again */
                dev_priv->psr.link_standby =
dev_priv->vbt.psr.full_link;

+       DRM_ERROR("PSR: VBT recommends link_standby %d, using %d\n",
dev_priv->vbt.psr.full_link, dev_priv->psr.link_standby);
+
        /* Override link_standby x link_off defaults */