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

Commit 4f661ef0 authored by Shubhraprakash Das's avatar Shubhraprakash Das
Browse files

msm: kgsl: Use GPU to switch pagetables when current one is default



Use the GPU to switch pagetables even if the current pagetable is
the default pagetable. This requires that commands are submitted to
GPU that do not belong to any context since the current context is
a NULL one. This is better for performance because if GPU is not
used to switch pagetable then synchronization is required between the
GPU and CPU.

Change-Id: I6c1a161fed0747714a86419cdd873ac080466bbf
Signed-off-by: default avatarShubhraprakash Das <sadas@codeaurora.org>
parent 59210237
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -1114,10 +1114,7 @@ static int adreno_iommu_setstate(struct kgsl_device *device,
	num_iommu_units = kgsl_mmu_get_num_iommu_units(&device->mmu);

	context = kgsl_context_get(device, context_id);
	if (!context) {
		kgsl_mmu_device_setstate(&device->mmu, flags);
		return 0;
	}
	if (context)
		adreno_ctx = ADRENO_CONTEXT(context);

	result = kgsl_mmu_enable_clk(&device->mmu, KGSL_IOMMU_CONTEXT_USER);
+1 −1
Original line number Diff line number Diff line
@@ -722,7 +722,7 @@ adreno_ringbuffer_addcmds(struct adreno_ringbuffer *rb,

	/* Add any IB required for profiling if it is enabled */
	if (profile_ready)
		adreno_profile_preib_processing(rb->device, drawctxt->base.id,
		adreno_profile_preib_processing(rb->device, context_id,
				&flags, &ringcmds, &rcmd_gpu);

	/* start-of-pipeline timestamp */