drm/v3d: Correct clock settng calls to new APIs

There was a report that 6.12 kernel has lower benchmark
scores than 6.6.

I can confirm, and found it started with 6.8 kernel
which moved some code into a new file (v3d_submit.c)
and in two places the change to the clock api were missed.

The effect of the bug is the v3d clock sometimes
unwantedly drops to a lower rate.

With this patch the benchmark scores are good again.

Fixes: 86963038cb

Signed-off-by: Dom Cobley <popcornmix@gmail.com>
This commit is contained in:
Dom Cobley
2024-12-09 17:58:48 +00:00
parent c141a24f19
commit fe6a858096

View File

@@ -18,7 +18,7 @@ v3d_clock_down_work(struct work_struct *work)
container_of(work, struct v3d_dev, clk_down_work.work); container_of(work, struct v3d_dev, clk_down_work.work);
int ret; int ret;
ret = clk_set_rate(v3d->clk, v3d->clk_down_rate); ret = clk_set_min_rate(v3d->clk, v3d->clk_down_rate);
v3d->clk_up = false; v3d->clk_up = false;
WARN_ON_ONCE(ret != 0); WARN_ON_ONCE(ret != 0);
} }
@@ -32,7 +32,7 @@ v3d_clock_up_get(struct v3d_dev *v3d)
if (!v3d->clk_up) { if (!v3d->clk_up) {
int ret; int ret;
ret = clk_set_rate(v3d->clk, v3d->clk_up_rate); ret = clk_set_min_rate(v3d->clk, v3d->clk_up_rate);
WARN_ON_ONCE(ret != 0); WARN_ON_ONCE(ret != 0);
v3d->clk_up = true; v3d->clk_up = true;
} }