WARNING: CPU: 0 PID: 3634 at drivers/gpu/drm/drm_irq.c:1141 drm_wait_one_vblank
diff mbox

Message ID 20150630165929.GB30960@phenom.ffwll.local
State New
Headers show

Commit Message

Daniel Vetter June 30, 2015, 4:59 p.m. UTC
On Tue, Jun 30, 2015 at 06:07:44PM +0200, Michal Hocko wrote:
> On Tue 30-06-15 16:32:49, Daniel Vetter wrote:
> [...]
> > Looks like the vblank is actually running, just the wakeup somehow doesn't
> > happen in time. What machine is this (lspci -nn)?
> 
> 00:00.0 Host bridge [0600]: Intel Corporation 2nd Generation Core Processor Family DRAM Controller [8086:0104] (rev 09)
> 00:02.0 VGA compatible controller [0300]: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0126] (rev 09)
> 00:16.0 Communication controller [0780]: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 [8086:1c3a] (rev 04)
> 00:16.3 Serial controller [0700]: Intel Corporation 6 Series/C200 Series Chipset Family KT Controller [8086:1c3d] (rev 04)
> 00:19.0 Ethernet controller [0200]: Intel Corporation 82579LM Gigabit Network Connection [8086:1502] (rev 04)
> 00:1a.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 [8086:1c2d] (rev 04)
> 00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 04)
> 00:1c.0 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 [8086:1c10] (rev b4)
> 00:1c.1 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 [8086:1c12] (rev b4)
> 00:1c.2 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3 [8086:1c14] (rev b4)
> 00:1c.3 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 [8086:1c16] (rev b4)
> 00:1c.5 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 6 [8086:1c1a] (rev b4)
> 00:1d.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 [8086:1c26] (rev 04)
> 00:1f.0 ISA bridge [0601]: Intel Corporation QM67 Express Chipset Family LPC Controller [8086:1c4f] (rev 04)
> 00:1f.2 SATA controller [0106]: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller [8086:1c03] (rev 04)
> 00:1f.3 SMBus [0c05]: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller [8086:1c22] (rev 04)
> 02:00.0 Network controller [0280]: Intel Corporation Centrino Ultimate-N 6300 [8086:422b] (rev 35)
> 0a:00.0 SD Host controller [0805]: O2 Micro, Inc. OZ600FJ0/OZ900FJ0/OZ600FJS SD/MMC Card Reader Controller [1217:8221] (rev 05)
> 
> > Also please boot with
> > drm.debug=0xe and grab dmesg after this happens for the first time.
> > logfile will be large, you might need to increase the buffer size with
> > log_buf_len or grab it from the hd.
> 
> See attached.
>  
> > Also what happens when you increase the timeout to 1000 (just to make sure
> > it's not just a silly delay somewhere).
> 
> Still happening even when the timeout was increased to 1000. Curiously
> the display is much darker with this change and I cannot make it
> brighter by function keys...
> 
> > Also have you any special features like psr, fbc or something similar
> > enabled?
> 
> I am not aware of anything like that. How do I check it?

I looked at dmesg, nothing out of the ordinary there. Unfortunately also
no hints why the pipe is somehow off when we think it's on. Can you please
test the below patch and grab a new dmesg?

Also it might be time to start bisecting this if you can readily reproduce it.
-Daniel

Comments

Michal Hocko June 30, 2015, 8:13 p.m. UTC | #1
On Tue 30-06-15 18:59:29, Daniel Vetter wrote:
[...]
> I looked at dmesg, nothing out of the ordinary there. Unfortunately also
> no hints why the pipe is somehow off when we think it's on. Can you please
> test the below patch and grab a new dmesg?

Attached.

> Also it might be time to start bisecting this if you can readily reproduce it.

Yes, I can reproduce it just by switching to the text console. Sometimes
it is the first attempt already but sometimes it takes several attempts.
I will try to go back to 4.0 and bisect it then.

> -Daniel
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index d0f3cbc87474..b8d9314ef459 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -12190,7 +12190,7 @@ static int intel_crtc_set_config(struct drm_mode_set *set)
>  		 * flipping, so increasing its cost here shouldn't be a big
>  		 * deal).
>  		 */
> -		if (i915.fastboot && ret == 0)
> +		if (ret == 0)
>  			intel_modeset_check_state(set->crtc->dev);
>  	}
>  
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
Daniel Vetter July 1, 2015, 8:26 a.m. UTC | #2
On Tue, Jun 30, 2015 at 10:13:35PM +0200, Michal Hocko wrote:
> On Tue 30-06-15 18:59:29, Daniel Vetter wrote:
> [...]
> > I looked at dmesg, nothing out of the ordinary there. Unfortunately also
> > no hints why the pipe is somehow off when we think it's on. Can you please
> > test the below patch and grab a new dmesg?
> 
> Attached.

