diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.10/950-0416-drm-vc4-hdmi-Use-the-connector-state-pixel-rate-for-.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.10/950-0416-drm-vc4-hdmi-Use-the-connector-state-pixel-rate-for-.patch | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/target/linux/bcm27xx/patches-5.10/950-0416-drm-vc4-hdmi-Use-the-connector-state-pixel-rate-for-.patch b/target/linux/bcm27xx/patches-5.10/950-0416-drm-vc4-hdmi-Use-the-connector-state-pixel-rate-for-.patch deleted file mode 100644 index a4ca7cb6fd..0000000000 --- a/target/linux/bcm27xx/patches-5.10/950-0416-drm-vc4-hdmi-Use-the-connector-state-pixel-rate-for-.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 6d15419acb9914041e90bc88044d87bbcdcfec00 Mon Sep 17 00:00:00 2001 -From: Maxime Ripard <maxime@cerno.tech> -Date: Tue, 15 Dec 2020 16:42:41 +0100 -Subject: [PATCH] drm/vc4: hdmi: Use the connector state pixel rate for - the PHY - -The PHY initialisation parameters are not based on the pixel clock but -the TMDS clock rate which can be the pixel clock in the standard case, -but could be adjusted based on some parameters like the bits per color. - -Since the TMDS clock rate is stored in our custom connector state -already, let's reuse it from there instead of computing it again. - -Acked-by: Thomas Zimmermann <tzimmermann@suse.de> -Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com> -Signed-off-by: Maxime Ripard <maxime@cerno.tech> ---- - drivers/gpu/drm/vc4/vc4_hdmi.c | 2 +- - drivers/gpu/drm/vc4/vc4_hdmi.h | 11 +++++------ - drivers/gpu/drm/vc4/vc4_hdmi_phy.c | 8 +++++--- - 3 files changed, 11 insertions(+), 10 deletions(-) - ---- a/drivers/gpu/drm/vc4/vc4_hdmi.c -+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -762,7 +762,7 @@ static void vc4_hdmi_encoder_pre_crtc_co - } - - if (vc4_hdmi->variant->phy_init) -- vc4_hdmi->variant->phy_init(vc4_hdmi, mode); -+ vc4_hdmi->variant->phy_init(vc4_hdmi, vc4_conn_state); - - HDMI_WRITE(HDMI_SCHEDULER_CONTROL, - HDMI_READ(HDMI_SCHEDULER_CONTROL) | ---- a/drivers/gpu/drm/vc4/vc4_hdmi.h -+++ b/drivers/gpu/drm/vc4/vc4_hdmi.h -@@ -21,10 +21,9 @@ to_vc4_hdmi_encoder(struct drm_encoder * - return container_of(encoder, struct vc4_hdmi_encoder, base.base); - } - --struct drm_display_mode; -- - struct vc4_hdmi; - struct vc4_hdmi_register; -+struct vc4_hdmi_connector_state; - - enum vc4_hdmi_phy_channel { - PHY_LANE_0 = 0, -@@ -77,9 +76,9 @@ struct vc4_hdmi_variant { - void (*set_timings)(struct vc4_hdmi *vc4_hdmi, - struct drm_display_mode *mode); - -- /* Callback to initialize the PHY according to the mode */ -+ /* Callback to initialize the PHY according to the connector state */ - void (*phy_init)(struct vc4_hdmi *vc4_hdmi, -- struct drm_display_mode *mode); -+ struct vc4_hdmi_connector_state *vc4_conn_state); - - /* Callback to disable the PHY */ - void (*phy_disable)(struct vc4_hdmi *vc4_hdmi); -@@ -199,13 +198,13 @@ conn_state_to_vc4_hdmi_conn_state(struct - } - - void vc4_hdmi_phy_init(struct vc4_hdmi *vc4_hdmi, -- struct drm_display_mode *mode); -+ struct vc4_hdmi_connector_state *vc4_conn_state); - void vc4_hdmi_phy_disable(struct vc4_hdmi *vc4_hdmi); - void vc4_hdmi_phy_rng_enable(struct vc4_hdmi *vc4_hdmi); - void vc4_hdmi_phy_rng_disable(struct vc4_hdmi *vc4_hdmi); - - void vc5_hdmi_phy_init(struct vc4_hdmi *vc4_hdmi, -- struct drm_display_mode *mode); -+ struct vc4_hdmi_connector_state *vc4_conn_state); - void vc5_hdmi_phy_disable(struct vc4_hdmi *vc4_hdmi); - void vc5_hdmi_phy_rng_enable(struct vc4_hdmi *vc4_hdmi); - void vc5_hdmi_phy_rng_disable(struct vc4_hdmi *vc4_hdmi); ---- a/drivers/gpu/drm/vc4/vc4_hdmi_phy.c -+++ b/drivers/gpu/drm/vc4/vc4_hdmi_phy.c -@@ -127,7 +127,8 @@ - - #define OSCILLATOR_FREQUENCY 54000000 - --void vc4_hdmi_phy_init(struct vc4_hdmi *vc4_hdmi, struct drm_display_mode *mode) -+void vc4_hdmi_phy_init(struct vc4_hdmi *vc4_hdmi, -+ struct vc4_hdmi_connector_state *conn_state) - { - /* PHY should be in reset, like - * vc4_hdmi_encoder_disable() does. -@@ -339,11 +340,12 @@ static void vc5_hdmi_reset_phy(struct vc - HDMI_WRITE(HDMI_TX_PHY_POWERDOWN_CTL, BIT(10)); - } - --void vc5_hdmi_phy_init(struct vc4_hdmi *vc4_hdmi, struct drm_display_mode *mode) -+void vc5_hdmi_phy_init(struct vc4_hdmi *vc4_hdmi, -+ struct vc4_hdmi_connector_state *conn_state) - { - const struct phy_lane_settings *chan0_settings, *chan1_settings, *chan2_settings, *clock_settings; - const struct vc4_hdmi_variant *variant = vc4_hdmi->variant; -- unsigned long long pixel_freq = mode->clock * 1000; -+ unsigned long long pixel_freq = conn_state->pixel_rate; - unsigned long long vco_freq; - unsigned char word_sel; - u8 vco_sel, vco_div; |