diff --git a/patch/kernel/archive/sunxi-5.15/series.conf b/patch/kernel/archive/sunxi-5.15/series.conf index 0300dbd943..54b6cdfd93 100644 --- a/patch/kernel/archive/sunxi-5.15/series.conf +++ b/patch/kernel/archive/sunxi-5.15/series.conf @@ -300,7 +300,7 @@ patches.megous/usb-quirks-Add-USB_QUIRK_RESET-for-Quectel-EG25G-Modem.patch - patches.megous/drm-sun4i-Fix-wrong-location-of-clk_prepare_enable.patch patches.megous/drm-panel-st7703-Improve-the-power-up-sequence-of-the-panel.patch - patches.megous/2-drm-panel-st7703-Improve-the-power-up-sequence-of-the-panel.patch +- patches.megous/2-drm-panel-st7703-Improve-the-power-up-sequence-of-the-panel.patch patches.megous/drm-sun4i-Implement-gamma-correction.patch patches.megous/Bluetooth-Add-new-quirk-for-broken-local-ext-features-max_page.patch patches.megous/drm-sun4i-sun6i_mipi_dsi-add-support-for-generic-long-write.patch diff --git a/patch/kernel/archive/sunxi-5.15/series.megous b/patch/kernel/archive/sunxi-5.15/series.megous index 7e4c5baa20..a04037c0d1 100644 --- a/patch/kernel/archive/sunxi-5.15/series.megous +++ b/patch/kernel/archive/sunxi-5.15/series.megous @@ -303,7 +303,7 @@ patches.megous/usb-quirks-Add-USB_QUIRK_RESET-for-Quectel-EG25G-Modem.patch - patches.megous/drm-sun4i-Fix-wrong-location-of-clk_prepare_enable.patch patches.megous/drm-panel-st7703-Improve-the-power-up-sequence-of-the-panel.patch - patches.megous/2-drm-panel-st7703-Improve-the-power-up-sequence-of-the-panel.patch +- patches.megous/2-drm-panel-st7703-Improve-the-power-up-sequence-of-the-panel.patch patches.megous/drm-sun4i-Implement-gamma-correction.patch patches.megous/Bluetooth-Add-new-quirk-for-broken-local-ext-features-max_page.patch patches.megous/drm-sun4i-sun6i_mipi_dsi-add-support-for-generic-long-write.patch diff --git a/patch/kernel/archive/sunxi-6.1/patches.megous/drm-panel-st7703-Improve-the-power-up-down-sequence-of-the-pane.patch b/patch/kernel/archive/sunxi-6.1/patches.megous/drm-panel-st7703-Improve-the-power-up-down-sequence-of-the-pane.patch index 6471112467..70dfcdda30 100644 --- a/patch/kernel/archive/sunxi-6.1/patches.megous/drm-panel-st7703-Improve-the-power-up-down-sequence-of-the-pane.patch +++ b/patch/kernel/archive/sunxi-6.1/patches.megous/drm-panel-st7703-Improve-the-power-up-down-sequence-of-the-pane.patch @@ -71,49 +71,6 @@ index 86a472b01360..97fdff0cc496 100644 return 0; } -@@ -428,29 +428,30 @@ static int st7703_prepare(struct drm_panel *panel) - return 0; - - dev_dbg(ctx->dev, "Resetting the panel\n"); -- ret = regulator_enable(ctx->vcc); -+ gpiod_set_value_cansleep(ctx->reset_gpio, 1); -+ -+ ret = regulator_enable(ctx->iovcc); - if (ret < 0) { -- dev_err(ctx->dev, "Failed to enable vcc supply: %d\n", ret); -+ dev_err(ctx->dev, "Failed to enable iovcc supply: %d\n", ret); - return ret; - } -- ret = regulator_enable(ctx->iovcc); -+ -+ ret = regulator_enable(ctx->vcc); - if (ret < 0) { -- dev_err(ctx->dev, "Failed to enable iovcc supply: %d\n", ret); -- goto disable_vcc; -+ dev_err(ctx->dev, "Failed to enable vcc supply: %d\n", ret); -+ regulator_disable(ctx->iovcc); -+ return ret; - } - -- gpiod_set_value_cansleep(ctx->reset_gpio, 1); -- usleep_range(20, 40); -+ /* Give power supplies time to stabilize before deasserting reset. */ -+ usleep_range(10000, 20000); -+ - gpiod_set_value_cansleep(ctx->reset_gpio, 0); -- msleep(20); -+ usleep_range(15000, 20000); - - ctx->prepared = true; - - return 0; -- --disable_vcc: -- regulator_disable(ctx->vcc); -- return ret; - } - - static const u32 mantix_bus_formats[] = { -- 2.35.3 diff --git a/patch/kernel/archive/sunxi-6.6/patches.megous/drm-panel-st7703-Improve-the-power-up-down-sequence-of-the-pane.patch b/patch/kernel/archive/sunxi-6.6/patches.megous/drm-panel-st7703-Improve-the-power-up-down-sequence-of-the-pane.patch index 303026c7fd..4399bfd7b9 100644 --- a/patch/kernel/archive/sunxi-6.6/patches.megous/drm-panel-st7703-Improve-the-power-up-down-sequence-of-the-pane.patch +++ b/patch/kernel/archive/sunxi-6.6/patches.megous/drm-panel-st7703-Improve-the-power-up-down-sequence-of-the-pane.patch @@ -70,49 +70,6 @@ index 6a3945639535..6360d73750d8 100644 return 0; } -@@ -506,29 +506,30 @@ static int st7703_prepare(struct drm_panel *panel) - return 0; - - dev_dbg(ctx->dev, "Resetting the panel\n"); -- ret = regulator_enable(ctx->vcc); -+ gpiod_set_value_cansleep(ctx->reset_gpio, 1); -+ -+ ret = regulator_enable(ctx->iovcc); - if (ret < 0) { -- dev_err(ctx->dev, "Failed to enable vcc supply: %d\n", ret); -+ dev_err(ctx->dev, "Failed to enable iovcc supply: %d\n", ret); - return ret; - } -- ret = regulator_enable(ctx->iovcc); -+ -+ ret = regulator_enable(ctx->vcc); - if (ret < 0) { -- dev_err(ctx->dev, "Failed to enable iovcc supply: %d\n", ret); -- goto disable_vcc; -+ dev_err(ctx->dev, "Failed to enable vcc supply: %d\n", ret); -+ regulator_disable(ctx->iovcc); -+ return ret; - } - -- gpiod_set_value_cansleep(ctx->reset_gpio, 1); -- usleep_range(20, 40); -+ /* Give power supplies time to stabilize before deasserting reset. */ -+ usleep_range(10000, 20000); -+ - gpiod_set_value_cansleep(ctx->reset_gpio, 0); -- msleep(20); -+ usleep_range(15000, 20000); - - ctx->prepared = true; - - return 0; -- --disable_vcc: -- regulator_disable(ctx->vcc); -- return ret; - } - - static const u32 mantix_bus_formats[] = { -- Armbian diff --git a/patch/kernel/archive/sunxi-6.6/patches.megous/usb-gadget-Fix-dangling-pointer-in-netdev-private-data.patch b/patch/kernel/archive/sunxi-6.6/patches.megous/usb-gadget-Fix-dangling-pointer-in-netdev-private-data.patch index bd11db5b0d..aa82ba7015 100644 --- a/patch/kernel/archive/sunxi-6.6/patches.megous/usb-gadget-Fix-dangling-pointer-in-netdev-private-data.patch +++ b/patch/kernel/archive/sunxi-6.6/patches.megous/usb-gadget-Fix-dangling-pointer-in-netdev-private-data.patch @@ -82,20 +82,6 @@ diff --git a/drivers/usb/gadget/function/f_ncm.c b/drivers/usb/gadget/function/f index e6ab8cc225ff..6ddd5918c28f 100644 --- a/drivers/usb/gadget/function/f_ncm.c +++ b/drivers/usb/gadget/function/f_ncm.c -@@ -1435,9 +1435,12 @@ static int ncm_bind(struct usb_configuration *c, struct usb_function *f) - * with list_for_each_entry, so we assume no race condition - * with regard to ncm_opts->bound access - */ -+ mutex_lock(&ncm_opts->lock); -+ gether_set_gadget(ncm_opts->net, cdev->gadget); -+ mutex_unlock(&ncm_opts->lock); -+ - if (!ncm_opts->bound) { - mutex_lock(&ncm_opts->lock); -- gether_set_gadget(ncm_opts->net, cdev->gadget); - status = gether_register_netdev(ncm_opts->net); - mutex_unlock(&ncm_opts->lock); - if (status) @@ -1662,6 +1665,8 @@ static void ncm_free(struct usb_function *f) static void ncm_unbind(struct usb_configuration *c, struct usb_function *f) {