I'm still baffled - looking at the code intel_crtc->active should be set,
but somehow the real hw pipe is dead. Or at least we don't get a vblank
irq for it somehow. Confusing.

> > Also it might be time to start bisecting this if you can readily reproduce it.
> 
> Yes, I can reproduce it just by switching to the text console. Sometimes
> it is the first attempt already but sometimes it takes several attempts.
> I will try to go back to 4.0 and bisect it then.

Yes please do, since this is a confusing regression I think the bisect
result will be the fastest way forward.
-Daniel
Michal Hocko July 1, 2015, 12:12 p.m. UTC | #3
On Wed 01-07-15 10:26:39, Daniel Vetter wrote:
> On Tue, Jun 30, 2015 at 10:13:35PM +0200, Michal Hocko wrote:
> > On Tue 30-06-15 18:59:29, Daniel Vetter wrote:
[...]
> > > Also it might be time to start bisecting this if you can readily reproduce it.
> > 
> > Yes, I can reproduce it just by switching to the text console. Sometimes
> > it is the first attempt already but sometimes it takes several attempts.
> > I will try to go back to 4.0 and bisect it then.
> 
> Yes please do, since this is a confusing regression I think the bisect
> result will be the fastest way forward.

OK, managed to bisect to cf4c7c12258e ("drm/i915: Make all plane
disables use 'update_plane' (v5)") (CC people involved - the thread
starts here: http://marc.info/?l=dri-devel&m=143566543432613&w=2 for
your reference).

I do not see the warning when I revert the commit directly on top of
cf4c7c12258e but I cannot cleanly revert it on top of the current Linus'
tree. Anything more I can give you to help to further debug the issue?

