[msd-arm-mali] Fix deadlock processing gpu interrupts

The interrupt thread could be waiting for the device thread to process
a request (generally if the GPU faults) while the device thread could
wait for the interrupt thread to process a power changed interrupt.

Prevent the deadlock by avoiding having the interrupt thread wait on the
device thread - instead it can either process events itself or hand them
off asynchronously.

Test: astro:go/magma-tps#L0

Change-Id: I81e7cf4d8b652cdddf648a5f7ae6339a1263e361
3 files changed