Loading drivers/gpu/msm/kgsl_iommu.c +8 −3 Original line number Diff line number Diff line Loading @@ -757,6 +757,7 @@ static int kgsl_iommu_fault_handler(struct iommu_domain *domain, unsigned int no_page_fault_log = 0; char *fault_type = "unknown"; char *comm = "unknown"; bool fault_ret_flag = false; struct kgsl_process_private *private; static DEFINE_RATELIMIT_STATE(_rs, Loading Loading @@ -800,9 +801,11 @@ static int kgsl_iommu_fault_handler(struct iommu_domain *domain, * Turn off GPU IRQ so we don't get faults from it too. * The device mutex must be held to change power state */ mutex_lock(&device->mutex); if (mutex_trylock(&device->mutex)) { kgsl_pwrctrl_change_state(device, KGSL_STATE_AWARE); mutex_unlock(&device->mutex); } else fault_ret_flag = true; } contextidr = KGSL_IOMMU_GET_CTX_REG(ctx, CONTEXTIDR); Loading Loading @@ -861,6 +864,8 @@ static int kgsl_iommu_fault_handler(struct iommu_domain *domain, dev_err(ctx->kgsldev->dev, "*EMPTY*\n"); } } if (fault_ret_flag) return ret; /* Loading Loading
drivers/gpu/msm/kgsl_iommu.c +8 −3 Original line number Diff line number Diff line Loading @@ -757,6 +757,7 @@ static int kgsl_iommu_fault_handler(struct iommu_domain *domain, unsigned int no_page_fault_log = 0; char *fault_type = "unknown"; char *comm = "unknown"; bool fault_ret_flag = false; struct kgsl_process_private *private; static DEFINE_RATELIMIT_STATE(_rs, Loading Loading @@ -800,9 +801,11 @@ static int kgsl_iommu_fault_handler(struct iommu_domain *domain, * Turn off GPU IRQ so we don't get faults from it too. * The device mutex must be held to change power state */ mutex_lock(&device->mutex); if (mutex_trylock(&device->mutex)) { kgsl_pwrctrl_change_state(device, KGSL_STATE_AWARE); mutex_unlock(&device->mutex); } else fault_ret_flag = true; } contextidr = KGSL_IOMMU_GET_CTX_REG(ctx, CONTEXTIDR); Loading Loading @@ -861,6 +864,8 @@ static int kgsl_iommu_fault_handler(struct iommu_domain *domain, dev_err(ctx->kgsldev->dev, "*EMPTY*\n"); } } if (fault_ret_flag) return ret; /* Loading