diff --git a/config/sources/families/include/sunxi64_common.inc b/config/sources/families/include/sunxi64_common.inc index c861e41e95..15fe6f08dc 100644 --- a/config/sources/families/include/sunxi64_common.inc +++ b/config/sources/families/include/sunxi64_common.inc @@ -18,7 +18,7 @@ case $BRANCH in current) KERNEL_VERSION_LEVEL="5.15" - KERNELSWITCHOBJ="tag=v5.15.77" + KERNELSWITCHOBJ="tag=v5.15.78" ;; edge) diff --git a/config/sources/families/include/sunxi_common.inc b/config/sources/families/include/sunxi_common.inc index 10f39183be..f3ae9df673 100644 --- a/config/sources/families/include/sunxi_common.inc +++ b/config/sources/families/include/sunxi_common.inc @@ -18,7 +18,7 @@ case $BRANCH in ;; current) KERNEL_VERSION_LEVEL="5.15" - KERNELSWITCHOBJ="tag=v5.15.77" + KERNELSWITCHOBJ="tag=v5.15.78" ;; edge) KERNEL_VERSION_LEVEL=${KERNEL_VERSION_LEVEL:-6.0} diff --git a/patch/kernel/archive/sunxi-5.15/megous/Report-HDMI-hotplug-events.patch b/patch/kernel/archive/sunxi-5.15/megous/Report-HDMI-hotplug-events.patch index 6830e0bb92..d272bf6d21 100644 --- a/patch/kernel/archive/sunxi-5.15/megous/Report-HDMI-hotplug-events.patch +++ b/patch/kernel/archive/sunxi-5.15/megous/Report-HDMI-hotplug-events.patch @@ -12,7 +12,7 @@ diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/ index f08d0fded..93fbccf47 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c -@@ -2332,7 +2332,7 @@ static enum drm_connector_status dw_hdmi_detect(struct dw_hdmi *hdmi) +@@ -2340,7 +2340,7 @@ static enum drm_connector_status dw_hdmi_detect(struct dw_hdmi *hdmi) mutex_lock(&hdmi->mutex); if (result != hdmi->last_connector_result) { @@ -21,10 +21,10 @@ index f08d0fded..93fbccf47 100644 handle_plugged_change(hdmi, result == connector_status_connected); hdmi->last_connector_result = result; -@@ -3006,7 +3006,7 @@ static irqreturn_t dw_hdmi_irq(int irq, void *dev_id) - ? connector_status_connected - : connector_status_disconnected; +@@ -3018,7 +3018,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 ? diff --git a/patch/kernel/archive/sunxi-5.15/megous/drm-bridge-dw-hdmi-Allow-to-accept-HPD-status-from-o.patch b/patch/kernel/archive/sunxi-5.15/megous/drm-bridge-dw-hdmi-Allow-to-accept-HPD-status-from-o.patch index 7c7805638c..9f6e55a644 100644 --- a/patch/kernel/archive/sunxi-5.15/megous/drm-bridge-dw-hdmi-Allow-to-accept-HPD-status-from-o.patch +++ b/patch/kernel/archive/sunxi-5.15/megous/drm-bridge-dw-hdmi-Allow-to-accept-HPD-status-from-o.patch @@ -32,7 +32,7 @@ index 93fbccf47..503723169 100644 }; #define HDMI_IH_PHY_STAT0_RX_SENSE \ -@@ -1560,6 +1563,12 @@ static void dw_hdmi_phy_disable(struct dw_hdmi *hdmi, void *data) +@@ -1568,6 +1571,12 @@ 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) { @@ -45,7 +45,7 @@ index 93fbccf47..503723169 100644 return hdmi_readb(hdmi, HDMI_PHY_STAT0) & HDMI_PHY_HPD ? connector_status_connected : connector_status_disconnected; } -@@ -1570,7 +1579,7 @@ void dw_hdmi_phy_update_hpd(struct dw_hdmi *hdmi, void *data, +@@ -1578,7 +1587,7 @@ void dw_hdmi_phy_update_hpd(struct dw_hdmi *hdmi, void *data, { u8 old_mask = hdmi->phy_mask; @@ -54,16 +54,16 @@ index 93fbccf47..503723169 100644 hdmi->phy_mask |= HDMI_PHY_RX_SENSE; else hdmi->phy_mask &= ~HDMI_PHY_RX_SENSE; -@@ -3001,7 +3010,7 @@ static irqreturn_t dw_hdmi_irq(int irq, void *dev_id) - } - } - -- 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; -@@ -3208,6 +3217,25 @@ static int dw_hdmi_parse_dt(struct dw_hdmi *hdmi) +@@ -2999,7 +3008,7 @@ static irqreturn_t dw_hdmi_irq(int irq, void *dev_id) + * ask the source to re-read the EDID. + */ + if (intr_stat & +- (HDMI_IH_PHY_STAT0_RX_SENSE | HDMI_IH_PHY_STAT0_HPD)) { ++ (HDMI_IH_PHY_STAT0_RX_SENSE | HDMI_IH_PHY_STAT0_HPD) && !hdmi->extcon) { + dw_hdmi_setup_rx_sense(hdmi, + phy_stat & HDMI_PHY_HPD, + phy_stat & HDMI_PHY_RX_SENSE); +@@ -3220,6 +3229,25 @@ static int dw_hdmi_parse_dt(struct dw_hdmi *hdmi) return 0; } @@ -89,7 +89,7 @@ index 93fbccf47..503723169 100644 struct dw_hdmi *dw_hdmi_probe(struct platform_device *pdev, const struct dw_hdmi_plat_data *plat_data) { -@@ -3248,15 +3276,38 @@ struct dw_hdmi *dw_hdmi_probe(struct platform_device *pdev, +@@ -3260,15 +3288,38 @@ struct dw_hdmi *dw_hdmi_probe(struct platform_device *pdev, if (ret < 0) return ERR_PTR(ret); @@ -130,7 +130,7 @@ index 93fbccf47..503723169 100644 } else { dev_dbg(hdmi->dev, "no ddc property found\n"); } -@@ -3481,6 +3532,8 @@ struct dw_hdmi *dw_hdmi_probe(struct platform_device *pdev, +@@ -3493,6 +3544,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,7 +139,7 @@ index 93fbccf47..503723169 100644 return ERR_PTR(ret); } -@@ -3488,6 +3541,8 @@ EXPORT_SYMBOL_GPL(dw_hdmi_probe); +@@ -3500,6 +3553,8 @@ EXPORT_SYMBOL_GPL(dw_hdmi_probe); void dw_hdmi_remove(struct dw_hdmi *hdmi) { diff --git a/patch/kernel/archive/sunxi-5.15/megous/usb-dwc3-core-do-not-use-3.0-clock-when-operating-in.patch b/patch/kernel/archive/sunxi-5.15/megous/usb-dwc3-core-do-not-use-3.0-clock-when-operating-in.patch index 63e3dcce37..b8118b0202 100644 --- a/patch/kernel/archive/sunxi-5.15/megous/usb-dwc3-core-do-not-use-3.0-clock-when-operating-in.patch +++ b/patch/kernel/archive/sunxi-5.15/megous/usb-dwc3-core-do-not-use-3.0-clock-when-operating-in.patch @@ -22,7 +22,7 @@ diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index 0104a80b1..70098c65f 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c -@@ -1061,6 +1061,10 @@ static int dwc3_core_init(struct dwc3 *dwc) +@@ -1081,6 +1081,10 @@ static int dwc3_core_init(struct dwc3 *dwc) if (dwc->parkmode_disable_ss_quirk) reg |= DWC3_GUCTL1_PARKMODE_DISABLE_SS; @@ -34,7 +34,7 @@ index 0104a80b1..70098c65f 100644 } diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h -index 0c100901a..ed487527c 100644 +index e82e4cbe4..6b2c3fd34 100644 --- a/drivers/usb/dwc3/core.h +++ b/drivers/usb/dwc3/core.h @@ -258,6 +258,7 @@ @@ -44,7 +44,7 @@ index 0c100901a..ed487527c 100644 +#define DWC3_GUCTL1_DEV_FORCE_20_CLK_FOR_30_CLK BIT(26) #define DWC3_GUCTL1_DEV_L1_EXIT_BY_HW BIT(24) #define DWC3_GUCTL1_PARKMODE_DISABLE_SS BIT(17) - + #define DWC3_GUCTL1_RESUME_OPMODE_HS_HOST BIT(10) -- 2.34.0