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

Commit b4c0cbb0 authored by Kyle Piefer's avatar Kyle Piefer Committed by Gerrit - the friendly Code Review server
Browse files

msm: kgsl: Take a syncronous snapshot on DCVS failure



Sometimes, the dispatcher does not have enough time
to run when our DCVS HFI fails. Do an immediate snapshot
instead.

Change-Id: I28229308834197eebd6fe61e5139f8ff2055122a
Signed-off-by: default avatarKyle Piefer <kpiefer@codeaurora.org>
parent 56bfcaf7
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -70,6 +70,8 @@ struct gmu_iommu_context gmu_ctx[] = {
static struct gmu_memdesc gmu_kmem_entries[GMU_KERNEL_ENTRIES];
static unsigned long gmu_kmem_bitmap;
static unsigned int num_uncached_entries;

static void gmu_snapshot(struct kgsl_device *device);
static void gmu_remove(struct kgsl_device *device);

static int _gmu_iommu_fault_handler(struct device *dev,
@@ -530,9 +532,7 @@ static int gmu_dcvs_set(struct kgsl_device *device,
		dev_err_ratelimited(&gmu->pdev->dev,
			"Failed to set GPU perf idx %d, bw idx %d\n",
			req.freq, req.bw);

		adreno_set_gpu_fault(adreno_dev, ADRENO_GMU_FAULT);
		adreno_dispatcher_schedule(device);
		gmu_snapshot(device);
	}

	/* indicate actual clock change */