mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-28 09:39:00 +00:00
d6a9a92e32
Seemingly unneeded based on new upstream code so manually deleted: layerscape: 820-usb-0007-usb-dwc3-gadget-increase-timeout-value-for-send-ep-c.patch Manually merged: generic-hack: 251-sound_kconfig.patch All other modifications made by update_kernel.sh Build system: x86_64 Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711 Run-tested: ipq806x/R7800, lantiq/Easybox 904 xDSL No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> [add lantiq test report, minor commit message clarification] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
47 lines
1.7 KiB
Diff
47 lines
1.7 KiB
Diff
From 37b204f22778f51cad7bdf678d7574ff6d7508a6 Mon Sep 17 00:00:00 2001
|
|
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|
Date: Wed, 25 Mar 2020 18:22:40 +0000
|
|
Subject: [PATCH] drm/vc4: Alter the HDMI state machine clock calc to
|
|
allow for 1920x1200
|
|
|
|
Whilst the documentation for BCM2835 states that the HDMI state machine
|
|
clock needs to be 108% of the pixel clock, other documentation says
|
|
that it only has to be greater than the pixel clock. The firmware
|
|
uses 101%, and that allows 1920x1200@60Hz to work within the
|
|
constraint of the HSM clock being < 163.68MHz.
|
|
|
|
Adopt 101%, and increase the maximum pixel clock for vc4 to 162MHz
|
|
so that it too supports 1920x1200@60.
|
|
|
|
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
|
---
|
|
drivers/gpu/drm/vc4/vc4_hdmi.c | 9 +++++----
|
|
1 file changed, 5 insertions(+), 4 deletions(-)
|
|
|
|
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
|
|
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
|
|
@@ -581,10 +581,11 @@ static void vc4_hdmi_encoder_enable(stru
|
|
}
|
|
|
|
/*
|
|
- * The HSM rate needs to be at 108% of the pixel clock, with a
|
|
- * minimum of 108MHz.
|
|
+ * The HSM rate needs to be slightly greater than the pixel clock, with
|
|
+ * a minimum of 108MHz.
|
|
+ * Use 101% as this is what the firmware uses.
|
|
*/
|
|
- hsm_rate = max_t(unsigned long, 108000000, (pixel_rate / 100) * 108);
|
|
+ hsm_rate = max_t(unsigned long, 108000000, (pixel_rate / 100) * 101);
|
|
ret = clk_set_rate(vc4_hdmi->hsm_clock, hsm_rate);
|
|
if (ret) {
|
|
DRM_ERROR("Failed to set HSM clock rate: %d\n", ret);
|
|
@@ -1731,7 +1732,7 @@ static int vc4_hdmi_dev_remove(struct pl
|
|
}
|
|
|
|
static const struct vc4_hdmi_variant bcm2835_variant = {
|
|
- .max_pixel_clock = 148500000,
|
|
+ .max_pixel_clock = 162000000,
|
|
.audio_available = true,
|
|
.cec_available = true,
|
|
.registers = vc4_hdmi_fields,
|