Bisect log is:
git bisect start
# bad: [c517d838eb7d07bbe9507871fab3931deccff539] Linux 4.0-rc1
git bisect bad c517d838eb7d07bbe9507871fab3931deccff539
# good: [bfa76d49576599a4b9f9b7a71f23d73d6dcff735] Linux 3.19
git bisect good bfa76d49576599a4b9f9b7a71f23d73d6dcff735
# good: [02f1f2170d2831b3233e91091c60a66622f29e82] kernel.h: remove ancient __FUNCTION__ hack
git bisect good 02f1f2170d2831b3233e91091c60a66622f29e82
# bad: [796e1c55717e9a6ff5c81b12289ffa1ffd919b6f] Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux
git bisect bad 796e1c55717e9a6ff5c81b12289ffa1ffd919b6f
# good: [9682ec9692e5ac11c6caebd079324e727b19e7ce] Merge tag 'driver-core-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
git bisect good 9682ec9692e5ac11c6caebd079324e727b19e7ce
# good: [a9724125ad014decf008d782e60447c811391326] Merge tag 'tty-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
git bisect good a9724125ad014decf008d782e60447c811391326
# bad: [f43dff0ee00a259f524ce17ba4f8030553c66590] Merge tag 'drm-amdkfd-next-fixes-2015-01-25' of git://people.freedesktop.org/~gabbayo/linux into drm-next
git bisect bad f43dff0ee00a259f524ce17ba4f8030553c66590
# good: [b942c653ae265abbd31032f3b4f5f857e5c7c723] Merge tag 'trace-sh-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
git bisect good b942c653ae265abbd31032f3b4f5f857e5c7c723
# good: [fcf3aac5fc307f0cae429f5844ddc25761662858] drm/i915: remove unused power_well/get_cdclk_freq api
git bisect good fcf3aac5fc307f0cae429f5844ddc25761662858
# bad: [4f4d89af78682f2ed1cf6745794804817f867bba] Merge tag 'drm-amdkfd-next-2015-01-09' of git://people.freedesktop.org/~gabbayo/linux into drm-next
git bisect bad 4f4d89af78682f2ed1cf6745794804817f867bba
# bad: [64387b613a43713d0e03d9d43bfbb1727e8475e1] drm/i915: Protect against leaks in pipe_crc_set_source
git bisect bad 64387b613a43713d0e03d9d43bfbb1727e8475e1
# good: [bfc882b4e30fbc169ecfe3508378623743806f56] drm/i915: Flatten engine init control flow
git bisect good bfc882b4e30fbc169ecfe3508378623743806f56
# good: [2b875c22fa77dfc895d3cf8287a553813d3e64c8] drm/i915: Make intel_plane_state subclass drm_plane_state
git bisect good 2b875c22fa77dfc895d3cf8287a553813d3e64c8
# bad: [15a17aae5f803551981a7acc6a4058b247a7452c] drm/i915: Check mask/bit helper functions
git bisect bad 15a17aae5f803551981a7acc6a4058b247a7452c
# bad: [146d84f0f2707bfe2c67114eeefac30da8584b3b] drm/i915: Fix up seqno -> request merge issues
git bisect bad 146d84f0f2707bfe2c67114eeefac30da8584b3b
# good: [c59cb179aaf444931cf9c547a514e383da3d2526] drm/i915: Consolidate top-level .update_plane() handlers
git bisect good c59cb179aaf444931cf9c547a514e383da3d2526
# bad: [cf4c7c12258ed9367f4fc45238f5f50d2db892c1] drm/i915: Make all plane disables use 'update_plane' (v5)
git bisect bad cf4c7c12258ed9367f4fc45238f5f50d2db892c1
# good: [e614c3c946ae5b50a679d65d2c981615d8ceccab] drm/i915: Ensure state->crtc is non-NULL for plane updates
git bisect good e614c3c946ae5b50a679d65d2c981615d8ceccab
# first bad commit: [cf4c7c12258ed9367f4fc45238f5f50d2db892c1] drm/i915: Make all plane disables use 'update_plane' (v5)
Jani Nikula July 1, 2015, 12:23 p.m. UTC | #4
+intel-gfx and Matt

