All of lore.kernel.org
 help / color / mirror / Atom feed
* Radeon R700 multi-ring bug
@ 2014-04-18 23:48 Marek Olšák
  2014-04-19  9:54 ` Christian König
  0 siblings, 1 reply; 6+ messages in thread
From: Marek Olšák @ 2014-04-18 23:48 UTC (permalink / raw)
  To: dri-devel

Hi,

If you submit a lot of graphics and DMA IBs interleaved, the graphics
CS checker sometimes fails with this message:

[ 3846.435661] Forbidden register 0x0014 in cs at 9
[ 3846.435664] [drm:radeon_cs_ib_chunk] *ERROR* Invalid command stream !

This error is only used for type-0 packets, but we don't use these
packets on R700 at all. Somehow, the graphics CS checker received
either the DMA IB or random garbage. My guess is there is memory
corruption happening during IB uploading and/or IB checking in the
kernel. Also, if you are unlucky, the GPU hangs instead.

The CS thread offloading was disabled in Mesa, so the user space was
single-threaded.

There are 2 ways to fix this:
- disable async DMA in Mesa
- call usleep(1) after the RADEON_CS ioctl returns

This is just a heads-up. In the worst case, we can disable async DMA
for R700 in Mesa.

Marek

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-04-19 16:10 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-18 23:48 Radeon R700 multi-ring bug Marek Olšák
2014-04-19  9:54 ` Christian König
2014-04-19 14:43   ` Alex Deucher
2014-04-19 15:07   ` Marek Olšák
2014-04-19 15:19     ` Alex Deucher
2014-04-19 16:09       ` Marek Olšák

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.