Re: 4.9.62: intermittent flicker after upgrade from 4.9.61

2017-11-28 Thread Greg KH
On Fri, Nov 24, 2017 at 07:48:22AM +0100, Greg KH wrote:
> On Thu, Nov 23, 2017 at 10:09:25PM +0100, Rainer Fiebig wrote:
> > Rainer Fiebig wrote:
> > > Maarten Lankhorst wrote:
> > >> Op 20-11-17 om 09:51 schreef Rainer Fiebig:
> > >>> Jani Nikula wrote:
> >  On Sun, 19 Nov 2017, Greg KH  wrote:
> > > On Sun, Nov 19, 2017 at 01:44:06PM +0100, Rainer Fiebig wrote:
> > >> Greg KH wrote:
> > >>> On Sun, Nov 19, 2017 at 12:56:26PM +0100, Rainer Fiebig wrote:
> >  Greg KH wrote:
> > > On Sat, Nov 18, 2017 at 05:08:20PM +0100, Rainer Fiebig wrote:
> > >> Greg KH wrote:
> > >>> On Sat, Nov 18, 2017 at 01:47:32PM +0100, Rainer Fiebig wrote:
> >  Hi!
> > 
> >  Hopefully the right addressee.
> > 
> >  Encountered two bad backports which cause screen-flicker.
> >  dmesg shows:
> > 
> >  ...
> >  [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe A FIFO 
> >  underrun
> >  [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder A 
> >  FIFO underrun
> >  [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe B FIFO 
> >  underrun
> >  [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder B 
> >  FIFO underrun
> >  ...
> > 
> >  CPU: Intel Core i3 (Clarkdale/Ironlake)
> > 
> >  The backports are:
> > 
> >  - diff --git a/drivers/gpu/drm/i915/intel_pm.c
> >  b/drivers/gpu/drm/i915/intel_pm.c
> >  index 49de476..277a802 100644
> >  - diff --git a/drivers/gpu/drm/i915/intel_drv.h
> >  b/drivers/gpu/drm/i915/intel_drv.h
> >  index a19ec06..3ce9ba3 100644
> > 
> >  After reversing them the flicker is gone, no more messages in 
> >  dmesg. All
> >  else OK so far.
> > >>> So which commit was the one that caused the problem?  I will be 
> > >>> glad to
> > >>> revert it.
> > >>>
> > >>> thanks,
> > >>>
> > >>> greg k-h
> > >>>
> > >>>
> > >> I started by reverting the more complex one first ("index
> > >> 49de476..277a802100644"). But the kernel wouldn't compile then.
> > > What git commit id is that?  I don't see those ids in the 
> > > 4.9-stable
> > > tree.
> > >
> > >> So I also reverted "index a19ec06..3ce9ba3 100644". After that 
> > >> the
> > >> kernel compiled just fine and the problems were gone (still are).
> > > Same here, what git commit id was this?
> > >
> > > thanks,
> > >
> > > greg k-h
> > >
> >  OK, no mistake. IIRC, I took the patches (and the IDs) from the
> >  changelog for patch-4.9.62. I've attached both, so you can check 
> >  yourself.
> > 
> >  I've also applied a freshly downloaded patch-4.9.62 to a freshly
> >  expanded 4.9 and re-compiled. The flicker is there. I haven't yet
> >  reverted the two patches but I'm confident that after having done 
> >  so the
> >  flicker will be gone. If not I'll let you know.
> > 
> >  As a good news: 4.14 is *not* affected. So to me it seems those two
> >  patches are part of sort of a package and can not be backported 
> >  alone.
> > 
> >  So long!
> >  Rainer Fiebig
> >  diff --git a/drivers/gpu/drm/i915/intel_pm.c 
> >  b/drivers/gpu/drm/i915/intel_pm.c
> >  index 49de476..277a802 100644
> >  --- a/drivers/gpu/drm/i915/intel_pm.c
> >  +++ b/drivers/gpu/drm/i915/intel_pm.c
> >  @@ -27,6 +27,7 @@
> >   
> >   #include 
> >   #include 
> >  +#include 
> >   #include "i915_drv.h"
> >   #include "intel_drv.h"
> >   #include "../../../platform/x86/intel_ips.h"
> >  @@ -2017,9 +2018,9 @@ static void ilk_compute_wm_level(const 
> >  struct drm_i915_private *dev_priv,
> >  const struct intel_crtc *intel_crtc,
> >  int level,
> >  struct intel_crtc_state *cstate,
> >  -   struct intel_plane_state *pristate,
> >  -   struct intel_plane_state *sprstate,
> >  -   struct intel_plane_state *curstate,
> >  +   const struct intel_plane_state 
> >  *pristate,
> >  +   const struct intel_plane_state 
> >  *sprstate,
> >  +   const struct intel_plane_state 
> >  

Re: 4.9.62: intermittent flicker after upgrade from 4.9.61

2017-11-24 Thread Rainer Fiebig
Greg KH wrote:
> On Thu, Nov 23, 2017 at 10:09:25PM +0100, Rainer Fiebig wrote:
>> Rainer Fiebig wrote:
>>> Maarten Lankhorst wrote:
 Op 20-11-17 om 09:51 schreef Rainer Fiebig:
> Jani Nikula wrote:
>> On Sun, 19 Nov 2017, Greg KH  wrote:
>>> On Sun, Nov 19, 2017 at 01:44:06PM +0100, Rainer Fiebig wrote:
 Greg KH wrote:
> On Sun, Nov 19, 2017 at 12:56:26PM +0100, Rainer Fiebig wrote:
>> Greg KH wrote:
>>> On Sat, Nov 18, 2017 at 05:08:20PM +0100, Rainer Fiebig wrote:
 Greg KH wrote:
> On Sat, Nov 18, 2017 at 01:47:32PM +0100, Rainer Fiebig wrote:
>> Hi!
>>
>> Hopefully the right addressee.
>>
>> Encountered two bad backports which cause screen-flicker.
>> dmesg shows:
>>
>> ...
>> [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe A FIFO 
>> underrun
>> [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder A FIFO 
>> underrun
>> [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe B FIFO 
>> underrun
>> [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder B FIFO 
>> underrun
>> ...
>>
>> CPU: Intel Core i3 (Clarkdale/Ironlake)
>>
>> The backports are:
>>
>> - diff --git a/drivers/gpu/drm/i915/intel_pm.c
>> b/drivers/gpu/drm/i915/intel_pm.c
>> index 49de476..277a802 100644
>> - diff --git a/drivers/gpu/drm/i915/intel_drv.h
>> b/drivers/gpu/drm/i915/intel_drv.h
>> index a19ec06..3ce9ba3 100644
>>
>> After reversing them the flicker is gone, no more messages in 
>> dmesg. All
>> else OK so far.
> So which commit was the one that caused the problem?  I will be 
> glad to
> revert it.
>
> thanks,
>
> greg k-h
>
>
 I started by reverting the more complex one first ("index
 49de476..277a802100644"). But the kernel wouldn't compile then.
>>> What git commit id is that?  I don't see those ids in the 4.9-stable
>>> tree.
>>>
 So I also reverted "index a19ec06..3ce9ba3 100644". After that the
 kernel compiled just fine and the problems were gone (still are).
>>> Same here, what git commit id was this?
>>>
>>> thanks,
>>>
>>> greg k-h
>>>
>> OK, no mistake. IIRC, I took the patches (and the IDs) from the
>> changelog for patch-4.9.62. I've attached both, so you can check 
>> yourself.
>>
>> I've also applied a freshly downloaded patch-4.9.62 to a freshly
>> expanded 4.9 and re-compiled. The flicker is there. I haven't yet
>> reverted the two patches but I'm confident that after having done so 
>> the
>> flicker will be gone. If not I'll let you know.
>>
>> As a good news: 4.14 is *not* affected. So to me it seems those two
>> patches are part of sort of a package and can not be backported 
>> alone.
>>
>> So long!
>> Rainer Fiebig
>> diff --git a/drivers/gpu/drm/i915/intel_pm.c 
>> b/drivers/gpu/drm/i915/intel_pm.c
>> index 49de476..277a802 100644
>> --- a/drivers/gpu/drm/i915/intel_pm.c
>> +++ b/drivers/gpu/drm/i915/intel_pm.c
>> @@ -27,6 +27,7 @@
>>  
>>  #include 
>>  #include 
>> +#include 
>>  #include "i915_drv.h"
>>  #include "intel_drv.h"
>>  #include "../../../platform/x86/intel_ips.h"
>> @@ -2017,9 +2018,9 @@ static void ilk_compute_wm_level(const struct 
>> drm_i915_private *dev_priv,
>>   const struct intel_crtc *intel_crtc,
>>   int level,
>>   struct intel_crtc_state *cstate,
>> - struct intel_plane_state *pristate,
>> - struct intel_plane_state *sprstate,
>> - struct intel_plane_state *curstate,
>> + const struct intel_plane_state 
>> *pristate,
>> + const struct intel_plane_state 
>> *sprstate,
>> + const struct intel_plane_state 
>> *curstate,
>>   struct intel_wm_level *result)
>>  {
>>  uint16_t pri_latency = dev_priv->wm.pri_latency[level];
>> @@ -2341,28 +2342,24 @@ static int ilk_compute_pipe_wm(struct 
>> intel_crtc_state 

Re: 4.9.62: intermittent flicker after upgrade from 4.9.61

2017-11-24 Thread Rainer Fiebig
Rainer Fiebig wrote:
> Maarten Lankhorst wrote:
>> Op 20-11-17 om 09:51 schreef Rainer Fiebig:
>>> Jani Nikula wrote:
 On Sun, 19 Nov 2017, Greg KH  wrote:
> On Sun, Nov 19, 2017 at 01:44:06PM +0100, Rainer Fiebig wrote:
>> Greg KH wrote:
>>> On Sun, Nov 19, 2017 at 12:56:26PM +0100, Rainer Fiebig wrote:
 Greg KH wrote:
> On Sat, Nov 18, 2017 at 05:08:20PM +0100, Rainer Fiebig wrote:
>> Greg KH wrote:
>>> On Sat, Nov 18, 2017 at 01:47:32PM +0100, Rainer Fiebig wrote:
 Hi!

 Hopefully the right addressee.

 Encountered two bad backports which cause screen-flicker.
 dmesg shows:

 ...
 [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
 [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder A FIFO 
 underrun
 [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe B FIFO underrun
 [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder B FIFO 
 underrun
 ...

 CPU: Intel Core i3 (Clarkdale/Ironlake)

 The backports are:

 - diff --git a/drivers/gpu/drm/i915/intel_pm.c
 b/drivers/gpu/drm/i915/intel_pm.c
 index 49de476..277a802 100644
 - diff --git a/drivers/gpu/drm/i915/intel_drv.h
 b/drivers/gpu/drm/i915/intel_drv.h
 index a19ec06..3ce9ba3 100644

 After reversing them the flicker is gone, no more messages in 
 dmesg. All
 else OK so far.
>>> So which commit was the one that caused the problem?  I will be 
>>> glad to
>>> revert it.
>>>
>>> thanks,
>>>
>>> greg k-h
>>>
>>>
>> I started by reverting the more complex one first ("index
>> 49de476..277a802100644"). But the kernel wouldn't compile then.
> What git commit id is that?  I don't see those ids in the 4.9-stable
> tree.
>
>> So I also reverted "index a19ec06..3ce9ba3 100644". After that the
>> kernel compiled just fine and the problems were gone (still are).
> Same here, what git commit id was this?
>
> thanks,
>
> greg k-h
>
 OK, no mistake. IIRC, I took the patches (and the IDs) from the
 changelog for patch-4.9.62. I've attached both, so you can check 
 yourself.

 I've also applied a freshly downloaded patch-4.9.62 to a freshly
 expanded 4.9 and re-compiled. The flicker is there. I haven't yet
 reverted the two patches but I'm confident that after having done so 
 the
 flicker will be gone. If not I'll let you know.

 As a good news: 4.14 is *not* affected. So to me it seems those two
 patches are part of sort of a package and can not be backported alone.

 So long!
 Rainer Fiebig
 diff --git a/drivers/gpu/drm/i915/intel_pm.c 
 b/drivers/gpu/drm/i915/intel_pm.c
 index 49de476..277a802 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
 @@ -27,6 +27,7 @@
  
  #include 
  #include 
 +#include 
  #include "i915_drv.h"
  #include "intel_drv.h"
  #include "../../../platform/x86/intel_ips.h"
 @@ -2017,9 +2018,9 @@ static void ilk_compute_wm_level(const struct 
 drm_i915_private *dev_priv,
 const struct intel_crtc *intel_crtc,
 int level,
 struct intel_crtc_state *cstate,
 -   struct intel_plane_state *pristate,
 -   struct intel_plane_state *sprstate,
 -   struct intel_plane_state *curstate,
 +   const struct intel_plane_state 
 *pristate,
 +   const struct intel_plane_state 
 *sprstate,
 +   const struct intel_plane_state 
 *curstate,
 struct intel_wm_level *result)
  {
uint16_t pri_latency = dev_priv->wm.pri_latency[level];
 @@ -2341,28 +2342,24 @@ static int ilk_compute_pipe_wm(struct 
 intel_crtc_state *cstate)
struct intel_pipe_wm *pipe_wm;
struct drm_device *dev = state->dev;
const struct drm_i915_private *dev_priv = to_i915(dev);
 -  struct intel_plane *intel_plane;
 -  struct intel_plane_state *pristate = NULL;
 -  struct intel_plane_state 

Re: 4.9.62: intermittent flicker after upgrade from 4.9.61

2017-11-24 Thread Rainer Fiebig
Greg KH wrote:
> On Thu, Nov 23, 2017 at 10:09:25PM +0100, Rainer Fiebig wrote:
>> Rainer Fiebig wrote:
>>> Maarten Lankhorst wrote:
 Op 20-11-17 om 09:51 schreef Rainer Fiebig:
> Jani Nikula wrote:
>> On Sun, 19 Nov 2017, Greg KH  wrote:
>>> On Sun, Nov 19, 2017 at 01:44:06PM +0100, Rainer Fiebig wrote:
 Greg KH wrote:
> On Sun, Nov 19, 2017 at 12:56:26PM +0100, Rainer Fiebig wrote:
>> Greg KH wrote:
>>> On Sat, Nov 18, 2017 at 05:08:20PM +0100, Rainer Fiebig wrote:
 Greg KH wrote:
> On Sat, Nov 18, 2017 at 01:47:32PM +0100, Rainer Fiebig wrote:
>> Hi!
>>
>> Hopefully the right addressee.
>>
>> Encountered two bad backports which cause screen-flicker.
>> dmesg shows:
>>
>> ...
>> [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe A FIFO 
>> underrun
>> [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder A FIFO 
>> underrun
>> [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe B FIFO 
>> underrun
>> [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder B FIFO 
>> underrun
>> ...
>>
>> CPU: Intel Core i3 (Clarkdale/Ironlake)
>>
>> The backports are:
>>
>> - diff --git a/drivers/gpu/drm/i915/intel_pm.c
>> b/drivers/gpu/drm/i915/intel_pm.c
>> index 49de476..277a802 100644
>> - diff --git a/drivers/gpu/drm/i915/intel_drv.h
>> b/drivers/gpu/drm/i915/intel_drv.h
>> index a19ec06..3ce9ba3 100644
>>
>> After reversing them the flicker is gone, no more messages in 
>> dmesg. All
>> else OK so far.
> So which commit was the one that caused the problem?  I will be 
> glad to
> revert it.
>
> thanks,
>
> greg k-h
>
>
 I started by reverting the more complex one first ("index
 49de476..277a802100644"). But the kernel wouldn't compile then.
>>> What git commit id is that?  I don't see those ids in the 4.9-stable
>>> tree.
>>>
 So I also reverted "index a19ec06..3ce9ba3 100644". After that the
 kernel compiled just fine and the problems were gone (still are).
>>> Same here, what git commit id was this?
>>>
>>> thanks,
>>>
>>> greg k-h
>>>
>> OK, no mistake. IIRC, I took the patches (and the IDs) from the
>> changelog for patch-4.9.62. I've attached both, so you can check 
>> yourself.
>>
>> I've also applied a freshly downloaded patch-4.9.62 to a freshly
>> expanded 4.9 and re-compiled. The flicker is there. I haven't yet
>> reverted the two patches but I'm confident that after having done so 
>> the
>> flicker will be gone. If not I'll let you know.
>>
>> As a good news: 4.14 is *not* affected. So to me it seems those two
>> patches are part of sort of a package and can not be backported 
>> alone.
>>
>> So long!
>> Rainer Fiebig
>> diff --git a/drivers/gpu/drm/i915/intel_pm.c 
>> b/drivers/gpu/drm/i915/intel_pm.c
>> index 49de476..277a802 100644
>> --- a/drivers/gpu/drm/i915/intel_pm.c
>> +++ b/drivers/gpu/drm/i915/intel_pm.c
>> @@ -27,6 +27,7 @@
>>  
>>  #include 
>>  #include 
>> +#include 
>>  #include "i915_drv.h"
>>  #include "intel_drv.h"
>>  #include "../../../platform/x86/intel_ips.h"
>> @@ -2017,9 +2018,9 @@ static void ilk_compute_wm_level(const struct 
>> drm_i915_private *dev_priv,
>>   const struct intel_crtc *intel_crtc,
>>   int level,
>>   struct intel_crtc_state *cstate,
>> - struct intel_plane_state *pristate,
>> - struct intel_plane_state *sprstate,
>> - struct intel_plane_state *curstate,
>> + const struct intel_plane_state 
>> *pristate,
>> + const struct intel_plane_state 
>> *sprstate,
>> + const struct intel_plane_state 
>> *curstate,
>>   struct intel_wm_level *result)
>>  {
>>  uint16_t pri_latency = dev_priv->wm.pri_latency[level];
>> @@ -2341,28 +2342,24 @@ static int ilk_compute_pipe_wm(struct 
>> intel_crtc_state 

Re: 4.9.62: intermittent flicker after upgrade from 4.9.61

2017-11-23 Thread Greg KH
On Thu, Nov 23, 2017 at 10:09:25PM +0100, Rainer Fiebig wrote:
> Rainer Fiebig wrote:
> > Maarten Lankhorst wrote:
> >> Op 20-11-17 om 09:51 schreef Rainer Fiebig:
> >>> Jani Nikula wrote:
>  On Sun, 19 Nov 2017, Greg KH  wrote:
> > On Sun, Nov 19, 2017 at 01:44:06PM +0100, Rainer Fiebig wrote:
> >> Greg KH wrote:
> >>> On Sun, Nov 19, 2017 at 12:56:26PM +0100, Rainer Fiebig wrote:
>  Greg KH wrote:
> > On Sat, Nov 18, 2017 at 05:08:20PM +0100, Rainer Fiebig wrote:
> >> Greg KH wrote:
> >>> On Sat, Nov 18, 2017 at 01:47:32PM +0100, Rainer Fiebig wrote:
>  Hi!
> 
>  Hopefully the right addressee.
> 
>  Encountered two bad backports which cause screen-flicker.
>  dmesg shows:
> 
>  ...
>  [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe A FIFO 
>  underrun
>  [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder A FIFO 
>  underrun
>  [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe B FIFO 
>  underrun
>  [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder B FIFO 
>  underrun
>  ...
> 
>  CPU: Intel Core i3 (Clarkdale/Ironlake)
> 
>  The backports are:
> 
>  - diff --git a/drivers/gpu/drm/i915/intel_pm.c
>  b/drivers/gpu/drm/i915/intel_pm.c
>  index 49de476..277a802 100644
>  - diff --git a/drivers/gpu/drm/i915/intel_drv.h
>  b/drivers/gpu/drm/i915/intel_drv.h
>  index a19ec06..3ce9ba3 100644
> 
>  After reversing them the flicker is gone, no more messages in 
>  dmesg. All
>  else OK so far.
> >>> So which commit was the one that caused the problem?  I will be 
> >>> glad to
> >>> revert it.
> >>>
> >>> thanks,
> >>>
> >>> greg k-h
> >>>
> >>>
> >> I started by reverting the more complex one first ("index
> >> 49de476..277a802100644"). But the kernel wouldn't compile then.
> > What git commit id is that?  I don't see those ids in the 4.9-stable
> > tree.
> >
> >> So I also reverted "index a19ec06..3ce9ba3 100644". After that the
> >> kernel compiled just fine and the problems were gone (still are).
> > Same here, what git commit id was this?
> >
> > thanks,
> >
> > greg k-h
> >
>  OK, no mistake. IIRC, I took the patches (and the IDs) from the
>  changelog for patch-4.9.62. I've attached both, so you can check 
>  yourself.
> 
>  I've also applied a freshly downloaded patch-4.9.62 to a freshly
>  expanded 4.9 and re-compiled. The flicker is there. I haven't yet
>  reverted the two patches but I'm confident that after having done so 
>  the
>  flicker will be gone. If not I'll let you know.
> 
>  As a good news: 4.14 is *not* affected. So to me it seems those two
>  patches are part of sort of a package and can not be backported 
>  alone.
> 
>  So long!
>  Rainer Fiebig
>  diff --git a/drivers/gpu/drm/i915/intel_pm.c 
>  b/drivers/gpu/drm/i915/intel_pm.c
>  index 49de476..277a802 100644
>  --- a/drivers/gpu/drm/i915/intel_pm.c
>  +++ b/drivers/gpu/drm/i915/intel_pm.c
>  @@ -27,6 +27,7 @@
>   
>   #include 
>   #include 
>  +#include 
>   #include "i915_drv.h"
>   #include "intel_drv.h"
>   #include "../../../platform/x86/intel_ips.h"
>  @@ -2017,9 +2018,9 @@ static void ilk_compute_wm_level(const struct 
>  drm_i915_private *dev_priv,
>    const struct intel_crtc *intel_crtc,
>    int level,
>    struct intel_crtc_state *cstate,
>  - struct intel_plane_state *pristate,
>  - struct intel_plane_state *sprstate,
>  - struct intel_plane_state *curstate,
>  + const struct intel_plane_state 
>  *pristate,
>  + const struct intel_plane_state 
>  *sprstate,
>  + const struct intel_plane_state 
>  *curstate,
>    struct intel_wm_level *result)
>   {
>   uint16_t pri_latency = dev_priv->wm.pri_latency[level];
>  @@ -2341,28 +2342,24 @@ static int ilk_compute_pipe_wm(struct 
>  intel_crtc_state *cstate)
>   

Re: 4.9.62: intermittent flicker after upgrade from 4.9.61

2017-11-21 Thread Rainer Fiebig
Maarten Lankhorst wrote:
> Op 20-11-17 om 09:51 schreef Rainer Fiebig:
>> Jani Nikula wrote:
>>> On Sun, 19 Nov 2017, Greg KH  wrote:
 On Sun, Nov 19, 2017 at 01:44:06PM +0100, Rainer Fiebig wrote:
> Greg KH wrote:
>> On Sun, Nov 19, 2017 at 12:56:26PM +0100, Rainer Fiebig wrote:
>>> Greg KH wrote:
 On Sat, Nov 18, 2017 at 05:08:20PM +0100, Rainer Fiebig wrote:
> Greg KH wrote:
>> On Sat, Nov 18, 2017 at 01:47:32PM +0100, Rainer Fiebig wrote:
>>> Hi!
>>>
>>> Hopefully the right addressee.
>>>
>>> Encountered two bad backports which cause screen-flicker.
>>> dmesg shows:
>>>
>>> ...
>>> [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
>>> [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder A FIFO 
>>> underrun
>>> [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe B FIFO underrun
>>> [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder B FIFO 
>>> underrun
>>> ...
>>>
>>> CPU: Intel Core i3 (Clarkdale/Ironlake)
>>>
>>> The backports are:
>>>
>>> - diff --git a/drivers/gpu/drm/i915/intel_pm.c
>>> b/drivers/gpu/drm/i915/intel_pm.c
>>> index 49de476..277a802 100644
>>> - diff --git a/drivers/gpu/drm/i915/intel_drv.h
>>> b/drivers/gpu/drm/i915/intel_drv.h
>>> index a19ec06..3ce9ba3 100644
>>>
>>> After reversing them the flicker is gone, no more messages in 
>>> dmesg. All
>>> else OK so far.
>> So which commit was the one that caused the problem?  I will be glad 
>> to
>> revert it.
>>
>> thanks,
>>
>> greg k-h
>>
>>
> I started by reverting the more complex one first ("index
> 49de476..277a802100644"). But the kernel wouldn't compile then.
 What git commit id is that?  I don't see those ids in the 4.9-stable
 tree.

> So I also reverted "index a19ec06..3ce9ba3 100644". After that the
> kernel compiled just fine and the problems were gone (still are).
 Same here, what git commit id was this?

 thanks,

 greg k-h

>>> OK, no mistake. IIRC, I took the patches (and the IDs) from the
>>> changelog for patch-4.9.62. I've attached both, so you can check 
>>> yourself.
>>>
>>> I've also applied a freshly downloaded patch-4.9.62 to a freshly
>>> expanded 4.9 and re-compiled. The flicker is there. I haven't yet
>>> reverted the two patches but I'm confident that after having done so the
>>> flicker will be gone. If not I'll let you know.
>>>
>>> As a good news: 4.14 is *not* affected. So to me it seems those two
>>> patches are part of sort of a package and can not be backported alone.
>>>
>>> So long!
>>> Rainer Fiebig
>>> diff --git a/drivers/gpu/drm/i915/intel_pm.c 
>>> b/drivers/gpu/drm/i915/intel_pm.c
>>> index 49de476..277a802 100644
>>> --- a/drivers/gpu/drm/i915/intel_pm.c
>>> +++ b/drivers/gpu/drm/i915/intel_pm.c
>>> @@ -27,6 +27,7 @@
>>>  
>>>  #include 
>>>  #include 
>>> +#include 
>>>  #include "i915_drv.h"
>>>  #include "intel_drv.h"
>>>  #include "../../../platform/x86/intel_ips.h"
>>> @@ -2017,9 +2018,9 @@ static void ilk_compute_wm_level(const struct 
>>> drm_i915_private *dev_priv,
>>>  const struct intel_crtc *intel_crtc,
>>>  int level,
>>>  struct intel_crtc_state *cstate,
>>> -struct intel_plane_state *pristate,
>>> -struct intel_plane_state *sprstate,
>>> -struct intel_plane_state *curstate,
>>> +const struct intel_plane_state 
>>> *pristate,
>>> +const struct intel_plane_state 
>>> *sprstate,
>>> +const struct intel_plane_state 
>>> *curstate,
>>>  struct intel_wm_level *result)
>>>  {
>>> uint16_t pri_latency = dev_priv->wm.pri_latency[level];
>>> @@ -2341,28 +2342,24 @@ static int ilk_compute_pipe_wm(struct 
>>> intel_crtc_state *cstate)
>>> struct intel_pipe_wm *pipe_wm;
>>> struct drm_device *dev = state->dev;
>>> const struct drm_i915_private *dev_priv = to_i915(dev);
>>> -   struct intel_plane *intel_plane;
>>> -   struct intel_plane_state *pristate = NULL;
>>> -   struct intel_plane_state *sprstate = NULL;
>>> -   struct intel_plane_state *curstate = NULL;
>>> +   struct drm_plane *plane;
>>> + 

Re: 4.9.62: intermittent flicker after upgrade from 4.9.61

2017-11-21 Thread Rainer Fiebig
Maarten Lankhorst wrote:
> Op 20-11-17 om 09:51 schreef Rainer Fiebig:
>> Jani Nikula wrote:
>>> On Sun, 19 Nov 2017, Greg KH  wrote:
 On Sun, Nov 19, 2017 at 01:44:06PM +0100, Rainer Fiebig wrote:
> Greg KH wrote:
>> On Sun, Nov 19, 2017 at 12:56:26PM +0100, Rainer Fiebig wrote:
>>> Greg KH wrote:
 On Sat, Nov 18, 2017 at 05:08:20PM +0100, Rainer Fiebig wrote:
> Greg KH wrote:
>> On Sat, Nov 18, 2017 at 01:47:32PM +0100, Rainer Fiebig wrote:
>>> Hi!
>>>
>>> Hopefully the right addressee.
>>>
>>> Encountered two bad backports which cause screen-flicker.
>>> dmesg shows:
>>>
>>> ...
>>> [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
>>> [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder A FIFO 
>>> underrun
>>> [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe B FIFO underrun
>>> [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder B FIFO 
>>> underrun
>>> ...
>>>
>>> CPU: Intel Core i3 (Clarkdale/Ironlake)
>>>
>>> The backports are:
>>>
>>> - diff --git a/drivers/gpu/drm/i915/intel_pm.c
>>> b/drivers/gpu/drm/i915/intel_pm.c
>>> index 49de476..277a802 100644
>>> - diff --git a/drivers/gpu/drm/i915/intel_drv.h
>>> b/drivers/gpu/drm/i915/intel_drv.h
>>> index a19ec06..3ce9ba3 100644
>>>
>>> After reversing them the flicker is gone, no more messages in 
>>> dmesg. All
>>> else OK so far.
>> So which commit was the one that caused the problem?  I will be glad 
>> to
>> revert it.
>>
>> thanks,
>>
>> greg k-h
>>
>>
> I started by reverting the more complex one first ("index
> 49de476..277a802100644"). But the kernel wouldn't compile then.
 What git commit id is that?  I don't see those ids in the 4.9-stable
 tree.

> So I also reverted "index a19ec06..3ce9ba3 100644". After that the
> kernel compiled just fine and the problems were gone (still are).
 Same here, what git commit id was this?

 thanks,

 greg k-h

>>> OK, no mistake. IIRC, I took the patches (and the IDs) from the
>>> changelog for patch-4.9.62. I've attached both, so you can check 
>>> yourself.
>>>
>>> I've also applied a freshly downloaded patch-4.9.62 to a freshly
>>> expanded 4.9 and re-compiled. The flicker is there. I haven't yet
>>> reverted the two patches but I'm confident that after having done so the
>>> flicker will be gone. If not I'll let you know.
>>>
>>> As a good news: 4.14 is *not* affected. So to me it seems those two
>>> patches are part of sort of a package and can not be backported alone.
>>>
>>> So long!
>>> Rainer Fiebig
>>> diff --git a/drivers/gpu/drm/i915/intel_pm.c 
>>> b/drivers/gpu/drm/i915/intel_pm.c
>>> index 49de476..277a802 100644
>>> --- a/drivers/gpu/drm/i915/intel_pm.c
>>> +++ b/drivers/gpu/drm/i915/intel_pm.c
>>> @@ -27,6 +27,7 @@
>>>  
>>>  #include 
>>>  #include 
>>> +#include 
>>>  #include "i915_drv.h"
>>>  #include "intel_drv.h"
>>>  #include "../../../platform/x86/intel_ips.h"
>>> @@ -2017,9 +2018,9 @@ static void ilk_compute_wm_level(const struct 
>>> drm_i915_private *dev_priv,
>>>  const struct intel_crtc *intel_crtc,
>>>  int level,
>>>  struct intel_crtc_state *cstate,
>>> -struct intel_plane_state *pristate,
>>> -struct intel_plane_state *sprstate,
>>> -struct intel_plane_state *curstate,
>>> +const struct intel_plane_state 
>>> *pristate,
>>> +const struct intel_plane_state 
>>> *sprstate,
>>> +const struct intel_plane_state 
>>> *curstate,
>>>  struct intel_wm_level *result)
>>>  {
>>> uint16_t pri_latency = dev_priv->wm.pri_latency[level];
>>> @@ -2341,28 +2342,24 @@ static int ilk_compute_pipe_wm(struct 
>>> intel_crtc_state *cstate)
>>> struct intel_pipe_wm *pipe_wm;
>>> struct drm_device *dev = state->dev;
>>> const struct drm_i915_private *dev_priv = to_i915(dev);
>>> -   struct intel_plane *intel_plane;
>>> -   struct intel_plane_state *pristate = NULL;
>>> -   struct intel_plane_state *sprstate = NULL;
>>> -   struct intel_plane_state *curstate = NULL;
>>> +   struct drm_plane *plane;
>>> + 

Re: 4.9.62: intermittent flicker after upgrade from 4.9.61

2017-11-21 Thread Rainer Fiebig
Jani Nikula wrote:
> On Sun, 19 Nov 2017, Greg KH  wrote:
>> On Sun, Nov 19, 2017 at 01:44:06PM +0100, Rainer Fiebig wrote:
>>> Greg KH wrote:
 On Sun, Nov 19, 2017 at 12:56:26PM +0100, Rainer Fiebig wrote:
> Greg KH wrote:
>> On Sat, Nov 18, 2017 at 05:08:20PM +0100, Rainer Fiebig wrote:
>>> Greg KH wrote:
 On Sat, Nov 18, 2017 at 01:47:32PM +0100, Rainer Fiebig wrote:
> Hi!
>
> Hopefully the right addressee.
>
> Encountered two bad backports which cause screen-flicker.
> dmesg shows:
>
> ...
> [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
> [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder A FIFO 
> underrun
> [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe B FIFO underrun
> [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder B FIFO 
> underrun
> ...
>
> CPU: Intel Core i3 (Clarkdale/Ironlake)
>
> The backports are:
>
> - diff --git a/drivers/gpu/drm/i915/intel_pm.c
> b/drivers/gpu/drm/i915/intel_pm.c
> index 49de476..277a802 100644
> - diff --git a/drivers/gpu/drm/i915/intel_drv.h
> b/drivers/gpu/drm/i915/intel_drv.h
> index a19ec06..3ce9ba3 100644
>
> After reversing them the flicker is gone, no more messages in dmesg. 
> All
> else OK so far.

 So which commit was the one that caused the problem?  I will be glad to
 revert it.

 thanks,

 greg k-h


>>>
>>> I started by reverting the more complex one first ("index
>>> 49de476..277a802100644"). But the kernel wouldn't compile then.
>>
>> What git commit id is that?  I don't see those ids in the 4.9-stable
>> tree.
>>
>>> So I also reverted "index a19ec06..3ce9ba3 100644". After that the
>>> kernel compiled just fine and the problems were gone (still are).
>>
>> Same here, what git commit id was this?
>>
>> thanks,
>>
>> greg k-h
>>
>
> OK, no mistake. IIRC, I took the patches (and the IDs) from the
> changelog for patch-4.9.62. I've attached both, so you can check yourself.
>
> I've also applied a freshly downloaded patch-4.9.62 to a freshly
> expanded 4.9 and re-compiled. The flicker is there. I haven't yet
> reverted the two patches but I'm confident that after having done so the
> flicker will be gone. If not I'll let you know.
>
> As a good news: 4.14 is *not* affected. So to me it seems those two
> patches are part of sort of a package and can not be backported alone.
>
> So long!
> Rainer Fiebig

> diff --git a/drivers/gpu/drm/i915/intel_pm.c 
> b/drivers/gpu/drm/i915/intel_pm.c
> index 49de476..277a802 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -27,6 +27,7 @@
>  
>  #include 
>  #include 
> +#include 
>  #include "i915_drv.h"
>  #include "intel_drv.h"
>  #include "../../../platform/x86/intel_ips.h"
> @@ -2017,9 +2018,9 @@ static void ilk_compute_wm_level(const struct 
> drm_i915_private *dev_priv,
>const struct intel_crtc *intel_crtc,
>int level,
>struct intel_crtc_state *cstate,
> -  struct intel_plane_state *pristate,
> -  struct intel_plane_state *sprstate,
> -  struct intel_plane_state *curstate,
> +  const struct intel_plane_state *pristate,
> +  const struct intel_plane_state *sprstate,
> +  const struct intel_plane_state *curstate,
>struct intel_wm_level *result)
>  {
>   uint16_t pri_latency = dev_priv->wm.pri_latency[level];
> @@ -2341,28 +2342,24 @@ static int ilk_compute_pipe_wm(struct 
> intel_crtc_state *cstate)
>   struct intel_pipe_wm *pipe_wm;
>   struct drm_device *dev = state->dev;
>   const struct drm_i915_private *dev_priv = to_i915(dev);
> - struct intel_plane *intel_plane;
> - struct intel_plane_state *pristate = NULL;
> - struct intel_plane_state *sprstate = NULL;
> - struct intel_plane_state *curstate = NULL;
> + struct drm_plane *plane;
> + const struct drm_plane_state *plane_state;
> + const struct intel_plane_state *pristate = NULL;
> + const struct intel_plane_state *sprstate = NULL;
> + const struct intel_plane_state *curstate = NULL;
>   int level, max_level = ilk_wm_max_level(dev), usable_level;
>   struct ilk_wm_maximums max;
>  
>   pipe_wm = >wm.ilk.optimal;
>  
> - for_each_intel_plane_on_crtc(dev, 

Re: 4.9.62: intermittent flicker after upgrade from 4.9.61

2017-11-21 Thread Rainer Fiebig
Maarten Lankhorst wrote:
> Op 20-11-17 om 09:51 schreef Rainer Fiebig:
>> Jani Nikula wrote:
>>> On Sun, 19 Nov 2017, Greg KH  wrote:
 On Sun, Nov 19, 2017 at 01:44:06PM +0100, Rainer Fiebig wrote:
> Greg KH wrote:
>> On Sun, Nov 19, 2017 at 12:56:26PM +0100, Rainer Fiebig wrote:
>>> Greg KH wrote:
 On Sat, Nov 18, 2017 at 05:08:20PM +0100, Rainer Fiebig wrote:
> Greg KH wrote:
>> On Sat, Nov 18, 2017 at 01:47:32PM +0100, Rainer Fiebig wrote:
>>> Hi!
>>>
>>> Hopefully the right addressee.
>>>
>>> Encountered two bad backports which cause screen-flicker.
>>> dmesg shows:
>>>
>>> ...
>>> [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
>>> [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder A FIFO 
>>> underrun
>>> [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe B FIFO underrun
>>> [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder B FIFO 
>>> underrun
>>> ...
>>>
>>> CPU: Intel Core i3 (Clarkdale/Ironlake)
>>>
>>> The backports are:
>>>
>>> - diff --git a/drivers/gpu/drm/i915/intel_pm.c
>>> b/drivers/gpu/drm/i915/intel_pm.c
>>> index 49de476..277a802 100644
>>> - diff --git a/drivers/gpu/drm/i915/intel_drv.h
>>> b/drivers/gpu/drm/i915/intel_drv.h
>>> index a19ec06..3ce9ba3 100644
>>>
>>> After reversing them the flicker is gone, no more messages in 
>>> dmesg. All
>>> else OK so far.
>> So which commit was the one that caused the problem?  I will be glad 
>> to
>> revert it.
>>
>> thanks,
>>
>> greg k-h
>>
>>
> I started by reverting the more complex one first ("index
> 49de476..277a802100644"). But the kernel wouldn't compile then.
 What git commit id is that?  I don't see those ids in the 4.9-stable
 tree.

> So I also reverted "index a19ec06..3ce9ba3 100644". After that the
> kernel compiled just fine and the problems were gone (still are).
 Same here, what git commit id was this?

 thanks,

 greg k-h

>>> OK, no mistake. IIRC, I took the patches (and the IDs) from the
>>> changelog for patch-4.9.62. I've attached both, so you can check 
>>> yourself.
>>>
>>> I've also applied a freshly downloaded patch-4.9.62 to a freshly
>>> expanded 4.9 and re-compiled. The flicker is there. I haven't yet
>>> reverted the two patches but I'm confident that after having done so the
>>> flicker will be gone. If not I'll let you know.
>>>
>>> As a good news: 4.14 is *not* affected. So to me it seems those two
>>> patches are part of sort of a package and can not be backported alone.
>>>
>>> So long!
>>> Rainer Fiebig
>>> diff --git a/drivers/gpu/drm/i915/intel_pm.c 
>>> b/drivers/gpu/drm/i915/intel_pm.c
>>> index 49de476..277a802 100644
>>> --- a/drivers/gpu/drm/i915/intel_pm.c
>>> +++ b/drivers/gpu/drm/i915/intel_pm.c
>>> @@ -27,6 +27,7 @@
>>>  
>>>  #include 
>>>  #include 
>>> +#include 
>>>  #include "i915_drv.h"
>>>  #include "intel_drv.h"
>>>  #include "../../../platform/x86/intel_ips.h"
>>> @@ -2017,9 +2018,9 @@ static void ilk_compute_wm_level(const struct 
>>> drm_i915_private *dev_priv,
>>>  const struct intel_crtc *intel_crtc,
>>>  int level,
>>>  struct intel_crtc_state *cstate,
>>> -struct intel_plane_state *pristate,
>>> -struct intel_plane_state *sprstate,
>>> -struct intel_plane_state *curstate,
>>> +const struct intel_plane_state 
>>> *pristate,
>>> +const struct intel_plane_state 
>>> *sprstate,
>>> +const struct intel_plane_state 
>>> *curstate,
>>>  struct intel_wm_level *result)
>>>  {
>>> uint16_t pri_latency = dev_priv->wm.pri_latency[level];
>>> @@ -2341,28 +2342,24 @@ static int ilk_compute_pipe_wm(struct 
>>> intel_crtc_state *cstate)
>>> struct intel_pipe_wm *pipe_wm;
>>> struct drm_device *dev = state->dev;
>>> const struct drm_i915_private *dev_priv = to_i915(dev);
>>> -   struct intel_plane *intel_plane;
>>> -   struct intel_plane_state *pristate = NULL;
>>> -   struct intel_plane_state *sprstate = NULL;
>>> -   struct intel_plane_state *curstate = NULL;
>>> +   struct drm_plane *plane;
>>> + 

Re: 4.9.62: intermittent flicker after upgrade from 4.9.61

2017-11-20 Thread Maarten Lankhorst
Op 20-11-17 om 12:38 schreef Rainer Fiebig:
> Maarten Lankhorst wrote:
>> Op 20-11-17 om 09:51 schreef Rainer Fiebig:
>>> Jani Nikula wrote:
 On Sun, 19 Nov 2017, Greg KH  wrote:
> On Sun, Nov 19, 2017 at 01:44:06PM +0100, Rainer Fiebig wrote:
>> Greg KH wrote:
>>> On Sun, Nov 19, 2017 at 12:56:26PM +0100, Rainer Fiebig wrote:
 Greg KH wrote:
> On Sat, Nov 18, 2017 at 05:08:20PM +0100, Rainer Fiebig wrote:
>> Greg KH wrote:
>>> On Sat, Nov 18, 2017 at 01:47:32PM +0100, Rainer Fiebig wrote:
 Hi!

 Hopefully the right addressee.

 Encountered two bad backports which cause screen-flicker.
 dmesg shows:

 ...
 [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
 [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder A FIFO 
 underrun
 [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe B FIFO underrun
 [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder B FIFO 
 underrun
 ...

 CPU: Intel Core i3 (Clarkdale/Ironlake)

 The backports are:

 - diff --git a/drivers/gpu/drm/i915/intel_pm.c
 b/drivers/gpu/drm/i915/intel_pm.c
 index 49de476..277a802 100644
 - diff --git a/drivers/gpu/drm/i915/intel_drv.h
 b/drivers/gpu/drm/i915/intel_drv.h
 index a19ec06..3ce9ba3 100644

 After reversing them the flicker is gone, no more messages in 
 dmesg. All
 else OK so far.
>>> So which commit was the one that caused the problem?  I will be 
>>> glad to
>>> revert it.
>>>
>>> thanks,
>>>
>>> greg k-h
>>>
>>>
>> I started by reverting the more complex one first ("index
>> 49de476..277a802100644"). But the kernel wouldn't compile then.
> What git commit id is that?  I don't see those ids in the 4.9-stable
> tree.
>
>> So I also reverted "index a19ec06..3ce9ba3 100644". After that the
>> kernel compiled just fine and the problems were gone (still are).
> Same here, what git commit id was this?
>
> thanks,
>
> greg k-h
>
 OK, no mistake. IIRC, I took the patches (and the IDs) from the
 changelog for patch-4.9.62. I've attached both, so you can check 
 yourself.

 I've also applied a freshly downloaded patch-4.9.62 to a freshly
 expanded 4.9 and re-compiled. The flicker is there. I haven't yet
 reverted the two patches but I'm confident that after having done so 
 the
 flicker will be gone. If not I'll let you know.

 As a good news: 4.14 is *not* affected. So to me it seems those two
 patches are part of sort of a package and can not be backported alone.

 So long!
 Rainer Fiebig
 diff --git a/drivers/gpu/drm/i915/intel_pm.c 
 b/drivers/gpu/drm/i915/intel_pm.c
 index 49de476..277a802 100644
 --- a/drivers/gpu/drm/i915/intel_pm.c
 +++ b/drivers/gpu/drm/i915/intel_pm.c
 @@ -27,6 +27,7 @@
  
  #include 
  #include 
 +#include 
  #include "i915_drv.h"
  #include "intel_drv.h"
  #include "../../../platform/x86/intel_ips.h"
 @@ -2017,9 +2018,9 @@ static void ilk_compute_wm_level(const struct 
 drm_i915_private *dev_priv,
 const struct intel_crtc *intel_crtc,
 int level,
 struct intel_crtc_state *cstate,
 -   struct intel_plane_state *pristate,
 -   struct intel_plane_state *sprstate,
 -   struct intel_plane_state *curstate,
 +   const struct intel_plane_state 
 *pristate,
 +   const struct intel_plane_state 
 *sprstate,
 +   const struct intel_plane_state 
 *curstate,
 struct intel_wm_level *result)
  {
uint16_t pri_latency = dev_priv->wm.pri_latency[level];
 @@ -2341,28 +2342,24 @@ static int ilk_compute_pipe_wm(struct 
 intel_crtc_state *cstate)
struct intel_pipe_wm *pipe_wm;
struct drm_device *dev = state->dev;
const struct drm_i915_private *dev_priv = to_i915(dev);
 -  struct intel_plane *intel_plane;
 -  struct intel_plane_state *pristate = NULL;
 -  

Re: 4.9.62: intermittent flicker after upgrade from 4.9.61

2017-11-20 Thread Maarten Lankhorst
Op 20-11-17 om 09:51 schreef Rainer Fiebig:
> Jani Nikula wrote:
>> On Sun, 19 Nov 2017, Greg KH  wrote:
>>> On Sun, Nov 19, 2017 at 01:44:06PM +0100, Rainer Fiebig wrote:
 Greg KH wrote:
> On Sun, Nov 19, 2017 at 12:56:26PM +0100, Rainer Fiebig wrote:
>> Greg KH wrote:
>>> On Sat, Nov 18, 2017 at 05:08:20PM +0100, Rainer Fiebig wrote:
 Greg KH wrote:
> On Sat, Nov 18, 2017 at 01:47:32PM +0100, Rainer Fiebig wrote:
>> Hi!
>>
>> Hopefully the right addressee.
>>
>> Encountered two bad backports which cause screen-flicker.
>> dmesg shows:
>>
>> ...
>> [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
>> [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder A FIFO 
>> underrun
>> [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe B FIFO underrun
>> [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder B FIFO 
>> underrun
>> ...
>>
>> CPU: Intel Core i3 (Clarkdale/Ironlake)
>>
>> The backports are:
>>
>> - diff --git a/drivers/gpu/drm/i915/intel_pm.c
>> b/drivers/gpu/drm/i915/intel_pm.c
>> index 49de476..277a802 100644
>> - diff --git a/drivers/gpu/drm/i915/intel_drv.h
>> b/drivers/gpu/drm/i915/intel_drv.h
>> index a19ec06..3ce9ba3 100644
>>
>> After reversing them the flicker is gone, no more messages in dmesg. 
>> All
>> else OK so far.
> So which commit was the one that caused the problem?  I will be glad 
> to
> revert it.
>
> thanks,
>
> greg k-h
>
>
 I started by reverting the more complex one first ("index
 49de476..277a802100644"). But the kernel wouldn't compile then.
>>> What git commit id is that?  I don't see those ids in the 4.9-stable
>>> tree.
>>>
 So I also reverted "index a19ec06..3ce9ba3 100644". After that the
 kernel compiled just fine and the problems were gone (still are).
>>> Same here, what git commit id was this?
>>>
>>> thanks,
>>>
>>> greg k-h
>>>
>> OK, no mistake. IIRC, I took the patches (and the IDs) from the
>> changelog for patch-4.9.62. I've attached both, so you can check 
>> yourself.
>>
>> I've also applied a freshly downloaded patch-4.9.62 to a freshly
>> expanded 4.9 and re-compiled. The flicker is there. I haven't yet
>> reverted the two patches but I'm confident that after having done so the
>> flicker will be gone. If not I'll let you know.
>>
>> As a good news: 4.14 is *not* affected. So to me it seems those two
>> patches are part of sort of a package and can not be backported alone.
>>
>> So long!
>> Rainer Fiebig
>> diff --git a/drivers/gpu/drm/i915/intel_pm.c 
>> b/drivers/gpu/drm/i915/intel_pm.c
>> index 49de476..277a802 100644
>> --- a/drivers/gpu/drm/i915/intel_pm.c
>> +++ b/drivers/gpu/drm/i915/intel_pm.c
>> @@ -27,6 +27,7 @@
>>  
>>  #include 
>>  #include 
>> +#include 
>>  #include "i915_drv.h"
>>  #include "intel_drv.h"
>>  #include "../../../platform/x86/intel_ips.h"
>> @@ -2017,9 +2018,9 @@ static void ilk_compute_wm_level(const struct 
>> drm_i915_private *dev_priv,
>>   const struct intel_crtc *intel_crtc,
>>   int level,
>>   struct intel_crtc_state *cstate,
>> - struct intel_plane_state *pristate,
>> - struct intel_plane_state *sprstate,
>> - struct intel_plane_state *curstate,
>> + const struct intel_plane_state 
>> *pristate,
>> + const struct intel_plane_state 
>> *sprstate,
>> + const struct intel_plane_state 
>> *curstate,
>>   struct intel_wm_level *result)
>>  {
>>  uint16_t pri_latency = dev_priv->wm.pri_latency[level];
>> @@ -2341,28 +2342,24 @@ static int ilk_compute_pipe_wm(struct 
>> intel_crtc_state *cstate)
>>  struct intel_pipe_wm *pipe_wm;
>>  struct drm_device *dev = state->dev;
>>  const struct drm_i915_private *dev_priv = to_i915(dev);
>> -struct intel_plane *intel_plane;
>> -struct intel_plane_state *pristate = NULL;
>> -struct intel_plane_state *sprstate = NULL;
>> -struct intel_plane_state *curstate = NULL;
>> +struct drm_plane *plane;
>> +const struct drm_plane_state *plane_state;
>> +const struct intel_plane_state *pristate = NULL;
>> + 

Re: 4.9.62: intermittent flicker after upgrade from 4.9.61

2017-11-20 Thread Jani Nikula
On Sun, 19 Nov 2017, Greg KH  wrote:
> On Sun, Nov 19, 2017 at 01:44:06PM +0100, Rainer Fiebig wrote:
>> Greg KH wrote:
>> > On Sun, Nov 19, 2017 at 12:56:26PM +0100, Rainer Fiebig wrote:
>> >> Greg KH wrote:
>> >>> On Sat, Nov 18, 2017 at 05:08:20PM +0100, Rainer Fiebig wrote:
>>  Greg KH wrote:
>> > On Sat, Nov 18, 2017 at 01:47:32PM +0100, Rainer Fiebig wrote:
>> >> Hi!
>> >>
>> >> Hopefully the right addressee.
>> >>
>> >> Encountered two bad backports which cause screen-flicker.
>> >> dmesg shows:
>> >>
>> >> ...
>> >> [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
>> >> [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder A FIFO 
>> >> underrun
>> >> [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe B FIFO underrun
>> >> [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder B FIFO 
>> >> underrun
>> >> ...
>> >>
>> >> CPU: Intel Core i3 (Clarkdale/Ironlake)
>> >>
>> >> The backports are:
>> >>
>> >> - diff --git a/drivers/gpu/drm/i915/intel_pm.c
>> >> b/drivers/gpu/drm/i915/intel_pm.c
>> >> index 49de476..277a802 100644
>> >> - diff --git a/drivers/gpu/drm/i915/intel_drv.h
>> >> b/drivers/gpu/drm/i915/intel_drv.h
>> >> index a19ec06..3ce9ba3 100644
>> >>
>> >> After reversing them the flicker is gone, no more messages in dmesg. 
>> >> All
>> >> else OK so far.
>> >
>> > So which commit was the one that caused the problem?  I will be glad to
>> > revert it.
>> >
>> > thanks,
>> >
>> > greg k-h
>> >
>> >
>> 
>>  I started by reverting the more complex one first ("index
>>  49de476..277a802100644"). But the kernel wouldn't compile then.
>> >>>
>> >>> What git commit id is that?  I don't see those ids in the 4.9-stable
>> >>> tree.
>> >>>
>>  So I also reverted "index a19ec06..3ce9ba3 100644". After that the
>>  kernel compiled just fine and the problems were gone (still are).
>> >>>
>> >>> Same here, what git commit id was this?
>> >>>
>> >>> thanks,
>> >>>
>> >>> greg k-h
>> >>>
>> >>
>> >> OK, no mistake. IIRC, I took the patches (and the IDs) from the
>> >> changelog for patch-4.9.62. I've attached both, so you can check yourself.
>> >>
>> >> I've also applied a freshly downloaded patch-4.9.62 to a freshly
>> >> expanded 4.9 and re-compiled. The flicker is there. I haven't yet
>> >> reverted the two patches but I'm confident that after having done so the
>> >> flicker will be gone. If not I'll let you know.
>> >>
>> >> As a good news: 4.14 is *not* affected. So to me it seems those two
>> >> patches are part of sort of a package and can not be backported alone.
>> >>
>> >> So long!
>> >> Rainer Fiebig
>> > 
>> >> diff --git a/drivers/gpu/drm/i915/intel_pm.c 
>> >> b/drivers/gpu/drm/i915/intel_pm.c
>> >> index 49de476..277a802 100644
>> >> --- a/drivers/gpu/drm/i915/intel_pm.c
>> >> +++ b/drivers/gpu/drm/i915/intel_pm.c
>> >> @@ -27,6 +27,7 @@
>> >>  
>> >>  #include 
>> >>  #include 
>> >> +#include 
>> >>  #include "i915_drv.h"
>> >>  #include "intel_drv.h"
>> >>  #include "../../../platform/x86/intel_ips.h"
>> >> @@ -2017,9 +2018,9 @@ static void ilk_compute_wm_level(const struct 
>> >> drm_i915_private *dev_priv,
>> >>const struct intel_crtc *intel_crtc,
>> >>int level,
>> >>struct intel_crtc_state *cstate,
>> >> -  struct intel_plane_state *pristate,
>> >> -  struct intel_plane_state *sprstate,
>> >> -  struct intel_plane_state *curstate,
>> >> +  const struct intel_plane_state *pristate,
>> >> +  const struct intel_plane_state *sprstate,
>> >> +  const struct intel_plane_state *curstate,
>> >>struct intel_wm_level *result)
>> >>  {
>> >>   uint16_t pri_latency = dev_priv->wm.pri_latency[level];
>> >> @@ -2341,28 +2342,24 @@ static int ilk_compute_pipe_wm(struct 
>> >> intel_crtc_state *cstate)
>> >>   struct intel_pipe_wm *pipe_wm;
>> >>   struct drm_device *dev = state->dev;
>> >>   const struct drm_i915_private *dev_priv = to_i915(dev);
>> >> - struct intel_plane *intel_plane;
>> >> - struct intel_plane_state *pristate = NULL;
>> >> - struct intel_plane_state *sprstate = NULL;
>> >> - struct intel_plane_state *curstate = NULL;
>> >> + struct drm_plane *plane;
>> >> + const struct drm_plane_state *plane_state;
>> >> + const struct intel_plane_state *pristate = NULL;
>> >> + const struct intel_plane_state *sprstate = NULL;
>> >> + const struct intel_plane_state *curstate = NULL;
>> >>   int level, max_level = ilk_wm_max_level(dev), usable_level;
>> >>   struct ilk_wm_maximums max;
>> >>  
>> >>   pipe_wm = >wm.ilk.optimal;
>> >>  
>> >> - for_each_intel_plane_on_crtc(dev, intel_crtc, intel_plane) {

Re: 4.9.62: intermittent flicker after upgrade from 4.9.61

2017-11-20 Thread Rainer Fiebig
Greg KH wrote:
> On Sun, Nov 19, 2017 at 12:56:26PM +0100, Rainer Fiebig wrote:
>> Greg KH wrote:
>>> On Sat, Nov 18, 2017 at 05:08:20PM +0100, Rainer Fiebig wrote:
 Greg KH wrote:
> On Sat, Nov 18, 2017 at 01:47:32PM +0100, Rainer Fiebig wrote:
>> Hi!
>>
>> Hopefully the right addressee.
>>
>> Encountered two bad backports which cause screen-flicker.
>> dmesg shows:
>>
>> ...
>> [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
>> [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder A FIFO underrun
>> [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe B FIFO underrun
>> [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder B FIFO underrun
>> ...
>>
>> CPU: Intel Core i3 (Clarkdale/Ironlake)
>>
>> The backports are:
>>
>> - diff --git a/drivers/gpu/drm/i915/intel_pm.c
>> b/drivers/gpu/drm/i915/intel_pm.c
>> index 49de476..277a802 100644
>> - diff --git a/drivers/gpu/drm/i915/intel_drv.h
>> b/drivers/gpu/drm/i915/intel_drv.h
>> index a19ec06..3ce9ba3 100644
>>
>> After reversing them the flicker is gone, no more messages in dmesg. All
>> else OK so far.
>
> So which commit was the one that caused the problem?  I will be glad to
> revert it.
>
> thanks,
>
> greg k-h
>
>

 I started by reverting the more complex one first ("index
 49de476..277a802100644"). But the kernel wouldn't compile then.
>>>
>>> What git commit id is that?  I don't see those ids in the 4.9-stable
>>> tree.
>>>
 So I also reverted "index a19ec06..3ce9ba3 100644". After that the
 kernel compiled just fine and the problems were gone (still are).
>>>
>>> Same here, what git commit id was this?
>>>
>>> thanks,
>>>
>>> greg k-h
>>>
>>
>> OK, no mistake. IIRC, I took the patches (and the IDs) from the
>> changelog for patch-4.9.62. I've attached both, so you can check yourself.
>>
>> I've also applied a freshly downloaded patch-4.9.62 to a freshly
>> expanded 4.9 and re-compiled. The flicker is there. I haven't yet
>> reverted the two patches but I'm confident that after having done so the
>> flicker will be gone. If not I'll let you know.
>>
>> As a good news: 4.14 is *not* affected. So to me it seems those two
>> patches are part of sort of a package and can not be backported alone.
>>
>> So long!
>> Rainer Fiebig
> 
>> diff --git a/drivers/gpu/drm/i915/intel_pm.c 
>> b/drivers/gpu/drm/i915/intel_pm.c
>> index 49de476..277a802 100644
>> --- a/drivers/gpu/drm/i915/intel_pm.c
>> +++ b/drivers/gpu/drm/i915/intel_pm.c
>> @@ -27,6 +27,7 @@
>>  
>>  #include 
>>  #include 
>> +#include 
>>  #include "i915_drv.h"
>>  #include "intel_drv.h"
>>  #include "../../../platform/x86/intel_ips.h"
>> @@ -2017,9 +2018,9 @@ static void ilk_compute_wm_level(const struct 
>> drm_i915_private *dev_priv,
>>   const struct intel_crtc *intel_crtc,
>>   int level,
>>   struct intel_crtc_state *cstate,
>> - struct intel_plane_state *pristate,
>> - struct intel_plane_state *sprstate,
>> - struct intel_plane_state *curstate,
>> + const struct intel_plane_state *pristate,
>> + const struct intel_plane_state *sprstate,
>> + const struct intel_plane_state *curstate,
>>   struct intel_wm_level *result)
>>  {
>>  uint16_t pri_latency = dev_priv->wm.pri_latency[level];
>> @@ -2341,28 +2342,24 @@ static int ilk_compute_pipe_wm(struct 
>> intel_crtc_state *cstate)
>>  struct intel_pipe_wm *pipe_wm;
>>  struct drm_device *dev = state->dev;
>>  const struct drm_i915_private *dev_priv = to_i915(dev);
>> -struct intel_plane *intel_plane;
>> -struct intel_plane_state *pristate = NULL;
>> -struct intel_plane_state *sprstate = NULL;
>> -struct intel_plane_state *curstate = NULL;
>> +struct drm_plane *plane;
>> +const struct drm_plane_state *plane_state;
>> +const struct intel_plane_state *pristate = NULL;
>> +const struct intel_plane_state *sprstate = NULL;
>> +const struct intel_plane_state *curstate = NULL;
>>  int level, max_level = ilk_wm_max_level(dev), usable_level;
>>  struct ilk_wm_maximums max;
>>  
>>  pipe_wm = >wm.ilk.optimal;
>>  
>> -for_each_intel_plane_on_crtc(dev, intel_crtc, intel_plane) {
>> -struct intel_plane_state *ps;
>> +drm_atomic_crtc_state_for_each_plane_state(plane, plane_state, 
>> >base) {
>> +const struct intel_plane_state *ps = 
>> to_intel_plane_state(plane_state);
>>  
>> -ps = intel_atomic_get_existing_plane_state(state,
>> -   intel_plane);
>> -if (!ps)
>> -continue;
>> -
>> -  

Re: 4.9.62: intermittent flicker after upgrade from 4.9.61

2017-11-19 Thread Greg KH
On Sun, Nov 19, 2017 at 01:44:06PM +0100, Rainer Fiebig wrote:
> Greg KH wrote:
> > On Sun, Nov 19, 2017 at 12:56:26PM +0100, Rainer Fiebig wrote:
> >> Greg KH wrote:
> >>> On Sat, Nov 18, 2017 at 05:08:20PM +0100, Rainer Fiebig wrote:
>  Greg KH wrote:
> > On Sat, Nov 18, 2017 at 01:47:32PM +0100, Rainer Fiebig wrote:
> >> Hi!
> >>
> >> Hopefully the right addressee.
> >>
> >> Encountered two bad backports which cause screen-flicker.
> >> dmesg shows:
> >>
> >> ...
> >> [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
> >> [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder A FIFO 
> >> underrun
> >> [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe B FIFO underrun
> >> [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder B FIFO 
> >> underrun
> >> ...
> >>
> >> CPU: Intel Core i3 (Clarkdale/Ironlake)
> >>
> >> The backports are:
> >>
> >> - diff --git a/drivers/gpu/drm/i915/intel_pm.c
> >> b/drivers/gpu/drm/i915/intel_pm.c
> >> index 49de476..277a802 100644
> >> - diff --git a/drivers/gpu/drm/i915/intel_drv.h
> >> b/drivers/gpu/drm/i915/intel_drv.h
> >> index a19ec06..3ce9ba3 100644
> >>
> >> After reversing them the flicker is gone, no more messages in dmesg. 
> >> All
> >> else OK so far.
> >
> > So which commit was the one that caused the problem?  I will be glad to
> > revert it.
> >
> > thanks,
> >
> > greg k-h
> >
> >
> 
>  I started by reverting the more complex one first ("index
>  49de476..277a802100644"). But the kernel wouldn't compile then.
> >>>
> >>> What git commit id is that?  I don't see those ids in the 4.9-stable
> >>> tree.
> >>>
>  So I also reverted "index a19ec06..3ce9ba3 100644". After that the
>  kernel compiled just fine and the problems were gone (still are).
> >>>
> >>> Same here, what git commit id was this?
> >>>
> >>> thanks,
> >>>
> >>> greg k-h
> >>>
> >>
> >> OK, no mistake. IIRC, I took the patches (and the IDs) from the
> >> changelog for patch-4.9.62. I've attached both, so you can check yourself.
> >>
> >> I've also applied a freshly downloaded patch-4.9.62 to a freshly
> >> expanded 4.9 and re-compiled. The flicker is there. I haven't yet
> >> reverted the two patches but I'm confident that after having done so the
> >> flicker will be gone. If not I'll let you know.
> >>
> >> As a good news: 4.14 is *not* affected. So to me it seems those two
> >> patches are part of sort of a package and can not be backported alone.
> >>
> >> So long!
> >> Rainer Fiebig
> > 
> >> diff --git a/drivers/gpu/drm/i915/intel_pm.c 
> >> b/drivers/gpu/drm/i915/intel_pm.c
> >> index 49de476..277a802 100644
> >> --- a/drivers/gpu/drm/i915/intel_pm.c
> >> +++ b/drivers/gpu/drm/i915/intel_pm.c
> >> @@ -27,6 +27,7 @@
> >>  
> >>  #include 
> >>  #include 
> >> +#include 
> >>  #include "i915_drv.h"
> >>  #include "intel_drv.h"
> >>  #include "../../../platform/x86/intel_ips.h"
> >> @@ -2017,9 +2018,9 @@ static void ilk_compute_wm_level(const struct 
> >> drm_i915_private *dev_priv,
> >> const struct intel_crtc *intel_crtc,
> >> int level,
> >> struct intel_crtc_state *cstate,
> >> -   struct intel_plane_state *pristate,
> >> -   struct intel_plane_state *sprstate,
> >> -   struct intel_plane_state *curstate,
> >> +   const struct intel_plane_state *pristate,
> >> +   const struct intel_plane_state *sprstate,
> >> +   const struct intel_plane_state *curstate,
> >> struct intel_wm_level *result)
> >>  {
> >>uint16_t pri_latency = dev_priv->wm.pri_latency[level];
> >> @@ -2341,28 +2342,24 @@ static int ilk_compute_pipe_wm(struct 
> >> intel_crtc_state *cstate)
> >>struct intel_pipe_wm *pipe_wm;
> >>struct drm_device *dev = state->dev;
> >>const struct drm_i915_private *dev_priv = to_i915(dev);
> >> -  struct intel_plane *intel_plane;
> >> -  struct intel_plane_state *pristate = NULL;
> >> -  struct intel_plane_state *sprstate = NULL;
> >> -  struct intel_plane_state *curstate = NULL;
> >> +  struct drm_plane *plane;
> >> +  const struct drm_plane_state *plane_state;
> >> +  const struct intel_plane_state *pristate = NULL;
> >> +  const struct intel_plane_state *sprstate = NULL;
> >> +  const struct intel_plane_state *curstate = NULL;
> >>int level, max_level = ilk_wm_max_level(dev), usable_level;
> >>struct ilk_wm_maximums max;
> >>  
> >>pipe_wm = >wm.ilk.optimal;
> >>  
> >> -  for_each_intel_plane_on_crtc(dev, intel_crtc, intel_plane) {
> >> -  struct intel_plane_state *ps;
> >> +  drm_atomic_crtc_state_for_each_plane_state(plane, plane_state, 
> >> >base) {
> >> +  const struct 

Re: 4.9.62: intermittent flicker after upgrade from 4.9.61

2017-11-19 Thread Greg KH
On Sun, Nov 19, 2017 at 12:56:26PM +0100, Rainer Fiebig wrote:
> Greg KH wrote:
> > On Sat, Nov 18, 2017 at 05:08:20PM +0100, Rainer Fiebig wrote:
> >> Greg KH wrote:
> >>> On Sat, Nov 18, 2017 at 01:47:32PM +0100, Rainer Fiebig wrote:
>  Hi!
> 
>  Hopefully the right addressee.
> 
>  Encountered two bad backports which cause screen-flicker.
>  dmesg shows:
> 
>  ...
>  [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe A FIFO underrun
>  [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder A FIFO underrun
>  [drm:ironlake_irq_handler [i915]] *ERROR* CPU pipe B FIFO underrun
>  [drm:ironlake_irq_handler [i915]] *ERROR* PCH transcoder B FIFO underrun
>  ...
> 
>  CPU: Intel Core i3 (Clarkdale/Ironlake)
> 
>  The backports are:
> 
>  - diff --git a/drivers/gpu/drm/i915/intel_pm.c
>  b/drivers/gpu/drm/i915/intel_pm.c
>  index 49de476..277a802 100644
>  - diff --git a/drivers/gpu/drm/i915/intel_drv.h
>  b/drivers/gpu/drm/i915/intel_drv.h
>  index a19ec06..3ce9ba3 100644
> 
>  After reversing them the flicker is gone, no more messages in dmesg. All
>  else OK so far.
> >>>
> >>> So which commit was the one that caused the problem?  I will be glad to
> >>> revert it.
> >>>
> >>> thanks,
> >>>
> >>> greg k-h
> >>>
> >>>
> >>
> >> I started by reverting the more complex one first ("index
> >> 49de476..277a802100644"). But the kernel wouldn't compile then.
> > 
> > What git commit id is that?  I don't see those ids in the 4.9-stable
> > tree.
> > 
> >> So I also reverted "index a19ec06..3ce9ba3 100644". After that the
> >> kernel compiled just fine and the problems were gone (still are).
> > 
> > Same here, what git commit id was this?
> > 
> > thanks,
> > 
> > greg k-h
> > 
> 
> OK, no mistake. IIRC, I took the patches (and the IDs) from the
> changelog for patch-4.9.62. I've attached both, so you can check yourself.
> 
> I've also applied a freshly downloaded patch-4.9.62 to a freshly
> expanded 4.9 and re-compiled. The flicker is there. I haven't yet
> reverted the two patches but I'm confident that after having done so the
> flicker will be gone. If not I'll let you know.
> 
> As a good news: 4.14 is *not* affected. So to me it seems those two
> patches are part of sort of a package and can not be backported alone.
> 
> So long!
> Rainer Fiebig

> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 49de476..277a802 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -27,6 +27,7 @@
>  
>  #include 
>  #include 
> +#include 
>  #include "i915_drv.h"
>  #include "intel_drv.h"
>  #include "../../../platform/x86/intel_ips.h"
> @@ -2017,9 +2018,9 @@ static void ilk_compute_wm_level(const struct 
> drm_i915_private *dev_priv,
>const struct intel_crtc *intel_crtc,
>int level,
>struct intel_crtc_state *cstate,
> -  struct intel_plane_state *pristate,
> -  struct intel_plane_state *sprstate,
> -  struct intel_plane_state *curstate,
> +  const struct intel_plane_state *pristate,
> +  const struct intel_plane_state *sprstate,
> +  const struct intel_plane_state *curstate,
>struct intel_wm_level *result)
>  {
>   uint16_t pri_latency = dev_priv->wm.pri_latency[level];
> @@ -2341,28 +2342,24 @@ static int ilk_compute_pipe_wm(struct 
> intel_crtc_state *cstate)
>   struct intel_pipe_wm *pipe_wm;
>   struct drm_device *dev = state->dev;
>   const struct drm_i915_private *dev_priv = to_i915(dev);
> - struct intel_plane *intel_plane;
> - struct intel_plane_state *pristate = NULL;
> - struct intel_plane_state *sprstate = NULL;
> - struct intel_plane_state *curstate = NULL;
> + struct drm_plane *plane;
> + const struct drm_plane_state *plane_state;
> + const struct intel_plane_state *pristate = NULL;
> + const struct intel_plane_state *sprstate = NULL;
> + const struct intel_plane_state *curstate = NULL;
>   int level, max_level = ilk_wm_max_level(dev), usable_level;
>   struct ilk_wm_maximums max;
>  
>   pipe_wm = >wm.ilk.optimal;
>  
> - for_each_intel_plane_on_crtc(dev, intel_crtc, intel_plane) {
> - struct intel_plane_state *ps;
> + drm_atomic_crtc_state_for_each_plane_state(plane, plane_state, 
> >base) {
> + const struct intel_plane_state *ps = 
> to_intel_plane_state(plane_state);
>  
> - ps = intel_atomic_get_existing_plane_state(state,
> -intel_plane);
> - if (!ps)
> - continue;
> -
> - if (intel_plane->base.type ==