On Wed, 01 Jul 2015, Michal Hocko <mhocko@suse.cz> wrote:
> On Wed 01-07-15 10:26:39, Daniel Vetter wrote:
>> On Tue, Jun 30, 2015 at 10:13:35PM +0200, Michal Hocko wrote:
>> > On Tue 30-06-15 18:59:29, Daniel Vetter wrote:
> [...]
>> > > Also it might be time to start bisecting this if you can readily reproduce it.
>> > 
>> > Yes, I can reproduce it just by switching to the text console. Sometimes
>> > it is the first attempt already but sometimes it takes several attempts.
>> > I will try to go back to 4.0 and bisect it then.
>> 
>> Yes please do, since this is a confusing regression I think the bisect
>> result will be the fastest way forward.
>
> OK, managed to bisect to cf4c7c12258e ("drm/i915: Make all plane
> disables use 'update_plane' (v5)") (CC people involved - the thread
> starts here: http://marc.info/?l=dri-devel&m=143566543432613&w=2 for
> your reference).
>
> I do not see the warning when I revert the commit directly on top of
> cf4c7c12258e but I cannot cleanly revert it on top of the current Linus'
> tree. Anything more I can give you to help to further debug the issue?
>
> Bisect log is:
> git bisect start
> # bad: [c517d838eb7d07bbe9507871fab3931deccff539] Linux 4.0-rc1
> git bisect bad c517d838eb7d07bbe9507871fab3931deccff539
> # good: [bfa76d49576599a4b9f9b7a71f23d73d6dcff735] Linux 3.19
> git bisect good bfa76d49576599a4b9f9b7a71f23d73d6dcff735
> # good: [02f1f2170d2831b3233e91091c60a66622f29e82] kernel.h: remove ancient __FUNCTION__ hack
> git bisect good 02f1f2170d2831b3233e91091c60a66622f29e82
> # bad: [796e1c55717e9a6ff5c81b12289ffa1ffd919b6f] Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux
> git bisect bad 796e1c55717e9a6ff5c81b12289ffa1ffd919b6f
> # good: [9682ec9692e5ac11c6caebd079324e727b19e7ce] Merge tag 'driver-core-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
> git bisect good 9682ec9692e5ac11c6caebd079324e727b19e7ce
> # good: [a9724125ad014decf008d782e60447c811391326] Merge tag 'tty-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
> git bisect good a9724125ad014decf008d782e60447c811391326
> # bad: [f43dff0ee00a259f524ce17ba4f8030553c66590] Merge tag 'drm-amdkfd-next-fixes-2015-01-25' of git://people.freedesktop.org/~gabbayo/linux into drm-next
> git bisect bad f43dff0ee00a259f524ce17ba4f8030553c66590
> # good: [b942c653ae265abbd31032f3b4f5f857e5c7c723] Merge tag 'trace-sh-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
> git bisect good b942c653ae265abbd31032f3b4f5f857e5c7c723
> # good: [fcf3aac5fc307f0cae429f5844ddc25761662858] drm/i915: remove unused power_well/get_cdclk_freq api
> git bisect good fcf3aac5fc307f0cae429f5844ddc25761662858
> # bad: [4f4d89af78682f2ed1cf6745794804817f867bba] Merge tag 'drm-amdkfd-next-2015-01-09' of git://people.freedesktop.org/~gabbayo/linux into drm-next
> git bisect bad 4f4d89af78682f2ed1cf6745794804817f867bba
> # bad: [64387b613a43713d0e03d9d43bfbb1727e8475e1] drm/i915: Protect against leaks in pipe_crc_set_source
> git bisect bad 64387b613a43713d0e03d9d43bfbb1727e8475e1
> # good: [bfc882b4e30fbc169ecfe3508378623743806f56] drm/i915: Flatten engine init control flow
> git bisect good bfc882b4e30fbc169ecfe3508378623743806f56
> # good: [2b875c22fa77dfc895d3cf8287a553813d3e64c8] drm/i915: Make intel_plane_state subclass drm_plane_state
> git bisect good 2b875c22fa77dfc895d3cf8287a553813d3e64c8
> # bad: [15a17aae5f803551981a7acc6a4058b247a7452c] drm/i915: Check mask/bit helper functions
> git bisect bad 15a17aae5f803551981a7acc6a4058b247a7452c
> # bad: [146d84f0f2707bfe2c67114eeefac30da8584b3b] drm/i915: Fix up seqno -> request merge issues
> git bisect bad 146d84f0f2707bfe2c67114eeefac30da8584b3b
> # good: [c59cb179aaf444931cf9c547a514e383da3d2526] drm/i915: Consolidate top-level .update_plane() handlers
> git bisect good c59cb179aaf444931cf9c547a514e383da3d2526
> # bad: [cf4c7c12258ed9367f4fc45238f5f50d2db892c1] drm/i915: Make all plane disables use 'update_plane' (v5)
> git bisect bad cf4c7c12258ed9367f4fc45238f5f50d2db892c1
> # good: [e614c3c946ae5b50a679d65d2c981615d8ceccab] drm/i915: Ensure state->crtc is non-NULL for plane updates
> git bisect good e614c3c946ae5b50a679d65d2c981615d8ceccab
> # first bad commit: [cf4c7c12258ed9367f4fc45238f5f50d2db892c1] drm/i915: Make all plane disables use 'update_plane' (v5)
> -- 
> Michal Hocko
> SUSE Labs
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
Daniel Vetter July 7, 2015, 8:43 a.m. UTC | #5
On Wed, Jul 01, 2015 at 03:23:39PM +0300, Jani Nikula wrote:
> 
> +intel-gfx and Matt
> 
> On Wed, 01 Jul 2015, Michal Hocko <mhocko@suse.cz> wrote:
> > On Wed 01-07-15 10:26:39, Daniel Vetter wrote:
> >> On Tue, Jun 30, 2015 at 10:13:35PM +0200, Michal Hocko wrote:
> >> > On Tue 30-06-15 18:59:29, Daniel Vetter wrote:
> > [...]
> >> > > Also it might be time to start bisecting this if you can readily reproduce it.
> >> > 
> >> > Yes, I can reproduce it just by switching to the text console. Sometimes
> >> > it is the first attempt already but sometimes it takes several attempts.
> >> > I will try to go back to 4.0 and bisect it then.
> >> 
> >> Yes please do, since this is a confusing regression I think the bisect
> >> result will be the fastest way forward.
> >
> > OK, managed to bisect to cf4c7c12258e ("drm/i915: Make all plane
> > disables use 'update_plane' (v5)") (CC people involved - the thread
> > starts here: http://marc.info/?l=dri-devel&m=143566543432613&w=2 for
> > your reference).
> >
> > I do not see the warning when I revert the commit directly on top of
> > cf4c7c12258e but I cannot cleanly revert it on top of the current Linus'
> > tree. Anything more I can give you to help to further debug the issue?

