Merge "msm: kgsl: Fix gdsc disable timeout during reset"
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

commit
d184fa35bf
@@ -1272,7 +1272,15 @@ static const char *a6xx_fault_block_uche(struct kgsl_device *device,
|
|||||||
unsigned int uche_client_id = 0;
|
unsigned int uche_client_id = 0;
|
||||||
static char str[40];
|
static char str[40];
|
||||||
|
|
||||||
mutex_lock(&device->mutex);
|
/*
|
||||||
|
* Smmu driver takes a vote on CX gdsc before calling the kgsl
|
||||||
|
* pagefault handler. If there is contention for device mutex in this
|
||||||
|
* path and the dispatcher fault handler is holding this lock, trying
|
||||||
|
* to turn off CX gdsc will fail during the reset. So to avoid blocking
|
||||||
|
* here, try to lock device mutex and return if it fails.
|
||||||
|
*/
|
||||||
|
if (!mutex_trylock(&device->mutex))
|
||||||
|
return "UCHE: unknown";
|
||||||
|
|
||||||
if (!kgsl_state_is_awake(device)) {
|
if (!kgsl_state_is_awake(device)) {
|
||||||
mutex_unlock(&device->mutex);
|
mutex_unlock(&device->mutex);
|
||||||
|
Reference in New Issue
Block a user