drm/v3d: Don't clear MMU control bits on exception
authorPhil Elwell <phil@raspberrypi.org>
Mon, 11 Nov 2019 14:01:41 +0000 (14:01 +0000)
committerpopcornmix <popcornmix@gmail.com>
Wed, 1 Jul 2020 15:33:08 +0000 (16:33 +0100)
commit464ed11fc31e7f6dc7521661e33cac541264613c
treef07ab0dad91fef25810b14a419b07abaa337dd6a
parent612d9f5d8aa0b257f2a68f953df3910af1518485
drm/v3d: Don't clear MMU control bits on exception

MMU exception conditions are reported in the V3D_MMU_CTRL register as
write-1-to-clear (W1C) bits. The MMU interrupt handling code clears any
exceptions, but does so by masking out any other bits and writing the
result back. There are some important control bits in that register,
including MMU_ENABLE, so a safer approach is to simply write back the
value just read unaltered.

This patch doesn't remove the cause of the apparent PTE errors, but it
does reduce the impact to just an error in the kernel log.

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
drivers/gpu/drm/v3d/v3d_irq.c