From: Russell King - ARM Linux <linux@armlinux.org.uk>
To: Lucas Stach <l.stach@pengutronix.de>
Cc: kernel@pengutronix.de, etnaviv@lists.freedesktop.org,
dri-devel@lists.freedesktop.org, patchwork-lst@pengutronix.de
Subject: [BUG 4.17] etnaviv-gpu f1840000.gpu: recover hung GPU!
Date: Tue, 19 Jun 2018 10:43:03 +0100 [thread overview]
Message-ID: <20180619094303.GE17671@n2100.armlinux.org.uk> (raw)
It looks like a bug has crept in to etnaviv between 4.16 and 4.17,
which causes etnaviv to misbehave with the GC600 GPU on Dove. I
don't think it's a GPU issue, I think it's a DRM issue.
I get multiple:
[ 596.711482] etnaviv-gpu f1840000.gpu: recover hung GPU!
[ 597.732852] etnaviv-gpu f1840000.gpu: GPU failed to reset: FE not idle, 3D not idle, 2D not idle
while Xorg is starting up. Ignore the "failed to reset", that
just seems to be a property of the GC600, and of course is a
subsequent issue after the primary problem.
Looking at the devcoredump:
00000004 = 000000fe Idle: FE- DE+ PE+ SH+ PA+ SE+ RA+ TX+ VG- IM- FP- TS-
So, all units on the GC600 were idle except for the front end.
00000660 = 00000812 Cmd: [wait DMA: idle Fetch: valid] Req idle Cal idle
00000664 = 102d06d8 Command DMA address
00000668 = 380000c8 FE fetched word 0
0000066c = 0000001f FE fetched word 1
The front end was basically idle at this point, at a WAIT 200 command.
Digging through the ring:
00688: 08010e01 00000040 LDST 0x3804=0x00000040
00690: 40000002 102d06a0 LINK 0x102d06a0
00698: 40000002 102d0690 LINK 0x102d0690
006a0: 08010e04 0000001f LDST 0x3810=0x0000001f
006a8: 40000025 102d3000 LINK 0x102d3000
006b0: 08010e03 00000008 LDST 0x380c=0x00000008 Flush PE2D
006b8: 08010e02 00000701 LDST 0x3808=0x00000701 SEM FE -> PE
006c0: 48000000 00000701 STALL FE -> PE
006c8: 08010e01 00000041 LDST 0x3804=0x00000041
006d0: 380000c8(0000001f) WAIT 200
006d8: 40000002 102d06d0 LINK 0x102d06d0 <===========
We've basically come to the end of the currently issued command stream
and hit the wait-link loop. Everything else in the devcoredump looks
normal.
So, I think etnaviv DRM has missed an event signalled from the GPU.
This worked fine in 4.16, so seems to be a regression.
--
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 8.8Mbps down 630kbps up
According to speedtest.net: 8.21Mbps down 510kbps up
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next reply other threads:[~2018-06-19 9:43 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-19 9:43 Russell King - ARM Linux [this message]
2018-06-19 10:09 ` [BUG 4.17] etnaviv-gpu f1840000.gpu: recover hung GPU! Lucas Stach
2018-06-19 11:00 ` Russell King - ARM Linux
2018-06-19 11:11 ` Lucas Stach
2018-06-19 11:42 ` Russell King - ARM Linux
2018-06-19 12:28 ` Lucas Stach
2018-06-19 15:56 ` Russell King - ARM Linux
2018-06-26 8:17 ` Russell King - ARM Linux
2018-06-26 15:36 ` Russell King - ARM Linux
2018-06-26 15:48 ` Lucas Stach
2018-06-27 14:38 ` Lucas Stach
2018-07-11 20:13 ` Russell King - ARM Linux
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180619094303.GE17671@n2100.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=dri-devel@lists.freedesktop.org \
--cc=etnaviv@lists.freedesktop.org \
--cc=kernel@pengutronix.de \
--cc=l.stach@pengutronix.de \
--cc=patchwork-lst@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox