GPUCORE-35468: Serialize access to GLB_DB_REQ to ring CSG doorbell

This commit fixes the race between the ring of CSG doorbell to send the
acknowledgment for the CS_FAULT event and the ring of CSG doorbell for
sending the CSG start/resume request. Due to the race the update made to
GLB_DB_REQ for the start/resume request was lost and so the request
timed out.

The acknowledgment for the CS_FAULT event is sent in interrupt handler
whereas CSG requests are sent in the process context where Scheduler
mutex is held.
To serialize the access to GLB_DB_REQ between interrupt handler and
process context, this commit uses the interrupt_lock.

Change-Id: I51b2abad52952e0f27a05deb0519508e4c9bd0d2
Bug: 242161241
Bug: 235434294
Test: ~60h local SST.
Provenance: https://code.ipdelivery.arm.com/c/GPU/mali-ddk/+/4599
Note: Adapted for CONFIG_MALI_HOST_CONTROLS_SC_RAILS (378860272aef3).
3 files changed
tree: f5c8b1b6a1f7a22ef2578635b86ac5724d9d5aa7
  1. common/
  2. mali_kbase/
  3. mali_pixel/