mirror of https://github.com/openwrt/openwrt.git
41 lines
1.4 KiB
Diff
41 lines
1.4 KiB
Diff
From 352d96c9e50012f2b5e5dde9933af8d570e7dc81 Mon Sep 17 00:00:00 2001
|
|
From: Dom Cobley <popcornmix@gmail.com>
|
|
Date: Mon, 17 Jul 2023 17:45:32 +0100
|
|
Subject: [PATCH] drm/vc4: kms: Avoid setting core and disp clocks for hdmi
|
|
modes
|
|
|
|
On 2712, the firmware always runs these clock at a speed sufficient
|
|
for dual 4kp60.
|
|
|
|
The requests here prevent the gpu from going into its lowest voltage
|
|
mode, so just skip the clock requests.
|
|
|
|
With this applied the idle voltage on my pi 5 reduces from 0.7424V
|
|
to 0.72V.
|
|
|
|
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
|
|
---
|
|
drivers/gpu/drm/vc4/vc4_kms.c | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
--- a/drivers/gpu/drm/vc4/vc4_kms.c
|
|
+++ b/drivers/gpu/drm/vc4/vc4_kms.c
|
|
@@ -435,7 +435,7 @@ static void vc4_atomic_commit_tail(struc
|
|
old_hvs_state->fifo_state[channel].pending_commit = NULL;
|
|
}
|
|
|
|
- if (vc4->gen >= VC4_GEN_5 && !vc4->firmware_kms) {
|
|
+ if (vc4->gen == VC4_GEN_5 && !vc4->firmware_kms) {
|
|
unsigned long state_rate = max(old_hvs_state->core_clock_rate,
|
|
new_hvs_state->core_clock_rate);
|
|
unsigned long core_rate = clamp_t(unsigned long, state_rate,
|
|
@@ -489,7 +489,7 @@ static void vc4_atomic_commit_tail(struc
|
|
|
|
drm_atomic_helper_cleanup_planes(dev, state);
|
|
|
|
- if (vc4->gen >= VC4_GEN_5 && !vc4->firmware_kms) {
|
|
+ if (vc4->gen == VC4_GEN_5 && !vc4->firmware_kms) {
|
|
unsigned long core_rate = min_t(unsigned long,
|
|
hvs->max_core_rate,
|
|
new_hvs_state->core_clock_rate);
|