From 8ce4bbcded6f4a70a55c6089dc3485268ec0bdfb Mon Sep 17 00:00:00 2001 From: AGM1968 Date: Tue, 3 Jan 2023 10:32:46 +0000 Subject: [PATCH] Add fix all 5.19.17 updated patches megous --- .../Report-HDMI-hotplug-events.patch | 14 ++-- ...enable-pcie-controller-on-quartz64-a.patch | 17 +++-- ...-accept-HPD-status-from-other-driver.patch | 71 ++++++++++--------- 3 files changed, 51 insertions(+), 51 deletions(-) diff --git a/patch/kernel/archive/sunxi-5.19/patches.megous/Report-HDMI-hotplug-events.patch b/patch/kernel/archive/sunxi-5.19/patches.megous/Report-HDMI-hotplug-events.patch index ca93add0e3..d9b259f056 100644 --- a/patch/kernel/archive/sunxi-5.19/patches.megous/Report-HDMI-hotplug-events.patch +++ b/patch/kernel/archive/sunxi-5.19/patches.megous/Report-HDMI-hotplug-events.patch @@ -1,7 +1,7 @@ -From dc074d6dfb89502a9b2440a5eb370fbdd0334fb8 Mon Sep 17 00:00:00 2001 +From 7c34de26bec8d8c3bdb07c1096702706ea37ede7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= Date: Wed, 16 Jun 2021 22:51:29 +0200 -Subject: [PATCH 209/417] Report HDMI hotplug events +Subject: [PATCH] Report HDMI hotplug events Signed-off-by: Ondrej Jirman --- @@ -9,7 +9,7 @@ Signed-off-by: Ondrej Jirman 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c -index 3e1be9894..f4f353e0a 100644 +index 0552e9a3c..74807648d 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c @@ -2465,7 +2465,7 @@ static enum drm_connector_status dw_hdmi_detect(struct dw_hdmi *hdmi) @@ -21,15 +21,15 @@ index 3e1be9894..f4f353e0a 100644 handle_plugged_change(hdmi, result == connector_status_connected); hdmi->last_connector_result = result; -@@ -3140,7 +3140,7 @@ static irqreturn_t dw_hdmi_irq(int irq, void *dev_id) - ? connector_status_connected - : connector_status_disconnected; +@@ -3143,7 +3143,7 @@ static irqreturn_t dw_hdmi_irq(int irq, void *dev_id) + } + if (status != connector_status_unknown) { - dev_dbg(hdmi->dev, "EVENT=%s\n", + dev_info(hdmi->dev, "EVENT=%s\n", status == connector_status_connected ? "plugin" : "plugout"); -- -2.35.3 +2.34.1 diff --git a/patch/kernel/archive/sunxi-5.19/patches.megous/arm64-dts-rockchip-enable-pcie-controller-on-quartz64-a.patch b/patch/kernel/archive/sunxi-5.19/patches.megous/arm64-dts-rockchip-enable-pcie-controller-on-quartz64-a.patch index 44e0ead5ed..139b6da544 100644 --- a/patch/kernel/archive/sunxi-5.19/patches.megous/arm64-dts-rockchip-enable-pcie-controller-on-quartz64-a.patch +++ b/patch/kernel/archive/sunxi-5.19/patches.megous/arm64-dts-rockchip-enable-pcie-controller-on-quartz64-a.patch @@ -1,8 +1,7 @@ -From 827f9b0fdf2e514dd2308c699656e3f628d9f582 Mon Sep 17 00:00:00 2001 +From 7dcd8ac4e42c9748a59d6e8ba84dedc403a132c8 Mon Sep 17 00:00:00 2001 From: Peter Geis Date: Thu, 22 Jul 2021 13:51:30 -0400 -Subject: [PATCH 267/417] arm64: dts: rockchip: enable pcie controller on - quartz64-a +Subject: [PATCH] arm64: dts: rockchip: enable pcie controller on quartz64-a Add the nodes to enable the pcie controller on the quartz64 model a board. @@ -13,7 +12,7 @@ Signed-off-by: Peter Geis 1 file changed, 34 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts -index fa953b736..caa97d0b5 100644 +index fdbfdf363..921f4fa26 100644 --- a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts +++ b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts @@ -161,6 +161,18 @@ vcc5v0_usb20_otg: vcc5v0_usb20_otg { @@ -34,8 +33,8 @@ index fa953b736..caa97d0b5 100644 + vcc3v3_sd: vcc3v3_sd { compatible = "regulator-fixed"; - enable-active-low; -@@ -201,6 +213,10 @@ &combphy1 { + gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; +@@ -200,6 +212,10 @@ &combphy1 { status = "okay"; }; @@ -46,7 +45,7 @@ index fa953b736..caa97d0b5 100644 &cpu0 { cpu-supply = <&vdd_cpu>; }; -@@ -509,6 +525,14 @@ rgmii_phy1: ethernet-phy@0 { +@@ -508,6 +524,14 @@ rgmii_phy1: ethernet-phy@0 { }; }; @@ -61,7 +60,7 @@ index fa953b736..caa97d0b5 100644 &pinctrl { bt { bt_enable_h: bt-enable-h { -@@ -534,6 +558,16 @@ diy_led_enable_h: diy-led-enable-h { +@@ -533,6 +557,16 @@ diy_led_enable_h: diy-led-enable-h { }; }; @@ -79,5 +78,5 @@ index fa953b736..caa97d0b5 100644 pmic_int_l: pmic-int-l { rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; -- -2.35.3 +2.34.1 diff --git a/patch/kernel/archive/sunxi-5.19/patches.megous/drm-bridge-dw-hdmi-Allow-to-accept-HPD-status-from-other-driver.patch b/patch/kernel/archive/sunxi-5.19/patches.megous/drm-bridge-dw-hdmi-Allow-to-accept-HPD-status-from-other-driver.patch index 5a17c5e568..d90f2bc0d6 100644 --- a/patch/kernel/archive/sunxi-5.19/patches.megous/drm-bridge-dw-hdmi-Allow-to-accept-HPD-status-from-other-driver.patch +++ b/patch/kernel/archive/sunxi-5.19/patches.megous/drm-bridge-dw-hdmi-Allow-to-accept-HPD-status-from-other-driver.patch @@ -1,18 +1,18 @@ -From 3f93687383b177f64a7dd5f8122c7797d155861b Mon Sep 17 00:00:00 2001 +From 83c08bf156727f67a5723ff4f11f201a115f9ecb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= Date: Tue, 26 Oct 2021 01:27:34 +0200 -Subject: [PATCH 219/417] drm: bridge: dw-hdmi: Allow to accept HPD status from - other drivers +Subject: [PATCH] drm: bridge: dw-hdmi: Allow to accept HPD status from other + drivers This change allows other drivers to provide HPD status. Signed-off-by: Ondrej Jirman --- - drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 63 +++++++++++++++++++++-- - 1 file changed, 59 insertions(+), 4 deletions(-) + drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 65 +++++++++++++++++++++-- + 1 file changed, 60 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c -index f4f353e0a..a9c74e300 100644 +index 74807648d..48d043a17 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c @@ -9,6 +9,7 @@ @@ -27,24 +27,26 @@ index f4f353e0a..a9c74e300 100644 hdmi_codec_plugged_cb plugged_cb; struct device *codec_dev; enum drm_connector_status last_connector_result; -+ struct extcon_dev *extcon; -+ struct notifier_block extcon_nb; ++ struct extcon_dev *extcon; ++ struct notifier_block extcon_nb; }; #define HDMI_IH_PHY_STAT0_RX_SENSE \ -@@ -1702,6 +1705,12 @@ static void dw_hdmi_phy_disable(struct dw_hdmi *hdmi, void *data) +@@ -1702,7 +1705,13 @@ static void dw_hdmi_phy_disable(struct dw_hdmi *hdmi, void *data) enum drm_connector_status dw_hdmi_phy_read_hpd(struct dw_hdmi *hdmi, void *data) { +- return hdmi_readb(hdmi, HDMI_PHY_STAT0) & HDMI_PHY_HPD ? + if (hdmi->extcon) { -+ return extcon_get_state(hdmi->extcon, EXTCON_DISP_HDMI) > 0 -+ ? connector_status_connected -+ : connector_status_disconnected; -+ } ++ return extcon_get_state(hdmi->extcon, EXTCON_DISP_HDMI) > 0 ++ ? connector_status_connected ++ : connector_status_disconnected; ++ } + - return hdmi_readb(hdmi, HDMI_PHY_STAT0) & HDMI_PHY_HPD ? ++ return hdmi_readb(hdmi, HDMI_PHY_STAT0) & HDMI_PHY_HPD ? connector_status_connected : connector_status_disconnected; } + EXPORT_SYMBOL_GPL(dw_hdmi_phy_read_hpd); @@ -1712,7 +1721,7 @@ void dw_hdmi_phy_update_hpd(struct dw_hdmi *hdmi, void *data, { u8 old_mask = hdmi->phy_mask; @@ -54,16 +56,16 @@ index f4f353e0a..a9c74e300 100644 hdmi->phy_mask |= HDMI_PHY_RX_SENSE; else hdmi->phy_mask &= ~HDMI_PHY_RX_SENSE; -@@ -3135,7 +3144,7 @@ static irqreturn_t dw_hdmi_irq(int irq, void *dev_id) - } - } +@@ -3102,7 +3111,7 @@ static irqreturn_t dw_hdmi_irq(int irq, void *dev_id) + phy_stat = hdmi_readb(hdmi, HDMI_PHY_STAT0); -- if (intr_stat & HDMI_IH_PHY_STAT0_HPD) { -+ if (intr_stat & HDMI_IH_PHY_STAT0_HPD && !hdmi->extcon) { - enum drm_connector_status status = phy_int_pol & HDMI_PHY_HPD - ? connector_status_connected - : connector_status_disconnected; -@@ -3342,6 +3351,25 @@ static int dw_hdmi_parse_dt(struct dw_hdmi *hdmi) + phy_pol_mask = 0; +- if (intr_stat & HDMI_IH_PHY_STAT0_HPD) ++ if (intr_stat & HDMI_IH_PHY_STAT0_HPD && !hdmi->extcon) + phy_pol_mask |= HDMI_PHY_HPD; + if (intr_stat & HDMI_IH_PHY_STAT0_RX_SENSE0) + phy_pol_mask |= HDMI_PHY_RX_SENSE0; +@@ -3345,6 +3354,25 @@ static int dw_hdmi_parse_dt(struct dw_hdmi *hdmi) return 0; } @@ -89,7 +91,7 @@ index f4f353e0a..a9c74e300 100644 struct dw_hdmi *dw_hdmi_probe(struct platform_device *pdev, const struct dw_hdmi_plat_data *plat_data) { -@@ -3383,15 +3411,38 @@ struct dw_hdmi *dw_hdmi_probe(struct platform_device *pdev, +@@ -3386,13 +3414,37 @@ struct dw_hdmi *dw_hdmi_probe(struct platform_device *pdev, if (ret < 0) return ERR_PTR(ret); @@ -105,7 +107,7 @@ index f4f353e0a..a9c74e300 100644 + } + + if (hdmi->extcon) { -+ /* don't register IRQ for native HPD */ ++ /* don't register IRQ for native HPD */ + hdmi->phy_mask = (u8)~(HDMI_PHY_RX_SENSE); + + hdmi->extcon_nb.notifier_call = dw_hdmi_extcon_notifier; @@ -123,14 +125,12 @@ index f4f353e0a..a9c74e300 100644 if (!hdmi->ddc) { dev_dbg(hdmi->dev, "failed to read ddc node\n"); - return ERR_PTR(-EPROBE_DEFER); -+ ret = -EPROBE_DEFER; -+ goto err_extcon; ++ return -EPROBE_DEFER; ++ goto err_extcon; } -- + } else { - dev_dbg(hdmi->dev, "no ddc property found\n"); - } -@@ -3635,6 +3686,8 @@ struct dw_hdmi *dw_hdmi_probe(struct platform_device *pdev, +@@ -3638,6 +3690,8 @@ struct dw_hdmi *dw_hdmi_probe(struct platform_device *pdev, clk_disable_unprepare(hdmi->isfr_clk); err_res: i2c_put_adapter(hdmi->ddc); @@ -139,15 +139,16 @@ index f4f353e0a..a9c74e300 100644 return ERR_PTR(ret); } -@@ -3642,6 +3695,8 @@ EXPORT_SYMBOL_GPL(dw_hdmi_probe); +@@ -3645,7 +3699,8 @@ EXPORT_SYMBOL_GPL(dw_hdmi_probe); void dw_hdmi_remove(struct dw_hdmi *hdmi) { +- drm_bridge_remove(&hdmi->bridge); + extcon_unregister_notifier_all(hdmi->extcon, &hdmi->extcon_nb); -+ - drm_bridge_remove(&hdmi->bridge); ++ drm_bridge_remove(&hdmi->bridge); if (hdmi->audio && !IS_ERR(hdmi->audio)) + platform_device_unregister(hdmi->audio); -- -2.35.3 +2.34.1