msm: kgsl: Fault tolernace for context with pagefault
If pagefault happened in same global timestamp
as the hang do not attempt replay for fault tolerance.
This is an improvement from previous policy of not
attempting fault tolerance for the context
with pagefault.
CRs-Fixed: 469807
Change-Id: Idc9512b9fab3c9a2bf0b33a7e06f3070075427ba
Signed-off-by: Tarun Karra <tkarra@codeaurora.org>
diff --git a/drivers/gpu/msm/kgsl_mmu.c b/drivers/gpu/msm/kgsl_mmu.c
index d1f58c4..f11511f 100644
--- a/drivers/gpu/msm/kgsl_mmu.c
+++ b/drivers/gpu/msm/kgsl_mmu.c
@@ -359,11 +359,11 @@
spin_lock(&kgsl_driver.ptlock);
list_for_each_entry(pt, &kgsl_driver.pagetable_list, list) {
if (mmu->mmu_ops->mmu_pt_equal(mmu, pt, pt_base)) {
- if ((addr & (PAGE_SIZE-1)) == pt->fault_addr) {
+ if ((addr & ~(PAGE_SIZE-1)) == pt->fault_addr) {
ret = 1;
break;
} else {
- pt->fault_addr = (addr & (PAGE_SIZE-1));
+ pt->fault_addr = (addr & ~(PAGE_SIZE-1));
ret = 0;
break;
}