mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-13 08:07:32 -04:00
msm: kgsl: Fix message handling in hwsched hfi interrupt handler
Do not process HFI messages on the message queue in the interrupt handler before interrupts are enabled on that queue. Otherwise, the interrupt handler will read it off the queue, and then the inline handler will not find any messages on the queue. Change-Id: I569f29250c27a1a74e206489ad8234b2be39d448 Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
This commit is contained in:
parent
88cb36d31e
commit
4381c3443b
1 changed files with 8 additions and 0 deletions
|
|
@ -234,6 +234,14 @@ static irqreturn_t a6xx_hwsched_hfi_handler(int irq, void *data)
|
|||
gmu_core_regread(device, A6XX_GMU_GMU2HOST_INTR_INFO, &status);
|
||||
gmu_core_regwrite(device, A6XX_GMU_GMU2HOST_INTR_CLR, hfi->irq_mask);
|
||||
|
||||
/*
|
||||
* If interrupts are not enabled on the HFI message queue,
|
||||
* the inline message processing loop will process it,
|
||||
* else, process it here.
|
||||
*/
|
||||
if (!(hfi->irq_mask & HFI_IRQ_MSGQ_MASK))
|
||||
status &= ~HFI_IRQ_MSGQ_MASK;
|
||||
|
||||
if (status & HFI_IRQ_MSGQ_MASK)
|
||||
process_msgq_irq(adreno_dev);
|
||||
if (status & HFI_IRQ_DBGQ_MASK)
|
||||
|
|
|
|||
Loading…
Reference in a new issue