Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c108a412 authored by Tarun Karra's avatar Tarun Karra
Browse files

msm: kgsl: Treat 0x0 as valid GPU pagetable physical address



Iommu driver could be allocating a valid GPU pagetable at
physical address 0x0, remove assumption from GPU kernel driver
that 0x0 is invalid pagetable address.

Change-Id: I213c0fbc1d90a13bef83c7d7589ad9e5729771fd
Signed-off-by: default avatarTarun Karra <tkarra@codeaurora.org>
parent 773c2fbd
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -631,16 +631,18 @@ static int kgsl_iommu_pt_equal(struct kgsl_mmu *mmu,
				phys_addr_t pt_base)
{
	struct kgsl_iommu_pt *iommu_pt = pt ? pt->priv : NULL;
	phys_addr_t domain_ptbase = iommu_pt ?
				iommu_get_pt_base_addr(iommu_pt->domain) : 0;
	phys_addr_t domain_ptbase;

	/* Only compare the valid address bits of the pt_base */
	domain_ptbase &= KGSL_IOMMU_CTX_TTBR0_ADDR_MASK;
	if (iommu_pt == NULL)
		return 0;

	domain_ptbase = iommu_get_pt_base_addr(iommu_pt->domain)
			& KGSL_IOMMU_CTX_TTBR0_ADDR_MASK;

	pt_base &= KGSL_IOMMU_CTX_TTBR0_ADDR_MASK;

	return domain_ptbase && pt_base &&
		(domain_ptbase == pt_base);
	return (domain_ptbase == pt_base);

}

/*