Re: 4.9.62: intermittent flicker after upgrade from 4.9.61
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 KHwrote: > > > 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
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 KHwrote: >>> 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
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 KHwrote: > 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
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 KHwrote: >>> 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
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 KHwrote: > > 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
Maarten Lankhorst wrote: > Op 20-11-17 om 09:51 schreef Rainer Fiebig: >> Jani Nikula wrote: >>> On Sun, 19 Nov 2017, Greg KHwrote: 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
Maarten Lankhorst wrote: > Op 20-11-17 om 09:51 schreef Rainer Fiebig: >> Jani Nikula wrote: >>> On Sun, 19 Nov 2017, Greg KHwrote: 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
Jani Nikula wrote: > On Sun, 19 Nov 2017, Greg KHwrote: >> 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
Maarten Lankhorst wrote: > Op 20-11-17 om 09:51 schreef Rainer Fiebig: >> Jani Nikula wrote: >>> On Sun, 19 Nov 2017, Greg KHwrote: 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
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 KHwrote: > 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
Op 20-11-17 om 09:51 schreef Rainer Fiebig: > Jani Nikula wrote: >> On Sun, 19 Nov 2017, Greg KHwrote: >>> 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
On Sun, 19 Nov 2017, Greg KHwrote: > 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
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
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
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 ==