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

Commit 67e96864 authored by Puranam V G Tejaswi's avatar Puranam V G Tejaswi Committed by Raghu Ananya Arabolu
Browse files

msm: kgsl: fix out of bounds register read warnings



Out of bounds register read observed because GPU registers are read
through gmu_core_regread function. Fix this by changing gmu_core_regread
to kgsl_regread.

Change-Id: I58734c0398f471fab5347a74fd795333c0bf3ff4
Signed-off-by: default avatarPuranam V G Tejaswi <pvgtejas@codeaurora.org>
parent 93b3d48f
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -889,11 +889,11 @@ static int a6xx_gmu_wait_for_lowest_idle(struct kgsl_device *device)


	/* Collect abort data to help with debugging */
	/* Collect abort data to help with debugging */
	gmu_core_regread(device, A6XX_GPU_GMU_AO_GPU_CX_BUSY_STATUS, &reg2);
	gmu_core_regread(device, A6XX_GPU_GMU_AO_GPU_CX_BUSY_STATUS, &reg2);
	gmu_core_regread(device, A6XX_CP_STATUS_1, &reg3);
	kgsl_regread(device, A6XX_CP_STATUS_1, &reg3);
	gmu_core_regread(device, A6XX_GMU_RBBM_INT_UNMASKED_STATUS, &reg4);
	gmu_core_regread(device, A6XX_GMU_RBBM_INT_UNMASKED_STATUS, &reg4);
	gmu_core_regread(device, A6XX_GMU_GMU_PWR_COL_KEEPALIVE, &reg5);
	gmu_core_regread(device, A6XX_GMU_GMU_PWR_COL_KEEPALIVE, &reg5);
	gmu_core_regread(device, A6XX_CP_CP2GMU_STATUS, &reg6);
	kgsl_regread(device, A6XX_CP_CP2GMU_STATUS, &reg6);
	gmu_core_regread(device, A6XX_CP_CONTEXT_SWITCH_CNTL, &reg7);
	kgsl_regread(device, A6XX_CP_CONTEXT_SWITCH_CNTL, &reg7);
	gmu_core_regread(device, A6XX_GMU_AO_SPARE_CNTL, &reg8);
	gmu_core_regread(device, A6XX_GMU_AO_SPARE_CNTL, &reg8);


	dev_err(&gmu->pdev->dev,
	dev_err(&gmu->pdev->dev,
+3 −3
Original line number Original line Diff line number Diff line
@@ -300,11 +300,11 @@ static int a6xx_rgmu_wait_for_lowest_idle(struct kgsl_device *device)
	gmu_core_regread(device, A6XX_RGMU_CX_PCC_DEBUG, &reg[1]);
	gmu_core_regread(device, A6XX_RGMU_CX_PCC_DEBUG, &reg[1]);
	gmu_core_regread(device, A6XX_RGMU_CX_PCC_STATUS, &reg[2]);
	gmu_core_regread(device, A6XX_RGMU_CX_PCC_STATUS, &reg[2]);
	gmu_core_regread(device, A6XX_GPU_GMU_AO_GPU_CX_BUSY_STATUS, &reg[3]);
	gmu_core_regread(device, A6XX_GPU_GMU_AO_GPU_CX_BUSY_STATUS, &reg[3]);
	gmu_core_regread(device, A6XX_CP_STATUS_1, &reg[4]);
	kgsl_regread(device, A6XX_CP_STATUS_1, &reg[4]);
	gmu_core_regread(device, A6XX_GMU_RBBM_INT_UNMASKED_STATUS, &reg[5]);
	gmu_core_regread(device, A6XX_GMU_RBBM_INT_UNMASKED_STATUS, &reg[5]);
	gmu_core_regread(device, A6XX_GMU_GMU_PWR_COL_KEEPALIVE, &reg[6]);
	gmu_core_regread(device, A6XX_GMU_GMU_PWR_COL_KEEPALIVE, &reg[6]);
	gmu_core_regread(device, A6XX_CP_CP2GMU_STATUS, &reg[7]);
	kgsl_regread(device, A6XX_CP_CP2GMU_STATUS, &reg[7]);
	gmu_core_regread(device, A6XX_CP_CONTEXT_SWITCH_CNTL, &reg[8]);
	kgsl_regread(device, A6XX_CP_CONTEXT_SWITCH_CNTL, &reg[8]);
	gmu_core_regread(device, A6XX_GMU_AO_SPARE_CNTL, &reg[9]);
	gmu_core_regread(device, A6XX_GMU_AO_SPARE_CNTL, &reg[9]);


	dev_err(&rgmu->pdev->dev,
	dev_err(&rgmu->pdev->dev,