[openwrt/openwrt] kernel: bump 6.1 to 6.1.40
LEDE Commits
lede-commits at lists.infradead.org
Mon Jul 24 15:28:54 PDT 2023
hauke pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/d91f38a99e37b3aa45889f21e9522ac443f2662b
commit d91f38a99e37b3aa45889f21e9522ac443f2662b
Author: John Audia <therealgraysky at proton.me>
AuthorDate: Sun Jul 23 11:00:55 2023 -0400
kernel: bump 6.1 to 6.1.40
Removed upstreamed:
generic/backport-6.1/701-v6.5-net-bgmac-postpone-turning-IRQs-off-to-avoid-SoC-han.patch[1]
generic/pending-6.1/160-workqueue-fix-enum-type-for-gcc-13.patch[2]
qualcommax/patches-6.1/0022-v6.5-soc-qcom-mdt_loader-Fix-unconditional-call-to-scm_pa.patch[3]
Manually rebased:
bcm27xx/patches-6.1/950-0359-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
bcm27xx/patches-6.1/950-0362-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch
bcm27xx/patches-6.1/950-0390-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch
bcm27xx/patches-6.1/950-0469-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch
bcm53xx/patches-6.1/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
All other patches automatically rebased.
1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.40&id=685b57a1221c38ec8b456f968264d2496715820c
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.40&id=2d57a1590f4d8c516f5aaf8fd5bb4f52d67275d8
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.40&id=33f8dff6e1cbba5c2ec85fa5649c0a759a7e685c
Build system: x86/64, filogic/xiaomi_redmi-router-ax6000-ubootmod
Build-tested: x86/64, filogic/xiaomi_redmi-router-ax6000-ubootmod
Run-tested: x86/64
Signed-off-by: John Audia <therealgraysky at proton.me>
---
include/kernel-6.1 | 4 +-
...helpers-remove-legacy_cursor_update-hacks.patch | 6 +-
...Use-more-event-ring-segment-table-entries.patch | 4 +-
...imple-Add-a-timing-for-the-Raspberry-Pi-7.patch | 4 +-
...-xhci-quirks-add-link-TRB-quirk-for-VL805.patch | 8 +--
...0362-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch | 10 +--
...rm-panel-simple-add-Geekworm-MZP280-Panel.patch | 2 +-
...d-a-quirk-for-Superspeed-bulk-OUT-transfe.patch | 10 +--
...0-0469-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch | 10 +--
...omic-Constify-the-old-new-state-accessors.patch | 12 ++--
...el-simple-Add-Innolux-AT056tN53V1-5.6-VGA.patch | 4 +-
...-serial-8250-Add-NOMSI-bug-for-bcm2835aux.patch | 4 +-
...-add-support-for-performing-fake-doorbell.patch | 8 +--
...ostpone-turning-IRQs-off-to-avoid-SoC-han.patch | 45 -------------
...8k-improve-mdio-master-read-write-by-usin.patch | 6 +-
...sa-qca8k-move-qca8k_port_to_phy-to-header.patch | 2 +-
...4-02-net-dsa-qca8k-add-LEDs-basic-support.patch | 2 +-
.../160-workqueue-fix-enum-type-for-gcc-13.patch | 44 -------------
.../patches-6.1/410-bt-mtk-serial-fix.patch | 2 +-
...CI-qcom-Add-support-for-IPQ8074-Gen3-port.patch | 2 +-
...t_loader-Fix-unconditional-call-to-scm_pa.patch | 77 ----------------------
21 files changed, 50 insertions(+), 216 deletions(-)
diff --git a/include/kernel-6.1 b/include/kernel-6.1
index 2efadcefc0..634e558f3c 100644
--- a/include/kernel-6.1
+++ b/include/kernel-6.1
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.1 = .39
-LINUX_KERNEL_HASH-6.1.39 = 4cddee22fdf657138a06af653492f67cd3a4762c04a34725534bd200d99085b8
\ No newline at end of file
+LINUX_VERSION-6.1 = .40
+LINUX_KERNEL_HASH-6.1.40 = 43eafc2197a07dcdcff7a7ef79ac7502061f7c564744e51626bf5fa2e22587f0
\ No newline at end of file
diff --git a/target/linux/bcm27xx/patches-6.1/950-0045-drm-atomic-helpers-remove-legacy_cursor_update-hacks.patch b/target/linux/bcm27xx/patches-6.1/950-0045-drm-atomic-helpers-remove-legacy_cursor_update-hacks.patch
index 520d6fa7eb..8bcbb0db27 100644
--- a/target/linux/bcm27xx/patches-6.1/950-0045-drm-atomic-helpers-remove-legacy_cursor_update-hacks.patch
+++ b/target/linux/bcm27xx/patches-6.1/950-0045-drm-atomic-helpers-remove-legacy_cursor_update-hacks.patch
@@ -59,7 +59,7 @@ Signed-off-by: Maxime Ripard <maxime at cerno.tech>
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
-@@ -1608,13 +1608,6 @@ drm_atomic_helper_wait_for_vblanks(struc
+@@ -1617,13 +1617,6 @@ drm_atomic_helper_wait_for_vblanks(struc
int i, ret;
unsigned int crtc_mask = 0;
@@ -73,7 +73,7 @@ Signed-off-by: Maxime Ripard <maxime at cerno.tech>
for_each_oldnew_crtc_in_state(old_state, crtc, old_crtc_state, new_crtc_state, i) {
if (!new_crtc_state->active)
continue;
-@@ -2264,12 +2257,6 @@ int drm_atomic_helper_setup_commit(struc
+@@ -2273,12 +2266,6 @@ int drm_atomic_helper_setup_commit(struc
complete_all(&commit->flip_done);
continue;
}
@@ -88,7 +88,7 @@ Signed-off-by: Maxime Ripard <maxime at cerno.tech>
commit->event = kzalloc(sizeof(*commit->event),
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
-@@ -7766,6 +7766,19 @@ static int intel_atomic_commit(struct dr
+@@ -7765,6 +7765,19 @@ static int intel_atomic_commit(struct dr
state->base.legacy_cursor_update = false;
}
diff --git a/target/linux/bcm27xx/patches-6.1/950-0190-xhci-Use-more-event-ring-segment-table-entries.patch b/target/linux/bcm27xx/patches-6.1/950-0190-xhci-Use-more-event-ring-segment-table-entries.patch
index c624dfb8da..cf92e9e900 100644
--- a/target/linux/bcm27xx/patches-6.1/950-0190-xhci-Use-more-event-ring-segment-table-entries.patch
+++ b/target/linux/bcm27xx/patches-6.1/950-0190-xhci-Use-more-event-ring-segment-table-entries.patch
@@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.org>
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
-@@ -2501,9 +2501,11 @@ int xhci_mem_init(struct xhci_hcd *xhci,
+@@ -2522,9 +2522,11 @@ int xhci_mem_init(struct xhci_hcd *xhci,
* Event ring setup: Allocate a normal ring, but also setup
* the event ring segment table (ERST). Section 4.9.3.
*/
@@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.org>
if (!xhci->event_ring)
goto fail;
if (xhci_check_trb_in_td_math(xhci) < 0)
-@@ -2516,7 +2518,7 @@ int xhci_mem_init(struct xhci_hcd *xhci,
+@@ -2537,7 +2539,7 @@ int xhci_mem_init(struct xhci_hcd *xhci,
/* set ERST count with the number of entries in the segment table */
val = readl(&xhci->ir_set->erst_size);
val &= ERST_SIZE_MASK;
diff --git a/target/linux/bcm27xx/patches-6.1/950-0332-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch b/target/linux/bcm27xx/patches-6.1/950-0332-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch
index aa7bfe130b..4ce71a86aa 100644
--- a/target/linux/bcm27xx/patches-6.1/950-0332-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch
+++ b/target/linux/bcm27xx/patches-6.1/950-0332-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch
@@ -15,7 +15,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
-@@ -3188,6 +3188,31 @@ static const struct panel_desc qishenglo
+@@ -3190,6 +3190,31 @@ static const struct panel_desc qishenglo
.connector_type = DRM_MODE_CONNECTOR_DPI,
};
@@ -47,7 +47,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
static const struct display_timing rocktech_rk070er9427_timing = {
.pixelclock = { 26400000, 33300000, 46800000 },
.hactive = { 800, 800, 800 },
-@@ -4219,6 +4244,9 @@ static const struct of_device_id platfor
+@@ -4221,6 +4246,9 @@ static const struct of_device_id platfor
.compatible = "qishenglong,gopher2b-lcd",
.data = &qishenglong_gopher2b_lcd,
}, {
diff --git a/target/linux/bcm27xx/patches-6.1/950-0359-xhci-quirks-add-link-TRB-quirk-for-VL805.patch b/target/linux/bcm27xx/patches-6.1/950-0359-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
index 10a068df53..b90f9f7d8b 100644
--- a/target/linux/bcm27xx/patches-6.1/950-0359-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
+++ b/target/linux/bcm27xx/patches-6.1/950-0359-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
@@ -50,11 +50,11 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
addr = xhci_trb_virt_to_dma(new_seg, new_deq);
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1899,6 +1899,7 @@ struct xhci_hcd {
- #define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(42)
- #define XHCI_SUSPEND_RESUME_CLKS BIT_ULL(43)
+@@ -1901,6 +1901,7 @@ struct xhci_hcd {
#define XHCI_RESET_TO_DEFAULT BIT_ULL(44)
-+#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(45)
+ #define XHCI_ZHAOXIN_TRB_FETCH BIT_ULL(45)
+ #define XHCI_ZHAOXIN_HOST BIT_ULL(46)
++#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(47)
unsigned int num_active_eps;
unsigned int limit_active_eps;
diff --git a/target/linux/bcm27xx/patches-6.1/950-0362-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch b/target/linux/bcm27xx/patches-6.1/950-0362-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch
index 22dc08ff98..df2cc5d79b 100644
--- a/target/linux/bcm27xx/patches-6.1/950-0362-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch
+++ b/target/linux/bcm27xx/patches-6.1/950-0362-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch
@@ -63,11 +63,11 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1901,6 +1901,7 @@ struct xhci_hcd {
- #define XHCI_SUSPEND_RESUME_CLKS BIT_ULL(43)
- #define XHCI_RESET_TO_DEFAULT BIT_ULL(44)
- #define XHCI_AVOID_DQ_ON_LINK BIT_ULL(45)
-+#define XHCI_VLI_TRB_CACHE_BUG BIT_ULL(46)
+@@ -1903,6 +1903,7 @@ struct xhci_hcd {
+ #define XHCI_ZHAOXIN_TRB_FETCH BIT_ULL(45)
+ #define XHCI_ZHAOXIN_HOST BIT_ULL(46)
+ #define XHCI_AVOID_DQ_ON_LINK BIT_ULL(47)
++#define XHCI_VLI_TRB_CACHE_BUG BIT_ULL(48)
unsigned int num_active_eps;
unsigned int limit_active_eps;
diff --git a/target/linux/bcm27xx/patches-6.1/950-0383-drm-panel-simple-add-Geekworm-MZP280-Panel.patch b/target/linux/bcm27xx/patches-6.1/950-0383-drm-panel-simple-add-Geekworm-MZP280-Panel.patch
index dfa2e67b70..5b7d4cb218 100644
--- a/target/linux/bcm27xx/patches-6.1/950-0383-drm-panel-simple-add-Geekworm-MZP280-Panel.patch
+++ b/target/linux/bcm27xx/patches-6.1/950-0383-drm-panel-simple-add-Geekworm-MZP280-Panel.patch
@@ -46,7 +46,7 @@ Acked-by: Maxime Ripard <maxime at cerno.tech>
static const struct drm_display_mode giantplus_gpg482739qs5_mode = {
.clock = 9000,
.hdisplay = 480,
-@@ -4103,6 +4129,9 @@ static const struct of_device_id platfor
+@@ -4105,6 +4131,9 @@ static const struct of_device_id platfor
.compatible = "friendlyarm,hd702e",
.data = &friendlyarm_hd702e,
}, {
diff --git a/target/linux/bcm27xx/patches-6.1/950-0390-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch b/target/linux/bcm27xx/patches-6.1/950-0390-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch
index bad3790630..7ec1e3843e 100644
--- a/target/linux/bcm27xx/patches-6.1/950-0390-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch
+++ b/target/linux/bcm27xx/patches-6.1/950-0390-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch
@@ -86,11 +86,11 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
first_trb = false;
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1902,6 +1902,7 @@ struct xhci_hcd {
- #define XHCI_RESET_TO_DEFAULT BIT_ULL(44)
- #define XHCI_AVOID_DQ_ON_LINK BIT_ULL(45)
- #define XHCI_VLI_TRB_CACHE_BUG BIT_ULL(46)
-+#define XHCI_VLI_SS_BULK_OUT_BUG BIT_ULL(47)
+@@ -1904,6 +1904,7 @@ struct xhci_hcd {
+ #define XHCI_ZHAOXIN_HOST BIT_ULL(46)
+ #define XHCI_AVOID_DQ_ON_LINK BIT_ULL(47)
+ #define XHCI_VLI_TRB_CACHE_BUG BIT_ULL(48)
++#define XHCI_VLI_SS_BULK_OUT_BUG BIT_ULL(49)
unsigned int num_active_eps;
unsigned int limit_active_eps;
diff --git a/target/linux/bcm27xx/patches-6.1/950-0469-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch b/target/linux/bcm27xx/patches-6.1/950-0469-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch
index 474698e913..29f4ce1684 100644
--- a/target/linux/bcm27xx/patches-6.1/950-0469-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch
+++ b/target/linux/bcm27xx/patches-6.1/950-0469-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch
@@ -109,11 +109,11 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
return 0;
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1903,6 +1903,7 @@ struct xhci_hcd {
- #define XHCI_AVOID_DQ_ON_LINK BIT_ULL(45)
- #define XHCI_VLI_TRB_CACHE_BUG BIT_ULL(46)
- #define XHCI_VLI_SS_BULK_OUT_BUG BIT_ULL(47)
-+#define XHCI_VLI_HUB_TT_QUIRK BIT_ULL(48)
+@@ -1905,6 +1905,7 @@ struct xhci_hcd {
+ #define XHCI_AVOID_DQ_ON_LINK BIT_ULL(47)
+ #define XHCI_VLI_TRB_CACHE_BUG BIT_ULL(48)
+ #define XHCI_VLI_SS_BULK_OUT_BUG BIT_ULL(49)
++#define XHCI_VLI_HUB_TT_QUIRK BIT_ULL(50)
unsigned int num_active_eps;
unsigned int limit_active_eps;
diff --git a/target/linux/bcm27xx/patches-6.1/950-0477-drm-atomic-Constify-the-old-new-state-accessors.patch b/target/linux/bcm27xx/patches-6.1/950-0477-drm-atomic-Constify-the-old-new-state-accessors.patch
index 983c54fae1..f12a952ec2 100644
--- a/target/linux/bcm27xx/patches-6.1/950-0477-drm-atomic-Constify-the-old-new-state-accessors.patch
+++ b/target/linux/bcm27xx/patches-6.1/950-0477-drm-atomic-Constify-the-old-new-state-accessors.patch
@@ -16,7 +16,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20221123-rpi-kunit-tests-v1-
--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
-@@ -880,7 +880,7 @@ EXPORT_SYMBOL(drm_atomic_get_private_obj
+@@ -889,7 +889,7 @@ EXPORT_SYMBOL(drm_atomic_get_private_obj
* or NULL if the private_obj is not part of the global atomic state.
*/
struct drm_private_state *
@@ -25,7 +25,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20221123-rpi-kunit-tests-v1-
struct drm_private_obj *obj)
{
int i;
-@@ -902,7 +902,7 @@ EXPORT_SYMBOL(drm_atomic_get_old_private
+@@ -911,7 +911,7 @@ EXPORT_SYMBOL(drm_atomic_get_old_private
* or NULL if the private_obj is not part of the global atomic state.
*/
struct drm_private_state *
@@ -34,7 +34,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20221123-rpi-kunit-tests-v1-
struct drm_private_obj *obj)
{
int i;
-@@ -934,7 +934,7 @@ EXPORT_SYMBOL(drm_atomic_get_new_private
+@@ -943,7 +943,7 @@ EXPORT_SYMBOL(drm_atomic_get_new_private
* not connected.
*/
struct drm_connector *
@@ -43,7 +43,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20221123-rpi-kunit-tests-v1-
struct drm_encoder *encoder)
{
struct drm_connector_state *conn_state;
-@@ -968,7 +968,7 @@ EXPORT_SYMBOL(drm_atomic_get_old_connect
+@@ -977,7 +977,7 @@ EXPORT_SYMBOL(drm_atomic_get_old_connect
* not connected.
*/
struct drm_connector *
@@ -52,7 +52,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20221123-rpi-kunit-tests-v1-
struct drm_encoder *encoder)
{
struct drm_connector_state *conn_state;
-@@ -1118,7 +1118,7 @@ EXPORT_SYMBOL(drm_atomic_get_bridge_stat
+@@ -1127,7 +1127,7 @@ EXPORT_SYMBOL(drm_atomic_get_bridge_stat
* the bridge is not part of the global atomic state.
*/
struct drm_bridge_state *
@@ -61,7 +61,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20221123-rpi-kunit-tests-v1-
struct drm_bridge *bridge)
{
struct drm_private_state *obj_state;
-@@ -1140,7 +1140,7 @@ EXPORT_SYMBOL(drm_atomic_get_old_bridge_
+@@ -1149,7 +1149,7 @@ EXPORT_SYMBOL(drm_atomic_get_old_bridge_
* the bridge is not part of the global atomic state.
*/
struct drm_bridge_state *
diff --git a/target/linux/bcm27xx/patches-6.1/950-0521-drm-panel-simple-Add-Innolux-AT056tN53V1-5.6-VGA.patch b/target/linux/bcm27xx/patches-6.1/950-0521-drm-panel-simple-Add-Innolux-AT056tN53V1-5.6-VGA.patch
index 5ce1d8a190..411c9c7c10 100644
--- a/target/linux/bcm27xx/patches-6.1/950-0521-drm-panel-simple-Add-Innolux-AT056tN53V1-5.6-VGA.patch
+++ b/target/linux/bcm27xx/patches-6.1/950-0521-drm-panel-simple-Add-Innolux-AT056tN53V1-5.6-VGA.patch
@@ -126,7 +126,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
- MEDIA_BUS_FMT_RGB666_1X24_CPADHI
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
-@@ -2135,6 +2135,38 @@ static const struct panel_desc innolux_a
+@@ -2136,6 +2136,38 @@ static const struct panel_desc innolux_a
.bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
};
@@ -165,7 +165,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
static const struct drm_display_mode innolux_at070tn92_mode = {
.clock = 33333,
.hdisplay = 800,
-@@ -4139,6 +4171,9 @@ static const struct of_device_id platfor
+@@ -4141,6 +4173,9 @@ static const struct of_device_id platfor
.compatible = "innolux,at043tn24",
.data = &innolux_at043tn24,
}, {
diff --git a/target/linux/bcm27xx/patches-6.1/950-0698-serial-8250-Add-NOMSI-bug-for-bcm2835aux.patch b/target/linux/bcm27xx/patches-6.1/950-0698-serial-8250-Add-NOMSI-bug-for-bcm2835aux.patch
index 885806f976..6f62736b08 100644
--- a/target/linux/bcm27xx/patches-6.1/950-0698-serial-8250-Add-NOMSI-bug-for-bcm2835aux.patch
+++ b/target/linux/bcm27xx/patches-6.1/950-0698-serial-8250-Add-NOMSI-bug-for-bcm2835aux.patch
@@ -20,9 +20,9 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
--- a/drivers/tty/serial/8250/8250.h
+++ b/drivers/tty/serial/8250/8250.h
-@@ -93,6 +93,7 @@ struct serial8250_config {
+@@ -92,6 +92,7 @@ struct serial8250_config {
+ #define UART_BUG_NOMSR BIT(2) /* UART has buggy MSR status bits (Au1x00) */
#define UART_BUG_THRE BIT(3) /* UART has buggy THRE reassertion */
- #define UART_BUG_PARITY BIT(4) /* UART mishandles parity if FIFO enabled */
#define UART_BUG_TXRACE BIT(5) /* UART Tx fails to set remote DR */
+#define UART_BUG_NOMSI BIT(6) /* UART has no modem status interrupt */
diff --git a/target/linux/bcm53xx/patches-6.1/180-usb-xhci-add-support-for-performing-fake-doorbell.patch b/target/linux/bcm53xx/patches-6.1/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
index 33066a84d8..37bf49c98c 100644
--- a/target/linux/bcm53xx/patches-6.1/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
+++ b/target/linux/bcm53xx/patches-6.1/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
@@ -107,11 +107,11 @@ it on BCM4708 family.
if (xhci->quirks & XHCI_NEC_HOST)
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1899,6 +1899,7 @@ struct xhci_hcd {
- #define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(42)
- #define XHCI_SUSPEND_RESUME_CLKS BIT_ULL(43)
+@@ -1901,6 +1901,7 @@ struct xhci_hcd {
#define XHCI_RESET_TO_DEFAULT BIT_ULL(44)
-+#define XHCI_FAKE_DOORBELL BIT_ULL(45)
+ #define XHCI_ZHAOXIN_TRB_FETCH BIT_ULL(45)
+ #define XHCI_ZHAOXIN_HOST BIT_ULL(46)
++#define XHCI_FAKE_DOORBELL BIT_ULL(47)
unsigned int num_active_eps;
unsigned int limit_active_eps;
diff --git a/target/linux/generic/backport-6.1/701-v6.5-net-bgmac-postpone-turning-IRQs-off-to-avoid-SoC-han.patch b/target/linux/generic/backport-6.1/701-v6.5-net-bgmac-postpone-turning-IRQs-off-to-avoid-SoC-han.patch
deleted file mode 100644
index 26e9ae3bcd..0000000000
--- a/target/linux/generic/backport-6.1/701-v6.5-net-bgmac-postpone-turning-IRQs-off-to-avoid-SoC-han.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From e7731194fdf085f46d58b1adccfddbd0dfee4873 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal at milecki.pl>
-Date: Fri, 7 Jul 2023 08:53:25 +0200
-Subject: [PATCH] net: bgmac: postpone turning IRQs off to avoid SoC hangs
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Turning IRQs off is done by accessing Ethernet controller registers.
-That can't be done until device's clock is enabled. It results in a SoC
-hang otherwise.
-
-This bug remained unnoticed for years as most bootloaders keep all
-Ethernet interfaces turned on. It seems to only affect a niche SoC
-family BCM47189. It has two Ethernet controllers but CFE bootloader uses
-only the first one.
-
-Fixes: 34322615cbaa ("net: bgmac: Mask interrupts during probe")
-Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
-Reviewed-by: Michal Kubiak <michal.kubiak at intel.com>
-Signed-off-by: David S. Miller <davem at davemloft.net>
----
- drivers/net/ethernet/broadcom/bgmac.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/drivers/net/ethernet/broadcom/bgmac.c
-+++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -1492,8 +1492,6 @@ int bgmac_enet_probe(struct bgmac *bgmac
-
- bgmac->in_init = true;
-
-- bgmac_chip_intrs_off(bgmac);
--
- net_dev->irq = bgmac->irq;
- SET_NETDEV_DEV(net_dev, bgmac->dev);
- dev_set_drvdata(bgmac->dev, bgmac);
-@@ -1511,6 +1509,8 @@ int bgmac_enet_probe(struct bgmac *bgmac
- */
- bgmac_clk_enable(bgmac, 0);
-
-+ bgmac_chip_intrs_off(bgmac);
-+
- /* This seems to be fixing IRQ by assigning OOB #6 to the core */
- if (!(bgmac->feature_flags & BGMAC_FEAT_IDM_MASK)) {
- if (bgmac->feature_flags & BGMAC_FEAT_IRQ_ID_OOB_6)
diff --git a/target/linux/generic/backport-6.1/777-v6.2-05-net-dsa-qca8k-improve-mdio-master-read-write-by-usin.patch b/target/linux/generic/backport-6.1/777-v6.2-05-net-dsa-qca8k-improve-mdio-master-read-write-by-usin.patch
index 4cbb66cf35..ea34901472 100644
--- a/target/linux/generic/backport-6.1/777-v6.2-05-net-dsa-qca8k-improve-mdio-master-read-write-by-usin.patch
+++ b/target/linux/generic/backport-6.1/777-v6.2-05-net-dsa-qca8k-improve-mdio-master-read-write-by-usin.patch
@@ -28,7 +28,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
--- a/drivers/net/dsa/qca/qca8k-8xxx.c
+++ b/drivers/net/dsa/qca/qca8k-8xxx.c
-@@ -740,9 +740,9 @@ qca8k_mdio_busy_wait(struct mii_bus *bus
+@@ -743,9 +743,9 @@ qca8k_mdio_busy_wait(struct mii_bus *bus
qca8k_split_addr(reg, &r1, &r2, &page);
@@ -40,7 +40,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
/* Check if qca8k_read has failed for a different reason
* before returnting -ETIMEDOUT
-@@ -784,7 +784,7 @@ qca8k_mdio_write(struct qca8k_priv *priv
+@@ -787,7 +787,7 @@ qca8k_mdio_write(struct qca8k_priv *priv
exit:
/* even if the busy_wait timeouts try to clear the MASTER_EN */
@@ -49,7 +49,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
mutex_unlock(&bus->mdio_lock);
-@@ -814,18 +814,18 @@ qca8k_mdio_read(struct qca8k_priv *priv,
+@@ -817,18 +817,18 @@ qca8k_mdio_read(struct qca8k_priv *priv,
if (ret)
goto exit;
diff --git a/target/linux/generic/backport-6.1/801-v6.4-01-net-dsa-qca8k-move-qca8k_port_to_phy-to-header.patch b/target/linux/generic/backport-6.1/801-v6.4-01-net-dsa-qca8k-move-qca8k_port_to_phy-to-header.patch
index e336fb81ba..ba8216f783 100644
--- a/target/linux/generic/backport-6.1/801-v6.4-01-net-dsa-qca8k-move-qca8k_port_to_phy-to-header.patch
+++ b/target/linux/generic/backport-6.1/801-v6.4-01-net-dsa-qca8k-move-qca8k_port_to_phy-to-header.patch
@@ -20,7 +20,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
--- a/drivers/net/dsa/qca/qca8k-8xxx.c
+++ b/drivers/net/dsa/qca/qca8k-8xxx.c
-@@ -716,21 +716,6 @@ err_clear_skb:
+@@ -719,21 +719,6 @@ err_clear_skb:
return ret;
}
diff --git a/target/linux/generic/backport-6.1/801-v6.4-02-net-dsa-qca8k-add-LEDs-basic-support.patch b/target/linux/generic/backport-6.1/801-v6.4-02-net-dsa-qca8k-add-LEDs-basic-support.patch
index 37922580da..e5cd03f1f3 100644
--- a/target/linux/generic/backport-6.1/801-v6.4-02-net-dsa-qca8k-add-LEDs-basic-support.patch
+++ b/target/linux/generic/backport-6.1/801-v6.4-02-net-dsa-qca8k-add-LEDs-basic-support.patch
@@ -71,7 +71,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
static void
qca8k_split_addr(u32 regaddr, u16 *r1, u16 *r2, u16 *page)
-@@ -1726,6 +1727,10 @@ qca8k_setup(struct dsa_switch *ds)
+@@ -1729,6 +1730,10 @@ qca8k_setup(struct dsa_switch *ds)
if (ret)
return ret;
diff --git a/target/linux/generic/pending-6.1/160-workqueue-fix-enum-type-for-gcc-13.patch b/target/linux/generic/pending-6.1/160-workqueue-fix-enum-type-for-gcc-13.patch
deleted file mode 100644
index 82076121ac..0000000000
--- a/target/linux/generic/pending-6.1/160-workqueue-fix-enum-type-for-gcc-13.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 525ff9c2965770762b81d679820552a208070d59 Mon Sep 17 00:00:00 2001
-From: Arnd Bergmann <arnd at arndb.de>
-Date: Tue, 17 Jan 2023 17:40:35 +0100
-Subject: workqueue: fix enum type for gcc-13
-
-In gcc-13, the WORK_STRUCT_WQ_DATA_MASK constant is a signed 64-bit
-type on 32-bit architectures because the enum definition has both
-negative numbers and numbers above LONG_MAX in it:
-
-kernel/workqueue.c: In function 'get_work_pwq':
-kernel/workqueue.c:709:24: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
- 709 | return (void *)(data & WORK_STRUCT_WQ_DATA_MASK);
- | ^
-kernel/workqueue.c: In function 'get_work_pool':
-kernel/workqueue.c:737:25: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
- 737 | return ((struct pool_workqueue *)
- | ^
-kernel/workqueue.c: In function 'get_work_pool_id':
-kernel/workqueue.c:759:25: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
- 759 | return ((struct pool_workqueue *)
- | ^
-
-Change the enum definition to ensure all values can fit into
-the range of 'unsigned long' on all architectures.
-
-Signed-off-by: Arnd Bergmann <arnd at arndb.de>
-Tested-by: Thierry Reding <treding at nvidia.com>
-Tested-by: Lai Jiangshan<jiangshanlai at gmail.com>
-Signed-off-by: Tejun Heo <tj at kernel.org>
----
- include/linux/workqueue.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/include/linux/workqueue.h
-+++ b/include/linux/workqueue.h
-@@ -83,7 +83,7 @@ enum {
-
- /* convenience constants */
- WORK_STRUCT_FLAG_MASK = (1UL << WORK_STRUCT_FLAG_BITS) - 1,
-- WORK_STRUCT_WQ_DATA_MASK = ~WORK_STRUCT_FLAG_MASK,
-+ WORK_STRUCT_WQ_DATA_MASK = (unsigned long)~WORK_STRUCT_FLAG_MASK,
- WORK_STRUCT_NO_POOL = (unsigned long)WORK_OFFQ_POOL_NONE << WORK_OFFQ_POOL_SHIFT,
-
- /* bit mask for work_busy() return values */
diff --git a/target/linux/mediatek/patches-6.1/410-bt-mtk-serial-fix.patch b/target/linux/mediatek/patches-6.1/410-bt-mtk-serial-fix.patch
index 5b94c9216d..072883e7fe 100644
--- a/target/linux/mediatek/patches-6.1/410-bt-mtk-serial-fix.patch
+++ b/target/linux/mediatek/patches-6.1/410-bt-mtk-serial-fix.patch
@@ -19,7 +19,7 @@
},
[PORT_NPCM] = {
.name = "Nuvoton 16550",
-@@ -2773,6 +2773,11 @@ serial8250_do_set_termios(struct uart_po
+@@ -2770,6 +2770,11 @@ serial8250_do_set_termios(struct uart_po
unsigned long flags;
unsigned int baud, quot, frac = 0;
diff --git a/target/linux/qualcommax/patches-6.1/0020-v6.3-PCI-qcom-Add-support-for-IPQ8074-Gen3-port.patch b/target/linux/qualcommax/patches-6.1/0020-v6.3-PCI-qcom-Add-support-for-IPQ8074-Gen3-port.patch
index 3d5c2182e9..8f4ef91b76 100644
--- a/target/linux/qualcommax/patches-6.1/0020-v6.3-PCI-qcom-Add-support-for-IPQ8074-Gen3-port.patch
+++ b/target/linux/qualcommax/patches-6.1/0020-v6.3-PCI-qcom-Add-support-for-IPQ8074-Gen3-port.patch
@@ -16,7 +16,7 @@ Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>
--- a/drivers/pci/controller/dwc/pcie-qcom.c
+++ b/drivers/pci/controller/dwc/pcie-qcom.c
-@@ -1762,6 +1762,7 @@ static const struct of_device_id qcom_pc
+@@ -1764,6 +1764,7 @@ static const struct of_device_id qcom_pc
{ .compatible = "qcom,pcie-ipq8064", .data = &cfg_2_1_0 },
{ .compatible = "qcom,pcie-ipq8064-v2", .data = &cfg_2_1_0 },
{ .compatible = "qcom,pcie-ipq8074", .data = &cfg_2_3_3 },
diff --git a/target/linux/qualcommax/patches-6.1/0022-v6.5-soc-qcom-mdt_loader-Fix-unconditional-call-to-scm_pa.patch b/target/linux/qualcommax/patches-6.1/0022-v6.5-soc-qcom-mdt_loader-Fix-unconditional-call-to-scm_pa.patch
deleted file mode 100644
index 72b38270c4..0000000000
--- a/target/linux/qualcommax/patches-6.1/0022-v6.5-soc-qcom-mdt_loader-Fix-unconditional-call-to-scm_pa.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From b8295c6eb276b60f7b75c53a9703ca8fee01eba2 Mon Sep 17 00:00:00 2001
-From: Christian Marangi <ansuelsmth at gmail.com>
-Date: Fri, 26 May 2023 13:09:17 +0200
-Subject: [PATCH] soc: qcom: mdt_loader: Fix unconditional call to
- scm_pas_mem_setup
-
-Commit ebeb20a9cd3f ("soc: qcom: mdt_loader: Always invoke PAS
-mem_setup") dropped the relocate check and made pas_mem_setup run
-unconditionally. The code was later moved with commit f4e526ff7e38
-("soc: qcom: mdt_loader: Extract PAS operations") to
-qcom_mdt_pas_init() effectively losing track of what was actually
-done.
-
-The assumption that PAS mem_setup can be done anytime was effectively
-wrong, with no good reason and this caused regression on some SoC
-that use remoteproc to bringup ath11k. One example is IPQ8074 SoC that
-effectively broke resulting in remoteproc silently die and ath11k not
-working.
-
-On this SoC FW relocate is not enabled and PAS mem_setup was correctly
-skipped in previous kernel version resulting in correct bringup and
-function of remoteproc and ath11k.
-
-To fix the regression, reintroduce the relocate check in
-qcom_mdt_pas_init() and correctly skip PAS mem_setup where relocate is
-not enabled.
-
-Fixes: ebeb20a9cd3f ("soc: qcom: mdt_loader: Always invoke PAS mem_setup")
-Reported-by: Robert Marko <robimarko at gmail.com>
-Tested-by: Robert Marko <robimarko at gmail.com>
-Co-developed-by: Robert Marko <robimarko at gmail.com>
-Signed-off-by: Robert Marko <robimarko at gmail.com>
-Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
-Cc: stable at vger.kernel.org
----
- drivers/soc/qcom/mdt_loader.c | 16 +++++++++++-----
- 1 file changed, 11 insertions(+), 5 deletions(-)
-
---- a/drivers/soc/qcom/mdt_loader.c
-+++ b/drivers/soc/qcom/mdt_loader.c
-@@ -210,6 +210,7 @@ int qcom_mdt_pas_init(struct device *dev
- const struct elf32_hdr *ehdr;
- phys_addr_t min_addr = PHYS_ADDR_MAX;
- phys_addr_t max_addr = 0;
-+ bool relocate = false;
- size_t metadata_len;
- void *metadata;
- int ret;
-@@ -224,6 +225,9 @@ int qcom_mdt_pas_init(struct device *dev
- if (!mdt_phdr_valid(phdr))
- continue;
-
-+ if (phdr->p_flags & QCOM_MDT_RELOCATABLE)
-+ relocate = true;
-+
- if (phdr->p_paddr < min_addr)
- min_addr = phdr->p_paddr;
-
-@@ -246,11 +250,13 @@ int qcom_mdt_pas_init(struct device *dev
- goto out;
- }
-
-- ret = qcom_scm_pas_mem_setup(pas_id, mem_phys, max_addr - min_addr);
-- if (ret) {
-- /* Unable to set up relocation */
-- dev_err(dev, "error %d setting up firmware %s\n", ret, fw_name);
-- goto out;
-+ if (relocate) {
-+ ret = qcom_scm_pas_mem_setup(pas_id, mem_phys, max_addr - min_addr);
-+ if (ret) {
-+ /* Unable to set up relocation */
-+ dev_err(dev, "error %d setting up firmware %s\n", ret, fw_name);
-+ goto out;
-+ }
- }
-
- out:
More information about the lede-commits
mailing list