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

Commit d4050f9c authored by Hareesh Gundu's avatar Hareesh Gundu
Browse files

msm: kgsl: Print the process id for the context on a pagefault



When a pagefault occurs we already print the task ID of the faulting
group but also print the pid of the faulting context so that a multi
thread context can get a better idea of which of its children was
at fault.

Change-Id: Ic0dedbad425d972fa43e845db8a8d3387ec00c12
Signed-off-by: default avatarHareesh Gundu <hareeshg@codeaurora.org>
parent 336a29e7
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -680,13 +680,17 @@ static int kgsl_iommu_fault_handler(struct iommu_domain *domain,
		no_page_fault_log = kgsl_mmu_log_fault_addr(mmu, ptbase, addr);

	if (!no_page_fault_log && __ratelimit(&_rs)) {
		struct kgsl_context *context = kgsl_context_get(device,
							contextidr);

		dev_crit(ctx->kgsldev->dev,
			"GPU PAGE FAULT: addr = %lX pid= %d name=%s\n", addr,
			ptname, comm);
			"GPU PAGE FAULT: addr = %lX pid= %d name=%s drawctxt=%d context pid = %d\n",
			addr, ptname, comm, contextidr, context ? context->tid : 0);
		dev_crit(ctx->kgsldev->dev,
			"context=%s TTBR0=0x%llx CIDR=0x%x (%s %s fault)\n",
			ctx->name, ptbase, contextidr,
			write ? "write" : "read", fault_type);
			"context=%s TTBR0=0x%llx (%s %s fault)\n",
			ctx->name, ptbase, write ? "write" : "read", fault_type);

		kgsl_context_put(context);

		if (gpudev->iommu_fault_block) {
			unsigned int fsynr1;