5fd889f473300db386a383935c50671d9bc0e4a9
[openwrt/openwrt.git] / target / linux / brcm2708 / patches-4.19 / 950-0579-drm-v3d-Make-sure-the-GPU-is-on-when-measuring-clock.patch
1 From 452de2d412157502f7365517eb21d2aaa25d5133 Mon Sep 17 00:00:00 2001
2 From: Eric Anholt <eric@anholt.net>
3 Date: Mon, 14 Jan 2019 17:26:04 -0800
4 Subject: [PATCH 579/773] drm/v3d: Make sure the GPU is on when measuring
5 clocks.
6
7 You'll get garbage measurements if the registers always read back
8 0xdeadbeef
9
10 Signed-off-by: Eric Anholt <eric@anholt.net>
11 ---
12 drivers/gpu/drm/v3d/v3d_debugfs.c | 8 ++++++++
13 1 file changed, 8 insertions(+)
14
15 --- a/drivers/gpu/drm/v3d/v3d_debugfs.c
16 +++ b/drivers/gpu/drm/v3d/v3d_debugfs.c
17 @@ -187,6 +187,11 @@ static int v3d_measure_clock(struct seq_
18 uint32_t cycles;
19 int core = 0;
20 int measure_ms = 1000;
21 + int ret;
22 +
23 + ret = pm_runtime_get_sync(v3d->dev);
24 + if (ret < 0)
25 + return ret;
26
27 if (v3d->ver >= 40) {
28 V3D_CORE_WRITE(core, V3D_V4_PCTR_0_SRC_0_3,
29 @@ -210,6 +215,9 @@ static int v3d_measure_clock(struct seq_
30 cycles / (measure_ms * 1000),
31 (cycles / (measure_ms * 100)) % 10);
32
33 + pm_runtime_mark_last_busy(v3d->dev);
34 + pm_runtime_put_autosuspend(v3d->dev);
35 +
36 return 0;
37 }
38