Ok still haven't grown much clue unfortunately. The bisect just points at
where we started to do that vblank_wait in the codepath that somehow
breaks for you. But we should check whether vblank will work beforehand or
not. It's also strange that it only fails sporadically. Can you please
boot with drm.debug=0xf (lots more nois in dmesg with this) and reproduce?
I only need the last few pages before the WARNING backtrace, just to
understand a bit better what's going on there.

Thanks, Daniel
> >
> > Bisect log is:
> > git bisect start
> > # bad: [c517d838eb7d07bbe9507871fab3931deccff539] Linux 4.0-rc1
> > git bisect bad c517d838eb7d07bbe9507871fab3931deccff539
> > # good: [bfa76d49576599a4b9f9b7a71f23d73d6dcff735] Linux 3.19
> > git bisect good bfa76d49576599a4b9f9b7a71f23d73d6dcff735
> > # good: [02f1f2170d2831b3233e91091c60a66622f29e82] kernel.h: remove ancient __FUNCTION__ hack
> > git bisect good 02f1f2170d2831b3233e91091c60a66622f29e82
> > # bad: [796e1c55717e9a6ff5c81b12289ffa1ffd919b6f] Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux
> > git bisect bad 796e1c55717e9a6ff5c81b12289ffa1ffd919b6f
> > # good: [9682ec9692e5ac11c6caebd079324e727b19e7ce] Merge tag 'driver-core-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
> > git bisect good 9682ec9692e5ac11c6caebd079324e727b19e7ce
> > # good: [a9724125ad014decf008d782e60447c811391326] Merge tag 'tty-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
> > git bisect good a9724125ad014decf008d782e60447c811391326
> > # bad: [f43dff0ee00a259f524ce17ba4f8030553c66590] Merge tag 'drm-amdkfd-next-fixes-2015-01-25' of git://people.freedesktop.org/~gabbayo/linux into drm-next
> > git bisect bad f43dff0ee00a259f524ce17ba4f8030553c66590
> > # good: [b942c653ae265abbd31032f3b4f5f857e5c7c723] Merge tag 'trace-sh-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
> > git bisect good b942c653ae265abbd31032f3b4f5f857e5c7c723
> > # good: [fcf3aac5fc307f0cae429f5844ddc25761662858] drm/i915: remove unused power_well/get_cdclk_freq api
> > git bisect good fcf3aac5fc307f0cae429f5844ddc25761662858
> > # bad: [4f4d89af78682f2ed1cf6745794804817f867bba] Merge tag 'drm-amdkfd-next-2015-01-09' of git://people.freedesktop.org/~gabbayo/linux into drm-next
> > git bisect bad 4f4d89af78682f2ed1cf6745794804817f867bba
> > # bad: [64387b613a43713d0e03d9d43bfbb1727e8475e1] drm/i915: Protect against leaks in pipe_crc_set_source
> > git bisect bad 64387b613a43713d0e03d9d43bfbb1727e8475e1
> > # good: [bfc882b4e30fbc169ecfe3508378623743806f56] drm/i915: Flatten engine init control flow
> > git bisect good bfc882b4e30fbc169ecfe3508378623743806f56
> > # good: [2b875c22fa77dfc895d3cf8287a553813d3e64c8] drm/i915: Make intel_plane_state subclass drm_plane_state
> > git bisect good 2b875c22fa77dfc895d3cf8287a553813d3e64c8
> > # bad: [15a17aae5f803551981a7acc6a4058b247a7452c] drm/i915: Check mask/bit helper functions
> > git bisect bad 15a17aae5f803551981a7acc6a4058b247a7452c
> > # bad: [146d84f0f2707bfe2c67114eeefac30da8584b3b] drm/i915: Fix up seqno -> request merge issues
> > git bisect bad 146d84f0f2707bfe2c67114eeefac30da8584b3b
> > # good: [c59cb179aaf444931cf9c547a514e383da3d2526] drm/i915: Consolidate top-level .update_plane() handlers
> > git bisect good c59cb179aaf444931cf9c547a514e383da3d2526
> > # bad: [cf4c7c12258ed9367f4fc45238f5f50d2db892c1] drm/i915: Make all plane disables use 'update_plane' (v5)
> > git bisect bad cf4c7c12258ed9367f4fc45238f5f50d2db892c1
> > # good: [e614c3c946ae5b50a679d65d2c981615d8ceccab] drm/i915: Ensure state->crtc is non-NULL for plane updates
> > git bisect good e614c3c946ae5b50a679d65d2c981615d8ceccab
> > # first bad commit: [cf4c7c12258ed9367f4fc45238f5f50d2db892c1] drm/i915: Make all plane disables use 'update_plane' (v5)
> > -- 
> > Michal Hocko
> > SUSE Labs
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/dri-devel
> 
> -- 
> Jani Nikula, Intel Open Source Technology Center
Michal Hocko July 8, 2015, 6:40 a.m. UTC | #6
I have just tried to boot 4.2-rc1 and cannot seem to reproduce the issue
anymore.

