X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fstaging%2Fchunkeey.git;a=blobdiff_plain;f=target%2Flinux%2Fbcm27xx%2Fpatches-5.10%2F950-0457-drm-vc4-hdmi-Introduce-a-CEC-clock.patch;fp=target%2Flinux%2Fbcm27xx%2Fpatches-5.10%2F950-0457-drm-vc4-hdmi-Introduce-a-CEC-clock.patch;h=0000000000000000000000000000000000000000;hp=f20685c4559abf9b4801fd928f7381e7792db1f4;hb=d5c4f24b2af991df2ec24df1a3f906049370f59f;hpb=99ad84b6d9727a63f99a16e0b8386747262e3433 diff --git a/target/linux/bcm27xx/patches-5.10/950-0457-drm-vc4-hdmi-Introduce-a-CEC-clock.patch b/target/linux/bcm27xx/patches-5.10/950-0457-drm-vc4-hdmi-Introduce-a-CEC-clock.patch deleted file mode 100644 index f20685c455..0000000000 --- a/target/linux/bcm27xx/patches-5.10/950-0457-drm-vc4-hdmi-Introduce-a-CEC-clock.patch +++ /dev/null @@ -1,60 +0,0 @@ -From b4627f9f36d8af7cb7bf24d8c1daee8b48f12299 Mon Sep 17 00:00:00 2001 -From: Maxime Ripard -Date: Mon, 11 Jan 2021 15:23:02 +0100 -Subject: [PATCH] drm/vc4: hdmi: Introduce a CEC clock - -While the BCM2835 had the CEC clock derived from the HSM clock, the -BCM2711 has a dedicated parent clock for it. - -Let's introduce a separate clock for it so that we can handle both -cases. - -Reviewed-by: Dave Stevenson -Signed-off-by: Maxime Ripard ---- - drivers/gpu/drm/vc4/vc4_hdmi.c | 9 ++++++++- - drivers/gpu/drm/vc4/vc4_hdmi.h | 1 + - 2 files changed, 9 insertions(+), 1 deletion(-) - ---- a/drivers/gpu/drm/vc4/vc4_hdmi.c -+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -151,7 +151,7 @@ static void vc4_hdmi_cec_update_clk_div( - * Set the clock divider: the hsm_clock rate and this divider - * setting will give a 40 kHz CEC clock. - */ -- clk_cnt = clk_get_rate(vc4_hdmi->hsm_clock) / CEC_CLOCK_FREQ; -+ clk_cnt = clk_get_rate(vc4_hdmi->cec_clock) / CEC_CLOCK_FREQ; - value |= clk_cnt << VC4_HDMI_CEC_DIV_CLK_CNT_SHIFT; - HDMI_WRITE(HDMI_CEC_CNTRL_1, value); - } -@@ -1869,6 +1869,7 @@ static int vc4_hdmi_init_resources(struc - return PTR_ERR(vc4_hdmi->hsm_clock); - } - vc4_hdmi->audio_clock = vc4_hdmi->hsm_clock; -+ vc4_hdmi->cec_clock = vc4_hdmi->hsm_clock; - - return 0; - } -@@ -1963,6 +1964,12 @@ static int vc5_hdmi_init_resources(struc - return PTR_ERR(vc4_hdmi->audio_clock); - } - -+ vc4_hdmi->cec_clock = devm_clk_get(dev, "cec"); -+ if (IS_ERR(vc4_hdmi->cec_clock)) { -+ DRM_ERROR("Failed to get CEC clock\n"); -+ return PTR_ERR(vc4_hdmi->cec_clock); -+ } -+ - vc4_hdmi->reset = devm_reset_control_get(dev, NULL); - if (IS_ERR(vc4_hdmi->reset)) { - DRM_ERROR("Failed to get HDMI reset line\n"); ---- a/drivers/gpu/drm/vc4/vc4_hdmi.h -+++ b/drivers/gpu/drm/vc4/vc4_hdmi.h -@@ -154,6 +154,7 @@ struct vc4_hdmi { - bool cec_tx_ok; - bool cec_irq_was_rx; - -+ struct clk *cec_clock; - struct clk *pixel_clock; - struct clk *hsm_clock; - struct clk *audio_clock;