mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-15 01:01:56 -04:00
msm: kgsl: Correctly handle gmu fault interrupts
Do not trigger dispatcher based snapshot or recovery. Instead, wait for the next kgsl -> GMU interaction to timeout thus triggering GMU snapshot and appropriate recovery steps based on whether gpu was active or not. Change-Id: I17b4245f4e0113bfc902d7dae46bb24d0bc2b65d Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
This commit is contained in:
parent
ab947c5e89
commit
d1e042852a
2 changed files with 2 additions and 8 deletions
|
|
@ -1023,8 +1023,6 @@ static irqreturn_t gmu_irq_handler(int irq, void *data)
|
|||
|
||||
dev_err_ratelimited(&gmu->pdev->dev,
|
||||
"GMU watchdog expired interrupt received\n");
|
||||
adreno_set_gpu_fault(adreno_dev, ADRENO_GMU_FAULT);
|
||||
adreno_dispatcher_schedule(device);
|
||||
}
|
||||
if (status & GMU_INT_HOST_AHB_BUS_ERR)
|
||||
dev_err_ratelimited(&gmu->pdev->dev,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <linux/delay.h>
|
||||
|
|
@ -843,7 +843,6 @@ irqreturn_t hfi_irq_handler(int irq, void *data)
|
|||
struct kgsl_device *device = data;
|
||||
struct gmu_device *gmu = KGSL_GMU_DEVICE(device);
|
||||
struct kgsl_hfi *hfi = &gmu->hfi;
|
||||
struct adreno_device *adreno_dev = ADRENO_DEVICE(device);
|
||||
unsigned int status = 0;
|
||||
|
||||
adreno_read_gmureg(ADRENO_DEVICE(device),
|
||||
|
|
@ -853,12 +852,9 @@ irqreturn_t hfi_irq_handler(int irq, void *data)
|
|||
|
||||
if (status & HFI_IRQ_DBGQ_MASK)
|
||||
tasklet_hi_schedule(&hfi->tasklet);
|
||||
if (status & HFI_IRQ_CM3_FAULT_MASK) {
|
||||
if (status & HFI_IRQ_CM3_FAULT_MASK)
|
||||
dev_err_ratelimited(&gmu->pdev->dev,
|
||||
"GMU CM3 fault interrupt received\n");
|
||||
adreno_set_gpu_fault(adreno_dev, ADRENO_GMU_FAULT);
|
||||
adreno_dispatcher_schedule(device);
|
||||
}
|
||||
if (status & ~HFI_IRQ_MASK)
|
||||
dev_err_ratelimited(&gmu->pdev->dev,
|
||||
"Unhandled HFI interrupts 0x%lx\n",
|
||||
|
|
|
|||
Loading…
Reference in a new issue