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

Commit 74910dd6 authored by Jordan Crouse's avatar Jordan Crouse
Browse files

drm/msm: Keep the power on throughout the entire ->show() operation



Enabling and disabling the power at various points in the ->show()
call flow may have detrimental effects. For all targets make sure
power is on before reading any register and leave it on until we are
all done.

Change-Id: Ic0dedbad4d37a11634174105fc3ee6fe3713a143
Signed-off-by: default avatarJordan Crouse <jcrouse@codeaurora.org>
parent 8eac9a50
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -409,8 +409,8 @@ static void a3xx_show(struct msm_gpu *gpu, struct seq_file *m)
	gpu->funcs->pm_resume(gpu);
	seq_printf(m, "status:   %08x\n",
			gpu_read(gpu, REG_A3XX_RBBM_STATUS));
	gpu->funcs->pm_suspend(gpu);
	adreno_show(gpu, m);
	gpu->funcs->pm_suspend(gpu);
}
#endif

+1 −1
Original line number Diff line number Diff line
@@ -447,9 +447,9 @@ static void a4xx_show(struct msm_gpu *gpu, struct seq_file *m)

	seq_printf(m, "status:   %08x\n",
			gpu_read(gpu, REG_A4XX_RBBM_STATUS));
	gpu->funcs->pm_suspend(gpu);

	adreno_show(gpu, m);
	gpu->funcs->pm_suspend(gpu);

}
#endif
+1 −1
Original line number Diff line number Diff line
@@ -1246,9 +1246,9 @@ static void a5xx_show(struct msm_gpu *gpu, struct seq_file *m)

	seq_printf(m, "status:   %08x\n",
			gpu_read(gpu, REG_A5XX_RBBM_STATUS));
	gpu->funcs->pm_suspend(gpu);

	adreno_show(gpu, m);
	gpu->funcs->pm_suspend(gpu);
}
#endif

+0 −4
Original line number Diff line number Diff line
@@ -297,8 +297,6 @@ void adreno_show(struct msm_gpu *gpu, struct seq_file *m)
		seq_printf(m, "rb wptr:  %d\n", get_wptr(ring));
	}

	gpu->funcs->pm_resume(gpu);

	/* dump these out in a form that can be parsed by demsm: */
	seq_printf(m, "IO:region %s 00000000 00020000\n", gpu->name);
	for (i = 0; adreno_gpu->registers[i] != ~0; i += 2) {
@@ -311,8 +309,6 @@ void adreno_show(struct msm_gpu *gpu, struct seq_file *m)
			seq_printf(m, "IO:R %08x %08x\n", addr<<2, val);
		}
	}

	gpu->funcs->pm_suspend(gpu);
}
#endif