On Tue 07-07-15 10:43:58, Daniel Vetter wrote:
[...]
> Can you please
> boot with drm.debug=0xf (lots more nois in dmesg with this) and reproduce?
> I only need the last few pages before the WARNING backtrace, just to
> understand a bit better what's going on there.

And 0xf debug level seem to paper over the problem because I do not see
the warning even with 4.1 where I am able to reproduce this reliably.
This suggests this is a timing sensitive issue.
Daniel Vetter July 8, 2015, 7:32 a.m. UTC | #7
On Wed, Jul 08, 2015 at 08:40:17AM +0200, Michal Hocko wrote:
> I have just tried to boot 4.2-rc1 and cannot seem to reproduce the issue
> anymore.
> 
> On Tue 07-07-15 10:43:58, Daniel Vetter wrote:
> [...]
> > Can you please
> > boot with drm.debug=0xf (lots more nois in dmesg with this) and reproduce?
> > I only need the last few pages before the WARNING backtrace, just to
> > understand a bit better what's going on there.
> 
> And 0xf debug level seem to paper over the problem because I do not see
> the warning even with 4.1 where I am able to reproduce this reliably.
> This suggests this is a timing sensitive issue.

Ok that's starting to get nasty. Can you please test what happens when you
boot with drm.vblankoffdelay=0 and whether drm.vblankoffdelay=1000 has an
effect on reproduction rate? No debug output needed.
-Daniel
Michal Hocko July 8, 2015, 7:46 a.m. UTC | #8
On Wed 08-07-15 09:32:18, Daniel Vetter wrote:
[...]
> Ok that's starting to get nasty. Can you please test what happens when you
> boot with drm.vblankoffdelay=0 and whether drm.vblankoffdelay=1000 has an
> effect on reproduction rate? No debug output needed.

No difference. See the kernel log from both runs attached.

Patch
diff mbox

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index d0f3cbc87474..b8d9314ef459 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -12190,7 +12190,7 @@  static int intel_crtc_set_config(struct drm_mode_set *set)
 		 * flipping, so increasing its cost here shouldn't be a big
 		 * deal).
 		 */
-		if (i915.fastboot && ret == 0)
+		if (ret == 0)
 			intel_modeset_check_state(set->crtc->dev);
 	}