From 25f66d9c49f4f508dba5ad3a6f9b59e9f395b81a Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Fri, 19 May 2023 14:46:43 +0800 Subject: [PATCH] kernel: bump to 5.4.243 Manually rebased: * bcm27xx/patches-5.4/950-0052-firmware-bcm2835-Support-ARCH_BCM270x.patch * bcm27xx/patches-5.4/950-0642-media-uapi-Add-MEDIA_BUS_FMT_SENSOR_DATA-media-bus-f.patch * bcm27xx/patches-5.4/950-0653-Revert-firmware-raspberrypi-register-clk-device.patch Refreshed all patches. Signed-off-by: Tianling Shen --- include/kernel-5.4 | 4 +- ...0013-firmware-Updated-mailbox-header.patch | 2 +- ...-0027-mm-Remove-the-PFN-busy-warning.patch | 2 +- ...irmware-bcm2835-Support-ARCH_BCM270x.patch | 20 +++++----- ...ware-Export-the-general-transaction-.patch | 4 +- ...pberrypi-Notify-firmware-of-a-reboot.patch | 6 +-- ...rypi-Add-backward-compatible-get_thr.patch | 12 +++--- ...rypi-Report-the-fw-variant-during-pr.patch | 4 +- ...lise-rpi-firmware-before-clk-bcm2835.patch | 2 +- ...EDIA_BUS_FMT_SENSOR_DATA-media-bus-f.patch | 17 ++++---- ...ware-raspberrypi-register-clk-device.patch | 16 ++++---- ...rypi-Add-support-for-tryonce-reboot-.patch | 4 +- ...formation-about-stacked-DSA-protocol.patch | 2 +- ...e6xxx-Add-support-for-port-mirroring.patch | 4 +- ...x-fix-broken-if-statement-because-of.patch | 2 +- .../993-usb-serial-option-add-u9300.patch | 4 +- ...e_mem_map-with-ARCH_PFN_OFFSET-calcu.patch | 2 +- .../pending-5.4/630-packet_socket_type.patch | 16 ++++---- ...w_table-add-hardware-offload-support.patch | 6 +-- ...equest-assisted-learning-on-CPU-port.patch | 2 +- .../0072-add-ipq806x-with-no-clocks.patch | 2 +- ...hc-poll-ESDHC_FLUSH_ASYNC_FIFO-bit-u.patch | 6 +-- ...-of-esdhc-convert-to-use-esdhc_tunin.patch | 6 +-- ...-of-esdhc-update-tuning-erratum-A-00.patch | 6 +-- ...l_lpuart-enable-dma-mode-for-imx8qxp.patch | 2 +- ...Add-cache-type-configuration-support.patch | 2 +- ...usb-dwc3-Add-cache-type-configuratio.patch | 2 +- ...3-Add-cache-type-configuration-suppo.patch | 2 +- ...0-v5.6-crypto-backport-inside-secure.patch | 40 +++++++++---------- ...03-crypto-fix-eip97-cache-incoherent.patch | 2 +- .../patches-5.4/0900-bt-mtk-serial-fix.patch | 4 +- 31 files changed, 102 insertions(+), 103 deletions(-) diff --git a/include/kernel-5.4 b/include/kernel-5.4 index fbf5667648..2e0463537b 100644 --- a/include/kernel-5.4 +++ b/include/kernel-5.4 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.4 = .242 -LINUX_KERNEL_HASH-5.4.242 = 142f9aed1c9f2e409dd72c5c490ad824dddf31f955ed2097d5989c4b5074fc28 +LINUX_VERSION-5.4 = .243 +LINUX_KERNEL_HASH-5.4.243 = c3cf664feeeee47e0f0c45c53705568f73692c37a3ff7f11c1b15e59610feb04 diff --git a/target/linux/bcm27xx/patches-5.4/950-0013-firmware-Updated-mailbox-header.patch b/target/linux/bcm27xx/patches-5.4/950-0013-firmware-Updated-mailbox-header.patch index 4c149e7825..e353521987 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0013-firmware-Updated-mailbox-header.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0013-firmware-Updated-mailbox-header.patch @@ -18,7 +18,7 @@ Subject: [PATCH] firmware: Updated mailbox header struct rpi_firmware; enum rpi_firmware_property_status { -@@ -159,5 +161,6 @@ static inline struct rpi_firmware *rpi_f +@@ -169,5 +171,6 @@ static inline struct rpi_firmware *devm_ return NULL; } #endif diff --git a/target/linux/bcm27xx/patches-5.4/950-0027-mm-Remove-the-PFN-busy-warning.patch b/target/linux/bcm27xx/patches-5.4/950-0027-mm-Remove-the-PFN-busy-warning.patch index 9000b5c0ed..d924a133c6 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0027-mm-Remove-the-PFN-busy-warning.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0027-mm-Remove-the-PFN-busy-warning.patch @@ -14,7 +14,7 @@ Signed-off-by: Eric Anholt --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -8566,8 +8566,6 @@ int alloc_contig_range(unsigned long sta +@@ -8582,8 +8582,6 @@ int alloc_contig_range(unsigned long sta /* Make sure the range is really isolated. */ if (test_pages_isolated(outer_start, end, false)) { diff --git a/target/linux/bcm27xx/patches-5.4/950-0052-firmware-bcm2835-Support-ARCH_BCM270x.patch b/target/linux/bcm27xx/patches-5.4/950-0052-firmware-bcm2835-Support-ARCH_BCM270x.patch index a561e589db..2f6c37cce3 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0052-firmware-bcm2835-Support-ARCH_BCM270x.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0052-firmware-bcm2835-Support-ARCH_BCM270x.patch @@ -27,8 +27,8 @@ Signed-off-by: Noralf Trønnes --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c -@@ -29,6 +29,8 @@ struct rpi_firmware { - u32 enabled; +@@ -32,6 +32,8 @@ struct rpi_firmware { + struct kref consumers; }; +static struct platform_device *g_pdev; @@ -36,32 +36,32 @@ Signed-off-by: Noralf Trønnes static DEFINE_MUTEX(transaction_lock); static void response_callback(struct mbox_client *cl, void *msg) -@@ -238,6 +240,7 @@ static int rpi_firmware_probe(struct pla - init_completion(&fw->c); +@@ -269,6 +271,7 @@ static int rpi_firmware_probe(struct pla + kref_init(&fw->consumers); platform_set_drvdata(pdev, fw); + g_pdev = pdev; rpi_firmware_print_firmware_revision(fw); rpi_register_hwmon_driver(dev, fw); -@@ -265,6 +268,7 @@ static int rpi_firmware_remove(struct pl - platform_device_unregister(rpi_clk); +@@ -297,6 +300,7 @@ static int rpi_firmware_remove(struct pl rpi_clk = NULL; - mbox_free_channel(fw->chan); + + rpi_firmware_put(fw); + g_pdev = NULL; return 0; } -@@ -277,7 +281,7 @@ static int rpi_firmware_remove(struct pl +@@ -311,7 +315,7 @@ static int rpi_firmware_remove(struct pl */ struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node) { - struct platform_device *pdev = of_find_device_by_node(firmware_node); + struct platform_device *pdev = g_pdev; + struct rpi_firmware *fw; if (!pdev) - return NULL; -@@ -301,7 +305,18 @@ static struct platform_driver rpi_firmwa +@@ -365,7 +369,18 @@ static struct platform_driver rpi_firmwa .shutdown = rpi_firmware_shutdown, .remove = rpi_firmware_remove, }; diff --git a/target/linux/bcm27xx/patches-5.4/950-0094-raspberrypi-firmware-Export-the-general-transaction-.patch b/target/linux/bcm27xx/patches-5.4/950-0094-raspberrypi-firmware-Export-the-general-transaction-.patch index 02f1a6ffd4..b00f45f3db 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0094-raspberrypi-firmware-Export-the-general-transaction-.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0094-raspberrypi-firmware-Export-the-general-transaction-.patch @@ -13,7 +13,7 @@ Signed-off-by: Eric Anholt --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c -@@ -43,7 +43,7 @@ static void response_callback(struct mbo +@@ -46,7 +46,7 @@ static void response_callback(struct mbo * Sends a request to the firmware through the BCM2835 mailbox driver, * and synchronously waits for the reply. */ @@ -22,7 +22,7 @@ Signed-off-by: Eric Anholt rpi_firmware_transaction(struct rpi_firmware *fw, u32 chan, u32 data) { u32 message = MBOX_MSG(chan, data); -@@ -68,6 +68,7 @@ rpi_firmware_transaction(struct rpi_firm +@@ -71,6 +71,7 @@ rpi_firmware_transaction(struct rpi_firm return ret; } diff --git a/target/linux/bcm27xx/patches-5.4/950-0114-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch b/target/linux/bcm27xx/patches-5.4/950-0114-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch index 1db30c9cc1..947bce99a7 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0114-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0114-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch @@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c -@@ -12,6 +12,7 @@ +@@ -13,6 +13,7 @@ #include #include #include @@ -21,7 +21,7 @@ Signed-off-by: Phil Elwell #include #define MBOX_MSG(chan, data28) (((data28) & ~0xf) | ((chan) & 0xf)) -@@ -177,6 +178,26 @@ int rpi_firmware_property(struct rpi_fir +@@ -180,6 +181,26 @@ int rpi_firmware_property(struct rpi_fir } EXPORT_SYMBOL_GPL(rpi_firmware_property); @@ -48,7 +48,7 @@ Signed-off-by: Phil Elwell static void rpi_firmware_print_firmware_revision(struct rpi_firmware *fw) { -@@ -307,15 +328,32 @@ static struct platform_driver rpi_firmwa +@@ -371,15 +392,32 @@ static struct platform_driver rpi_firmwa .remove = rpi_firmware_remove, }; diff --git a/target/linux/bcm27xx/patches-5.4/950-0123-firmware-raspberrypi-Add-backward-compatible-get_thr.patch b/target/linux/bcm27xx/patches-5.4/950-0123-firmware-raspberrypi-Add-backward-compatible-get_thr.patch index 6049c55acb..b842e4b2b2 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0123-firmware-raspberrypi-Add-backward-compatible-get_thr.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0123-firmware-raspberrypi-Add-backward-compatible-get_thr.patch @@ -16,15 +16,15 @@ Signed-off-by: Stefan Wahren --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c -@@ -28,6 +28,7 @@ struct rpi_firmware { - struct mbox_chan *chan; /* The property channel. */ - struct completion c; +@@ -31,6 +31,7 @@ struct rpi_firmware { u32 enabled; + + struct kref consumers; + u32 get_throttled; }; static struct platform_device *g_pdev; -@@ -174,6 +175,12 @@ int rpi_firmware_property(struct rpi_fir +@@ -177,6 +178,12 @@ int rpi_firmware_property(struct rpi_fir kfree(data); @@ -37,7 +37,7 @@ Signed-off-by: Stefan Wahren return ret; } EXPORT_SYMBOL_GPL(rpi_firmware_property); -@@ -198,6 +205,27 @@ static int rpi_firmware_notify_reboot(st +@@ -201,6 +208,27 @@ static int rpi_firmware_notify_reboot(st return 0; } @@ -65,7 +65,7 @@ Signed-off-by: Stefan Wahren static void rpi_firmware_print_firmware_revision(struct rpi_firmware *fw) { -@@ -230,6 +258,11 @@ rpi_register_hwmon_driver(struct device +@@ -233,6 +261,11 @@ rpi_register_hwmon_driver(struct device rpi_hwmon = platform_device_register_data(dev, "raspberrypi-hwmon", -1, NULL, 0); diff --git a/target/linux/bcm27xx/patches-5.4/950-0131-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch b/target/linux/bcm27xx/patches-5.4/950-0131-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch index c0d3eb0d67..6531b4c516 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0131-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0131-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch @@ -27,7 +27,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c -@@ -229,21 +229,55 @@ static const struct attribute_group rpi_ +@@ -232,21 +232,55 @@ static const struct attribute_group rpi_ static void rpi_firmware_print_firmware_revision(struct rpi_firmware *fw) { @@ -90,7 +90,7 @@ Signed-off-by: Dave Stevenson } static void -@@ -298,6 +332,7 @@ static int rpi_firmware_probe(struct pla +@@ -329,6 +363,7 @@ static int rpi_firmware_probe(struct pla g_pdev = pdev; rpi_firmware_print_firmware_revision(fw); diff --git a/target/linux/bcm27xx/patches-5.4/950-0389-Initialise-rpi-firmware-before-clk-bcm2835.patch b/target/linux/bcm27xx/patches-5.4/950-0389-Initialise-rpi-firmware-before-clk-bcm2835.patch index ec26bfbb7d..81ed8a96cf 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0389-Initialise-rpi-firmware-before-clk-bcm2835.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0389-Initialise-rpi-firmware-before-clk-bcm2835.patch @@ -36,7 +36,7 @@ Co-authored-by: Phil Elwell MODULE_DESCRIPTION("BCM2835 clock driver"); --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c -@@ -416,7 +416,7 @@ out2: +@@ -480,7 +480,7 @@ out2: out1: return ret; } diff --git a/target/linux/bcm27xx/patches-5.4/950-0642-media-uapi-Add-MEDIA_BUS_FMT_SENSOR_DATA-media-bus-f.patch b/target/linux/bcm27xx/patches-5.4/950-0642-media-uapi-Add-MEDIA_BUS_FMT_SENSOR_DATA-media-bus-f.patch index 65162cc5d5..42abcfca1c 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0642-media-uapi-Add-MEDIA_BUS_FMT_SENSOR_DATA-media-bus-f.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0642-media-uapi-Add-MEDIA_BUS_FMT_SENSOR_DATA-media-bus-f.patch @@ -15,11 +15,10 @@ Signed-off-by: Naushir Patuck --- a/Documentation/media/uapi/v4l/subdev-formats.rst +++ b/Documentation/media/uapi/v4l/subdev-formats.rst -@@ -7794,3 +7794,36 @@ formats. - - 0x5001 - - Interleaved raw UYVY and JPEG image format with embedded meta-data - used by Samsung S3C73MX camera sensors. -+ +@@ -7821,3 +7821,35 @@ The following table lists the existing m + both sides of the link and the bus format is a fixed + metadata format that is not configurable from userspace. + Width and height will be set to 0 for this format. + + +.. _v4l2-mbus-sensor-data: @@ -54,11 +53,11 @@ Signed-off-by: Naushir Patuck + --- a/include/uapi/linux/media-bus-format.h +++ b/include/uapi/linux/media-bus-format.h -@@ -155,4 +155,7 @@ - /* HSV - next is 0x6002 */ - #define MEDIA_BUS_FMT_AHSV8888_1X32 0x6001 +@@ -163,4 +163,7 @@ + */ + #define MEDIA_BUS_FMT_METADATA_FIXED 0x7001 +/* Sensor ancillary metadata formats - next is 0x7002 */ -+#define MEDIA_BUS_FMT_SENSOR_DATA 0x7001 ++#define MEDIA_BUS_FMT_SENSOR_DATA 0x7002 + #endif /* __LINUX_MEDIA_BUS_FORMAT_H */ diff --git a/target/linux/bcm27xx/patches-5.4/950-0653-Revert-firmware-raspberrypi-register-clk-device.patch b/target/linux/bcm27xx/patches-5.4/950-0653-Revert-firmware-raspberrypi-register-clk-device.patch index 01533d1f3f..2cfeabf004 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0653-Revert-firmware-raspberrypi-register-clk-device.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0653-Revert-firmware-raspberrypi-register-clk-device.patch @@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c -@@ -21,7 +21,6 @@ +@@ -22,7 +22,6 @@ #define MBOX_CHAN_PROPERTY 8 static struct platform_device *rpi_hwmon; @@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell struct rpi_firmware { struct mbox_client cl; -@@ -299,12 +298,6 @@ rpi_register_hwmon_driver(struct device +@@ -302,12 +301,6 @@ rpi_register_hwmon_driver(struct device } } @@ -36,10 +36,10 @@ Signed-off-by: Phil Elwell - -1, NULL, 0); -} - - static int rpi_firmware_probe(struct platform_device *pdev) + static void rpi_firmware_delete(struct kref *kref) { - struct device *dev = &pdev->dev; -@@ -334,7 +327,6 @@ static int rpi_firmware_probe(struct pla + struct rpi_firmware *fw = container_of(kref, struct rpi_firmware, +@@ -365,7 +358,6 @@ static int rpi_firmware_probe(struct pla rpi_firmware_print_firmware_revision(fw); rpi_firmware_print_firmware_hash(fw); rpi_register_hwmon_driver(dev, fw); @@ -47,12 +47,12 @@ Signed-off-by: Phil Elwell return 0; } -@@ -355,8 +347,6 @@ static int rpi_firmware_remove(struct pl +@@ -386,8 +378,6 @@ static int rpi_firmware_remove(struct pl platform_device_unregister(rpi_hwmon); rpi_hwmon = NULL; - platform_device_unregister(rpi_clk); - rpi_clk = NULL; - mbox_free_channel(fw->chan); - g_pdev = NULL; + rpi_firmware_put(fw); + g_pdev = NULL; diff --git a/target/linux/bcm27xx/patches-5.4/950-1009-firmware-raspberrypi-Add-support-for-tryonce-reboot-.patch b/target/linux/bcm27xx/patches-5.4/950-1009-firmware-raspberrypi-Add-support-for-tryonce-reboot-.patch index 4d7a83f02b..6a25337143 100644 --- a/target/linux/bcm27xx/patches-5.4/950-1009-firmware-raspberrypi-Add-support-for-tryonce-reboot-.patch +++ b/target/linux/bcm27xx/patches-5.4/950-1009-firmware-raspberrypi-Add-support-for-tryonce-reboot-.patch @@ -20,7 +20,7 @@ mechanism to be implemented for OS upgrades. --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c -@@ -190,6 +190,7 @@ static int rpi_firmware_notify_reboot(st +@@ -193,6 +193,7 @@ static int rpi_firmware_notify_reboot(st { struct rpi_firmware *fw; struct platform_device *pdev = g_pdev; @@ -28,7 +28,7 @@ mechanism to be implemented for OS upgrades. if (!pdev) return 0; -@@ -198,8 +199,28 @@ static int rpi_firmware_notify_reboot(st +@@ -201,8 +202,28 @@ static int rpi_firmware_notify_reboot(st if (!fw) return 0; diff --git a/target/linux/generic/backport-5.4/704-v5.6-net-dsa-Get-information-about-stacked-DSA-protocol.patch b/target/linux/generic/backport-5.4/704-v5.6-net-dsa-Get-information-about-stacked-DSA-protocol.patch index e8a3e67fdb..4ec12dabb5 100644 --- a/target/linux/generic/backport-5.4/704-v5.6-net-dsa-Get-information-about-stacked-DSA-protocol.patch +++ b/target/linux/generic/backport-5.4/704-v5.6-net-dsa-Get-information-about-stacked-DSA-protocol.patch @@ -202,7 +202,7 @@ Signed-off-by: David S. Miller } --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -4883,7 +4883,8 @@ static struct mv88e6xxx_chip *mv88e6xxx_ +@@ -4884,7 +4884,8 @@ static struct mv88e6xxx_chip *mv88e6xxx_ } static enum dsa_tag_protocol mv88e6xxx_get_tag_protocol(struct dsa_switch *ds, diff --git a/target/linux/generic/backport-5.4/747-v5.5-net-dsa-mv88e6xxx-Add-support-for-port-mirroring.patch b/target/linux/generic/backport-5.4/747-v5.5-net-dsa-mv88e6xxx-Add-support-for-port-mirroring.patch index 6205f83334..7cf5fc5893 100644 --- a/target/linux/generic/backport-5.4/747-v5.5-net-dsa-mv88e6xxx-Add-support-for-port-mirroring.patch +++ b/target/linux/generic/backport-5.4/747-v5.5-net-dsa-mv88e6xxx-Add-support-for-port-mirroring.patch @@ -25,7 +25,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -4934,6 +4934,80 @@ static int mv88e6xxx_port_mdb_del(struct +@@ -4935,6 +4935,80 @@ static int mv88e6xxx_port_mdb_del(struct return err; } @@ -106,7 +106,7 @@ Signed-off-by: David S. Miller static int mv88e6xxx_port_egress_floods(struct dsa_switch *ds, int port, bool unicast, bool multicast) { -@@ -4988,6 +5062,8 @@ static const struct dsa_switch_ops mv88e +@@ -4989,6 +5063,8 @@ static const struct dsa_switch_ops mv88e .port_mdb_prepare = mv88e6xxx_port_mdb_prepare, .port_mdb_add = mv88e6xxx_port_mdb_add, .port_mdb_del = mv88e6xxx_port_mdb_del, diff --git a/target/linux/generic/backport-5.4/748-v5.5-net-dsa-mv88e6xxx-fix-broken-if-statement-because-of.patch b/target/linux/generic/backport-5.4/748-v5.5-net-dsa-mv88e6xxx-fix-broken-if-statement-because-of.patch index 035e3634a2..bc2a4085c0 100644 --- a/target/linux/generic/backport-5.4/748-v5.5-net-dsa-mv88e6xxx-fix-broken-if-statement-because-of.patch +++ b/target/linux/generic/backport-5.4/748-v5.5-net-dsa-mv88e6xxx-fix-broken-if-statement-because-of.patch @@ -19,7 +19,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -5001,7 +5001,7 @@ static void mv88e6xxx_port_mirror_del(st +@@ -5002,7 +5002,7 @@ static void mv88e6xxx_port_mirror_del(st if (chip->info->ops->set_egress_port(chip, direction, dsa_upstream_port(ds, diff --git a/target/linux/generic/hack-5.4/993-usb-serial-option-add-u9300.patch b/target/linux/generic/hack-5.4/993-usb-serial-option-add-u9300.patch index 9122d85183..dbe1e1cf55 100644 --- a/target/linux/generic/hack-5.4/993-usb-serial-option-add-u9300.patch +++ b/target/linux/generic/hack-5.4/993-usb-serial-option-add-u9300.patch @@ -18,7 +18,7 @@ /* 4G Systems products */ /* This one was sold as the VW and Skoda "Carstick LTE" */ -@@ -612,6 +613,16 @@ static void option_instat_callback(struc +@@ -617,6 +618,16 @@ static void option_instat_callback(struc /* Device needs ZLP */ #define ZLP BIT(17) @@ -35,7 +35,7 @@ static const struct usb_device_id option_ids[] = { { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) }, -@@ -646,6 +657,8 @@ static const struct usb_device_id option +@@ -651,6 +662,8 @@ static const struct usb_device_id option { USB_DEVICE(QUANTA_VENDOR_ID, QUANTA_PRODUCT_GLE) }, { USB_DEVICE(QUANTA_VENDOR_ID, 0xea42), .driver_info = RSVD(4) }, diff --git a/target/linux/generic/pending-5.4/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch b/target/linux/generic/pending-5.4/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch index 680ea7e9b8..fcf3aa035a 100644 --- a/target/linux/generic/pending-5.4/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch +++ b/target/linux/generic/pending-5.4/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch @@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -6931,7 +6931,7 @@ static void __ref alloc_node_mem_map(str +@@ -6947,7 +6947,7 @@ static void __ref alloc_node_mem_map(str mem_map = NODE_DATA(0)->node_mem_map; #if defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) || defined(CONFIG_FLATMEM) if (page_to_pfn(mem_map) != pgdat->node_start_pfn) diff --git a/target/linux/generic/pending-5.4/630-packet_socket_type.patch b/target/linux/generic/pending-5.4/630-packet_socket_type.patch index 38323ab5f0..848042bcd6 100644 --- a/target/linux/generic/pending-5.4/630-packet_socket_type.patch +++ b/target/linux/generic/pending-5.4/630-packet_socket_type.patch @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau #define PACKET_FANOUT_LB 1 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c -@@ -1801,6 +1801,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1802,6 +1802,7 @@ static int packet_rcv_spkt(struct sk_buf { struct sock *sk; struct sockaddr_pkt *spkt; @@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau /* * When we registered the protocol we saved the socket in the data -@@ -1808,6 +1809,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1809,6 +1810,7 @@ static int packet_rcv_spkt(struct sk_buf */ sk = pt->af_packet_priv; @@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau /* * Yank back the headers [hope the device set this -@@ -1820,7 +1822,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1821,7 +1823,7 @@ static int packet_rcv_spkt(struct sk_buf * so that this procedure is noop. */ @@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau goto out; if (!net_eq(dev_net(dev), sock_net(sk))) -@@ -2068,12 +2070,12 @@ static int packet_rcv(struct sk_buff *sk +@@ -2069,12 +2071,12 @@ static int packet_rcv(struct sk_buff *sk unsigned int snaplen, res; bool is_drop_n_account = false; @@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -2199,12 +2201,12 @@ static int tpacket_rcv(struct sk_buff *s +@@ -2200,12 +2202,12 @@ static int tpacket_rcv(struct sk_buff *s BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32); BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48); @@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -3310,6 +3312,7 @@ static int packet_create(struct net *net +@@ -3313,6 +3315,7 @@ static int packet_create(struct net *net mutex_init(&po->pg_vec_lock); po->rollover = NULL; po->prot_hook.func = packet_rcv; @@ -96,7 +96,7 @@ Signed-off-by: Felix Fietkau if (sock->type == SOCK_PACKET) po->prot_hook.func = packet_rcv_spkt; @@ -3952,6 +3955,16 @@ packet_setsockopt(struct socket *sock, i - po->xmit = val ? packet_direct_xmit : dev_queue_xmit; + WRITE_ONCE(po->xmit, val ? packet_direct_xmit : dev_queue_xmit); return 0; } + case PACKET_RECV_TYPE: @@ -128,7 +128,7 @@ Signed-off-by: Felix Fietkau break; --- a/net/packet/internal.h +++ b/net/packet/internal.h -@@ -136,6 +136,7 @@ struct packet_sock { +@@ -135,6 +135,7 @@ struct packet_sock { int (*xmit)(struct sk_buff *skb); struct packet_type prot_hook ____cacheline_aligned_in_smp; atomic_t tp_drops ____cacheline_aligned_in_smp; diff --git a/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch b/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch index 88d2cb10ad..0eec482784 100644 --- a/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch +++ b/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch @@ -506,7 +506,7 @@ Signed-off-by: Pablo Neira Ayuso +MODULE_ALIAS("nf-flow-table-hw"); --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c -@@ -5758,6 +5758,13 @@ static int nf_tables_flowtable_parse_hoo +@@ -5770,6 +5770,13 @@ static int nf_tables_flowtable_parse_hoo if (err < 0) return err; @@ -520,7 +520,7 @@ Signed-off-by: Pablo Neira Ayuso ops = kcalloc(n, sizeof(struct nf_hook_ops), GFP_KERNEL); if (!ops) return -ENOMEM; -@@ -5888,10 +5895,19 @@ static int nf_tables_newflowtable(struct +@@ -5900,10 +5907,19 @@ static int nf_tables_newflowtable(struct } flowtable->data.type = type; @@ -540,7 +540,7 @@ Signed-off-by: Pablo Neira Ayuso err = nf_tables_flowtable_parse_hook(&ctx, nla[NFTA_FLOWTABLE_HOOK], flowtable); if (err < 0) -@@ -6017,7 +6033,8 @@ static int nf_tables_fill_flowtable_info +@@ -6029,7 +6045,8 @@ static int nf_tables_fill_flowtable_info nla_put_string(skb, NFTA_FLOWTABLE_NAME, flowtable->name) || nla_put_be32(skb, NFTA_FLOWTABLE_USE, htonl(flowtable->use)) || nla_put_be64(skb, NFTA_FLOWTABLE_HANDLE, cpu_to_be64(flowtable->handle), diff --git a/target/linux/generic/pending-5.4/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch b/target/linux/generic/pending-5.4/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch index a9b7d784af..13267a4002 100644 --- a/target/linux/generic/pending-5.4/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch +++ b/target/linux/generic/pending-5.4/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch @@ -17,7 +17,7 @@ Signed-off-by: Tobias Waldekranz --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -5088,6 +5088,7 @@ static int mv88e6xxx_register_switch(str +@@ -5089,6 +5089,7 @@ static int mv88e6xxx_register_switch(str ds->ops = &mv88e6xxx_switch_ops; ds->ageing_time_min = chip->info->age_time_coeff; ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX; diff --git a/target/linux/ipq806x/patches-5.4/0072-add-ipq806x-with-no-clocks.patch b/target/linux/ipq806x/patches-5.4/0072-add-ipq806x-with-no-clocks.patch index b7cebd9d39..50848c27a7 100644 --- a/target/linux/ipq806x/patches-5.4/0072-add-ipq806x-with-no-clocks.patch +++ b/target/linux/ipq806x/patches-5.4/0072-add-ipq806x-with-no-clocks.patch @@ -1,6 +1,6 @@ --- a/drivers/firmware/qcom_scm.c +++ b/drivers/firmware/qcom_scm.c -@@ -598,6 +598,7 @@ static const struct of_device_id qcom_sc +@@ -597,6 +597,7 @@ static const struct of_device_id qcom_sc SCM_HAS_BUS_CLK) }, { .compatible = "qcom,scm-ipq4019" }, diff --git a/target/linux/layerscape/patches-5.4/816-sdhc-0001-mmc-sdhci-of-esdhc-poll-ESDHC_FLUSH_ASYNC_FIFO-bit-u.patch b/target/linux/layerscape/patches-5.4/816-sdhc-0001-mmc-sdhci-of-esdhc-poll-ESDHC_FLUSH_ASYNC_FIFO-bit-u.patch index 35f4c1bf84..73441a6c9d 100644 --- a/target/linux/layerscape/patches-5.4/816-sdhc-0001-mmc-sdhci-of-esdhc-poll-ESDHC_FLUSH_ASYNC_FIFO-bit-u.patch +++ b/target/linux/layerscape/patches-5.4/816-sdhc-0001-mmc-sdhci-of-esdhc-poll-ESDHC_FLUSH_ASYNC_FIFO-bit-u.patch @@ -14,7 +14,7 @@ Signed-off-by: Yangbo Lu --- a/drivers/mmc/host/sdhci-of-esdhc.c +++ b/drivers/mmc/host/sdhci-of-esdhc.c -@@ -596,6 +596,32 @@ static void esdhc_clock_enable(struct sd +@@ -594,6 +594,32 @@ static void esdhc_clock_enable(struct sd } } @@ -47,7 +47,7 @@ Signed-off-by: Yangbo Lu static void esdhc_of_set_clock(struct sdhci_host *host, unsigned int clock) { struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); -@@ -688,9 +714,7 @@ static void esdhc_of_set_clock(struct sd +@@ -686,9 +712,7 @@ static void esdhc_of_set_clock(struct sd sdhci_writel(host, temp | ESDHC_HS400_WNDW_ADJUST, ESDHC_TBCTL); esdhc_clock_enable(host, false); @@ -58,7 +58,7 @@ Signed-off-by: Yangbo Lu } /* Wait max 20 ms */ -@@ -893,10 +917,7 @@ static void esdhc_tuning_block_enable(st +@@ -891,10 +915,7 @@ static void esdhc_tuning_block_enable(st u32 val; esdhc_clock_enable(host, false); diff --git a/target/linux/layerscape/patches-5.4/816-sdhc-0002-LF-605-mmc-sdhci-of-esdhc-convert-to-use-esdhc_tunin.patch b/target/linux/layerscape/patches-5.4/816-sdhc-0002-LF-605-mmc-sdhci-of-esdhc-convert-to-use-esdhc_tunin.patch index 66518ca01e..e9149b8a5e 100644 --- a/target/linux/layerscape/patches-5.4/816-sdhc-0002-LF-605-mmc-sdhci-of-esdhc-convert-to-use-esdhc_tunin.patch +++ b/target/linux/layerscape/patches-5.4/816-sdhc-0002-LF-605-mmc-sdhci-of-esdhc-convert-to-use-esdhc_tunin.patch @@ -15,7 +15,7 @@ Acked-by: Adrian Hunter --- a/drivers/mmc/host/sdhci-of-esdhc.c +++ b/drivers/mmc/host/sdhci-of-esdhc.c -@@ -929,20 +929,11 @@ static void esdhc_tuning_block_enable(st +@@ -927,20 +927,11 @@ static void esdhc_tuning_block_enable(st esdhc_clock_enable(host, true); } @@ -37,7 +37,7 @@ Acked-by: Adrian Hunter /* Write TBCTL[11:8]=4'h8 */ val = sdhci_readl(host, ESDHC_TBCTL); val &= ~(0xf << 8); -@@ -961,6 +952,25 @@ static void esdhc_prepare_sw_tuning(stru +@@ -959,6 +950,25 @@ static void esdhc_prepare_sw_tuning(stru val = sdhci_readl(host, ESDHC_TBSTAT); val = sdhci_readl(host, ESDHC_TBSTAT); @@ -63,7 +63,7 @@ Acked-by: Adrian Hunter /* Reset data lines by setting ESDHCCTL[RSTD] */ sdhci_reset(host, SDHCI_RESET_DATA); /* Write 32'hFFFF_FFFF to IRQSTAT register */ -@@ -971,10 +981,8 @@ static void esdhc_prepare_sw_tuning(stru +@@ -969,10 +979,8 @@ static void esdhc_prepare_sw_tuning(stru * then program TBPTR[TB_WNDW_END_PTR] = 4 * div_ratio * and program TBPTR[TB_WNDW_START_PTR] = 8 * div_ratio. */ diff --git a/target/linux/layerscape/patches-5.4/816-sdhc-0003-LF-605-mmc-sdhci-of-esdhc-update-tuning-erratum-A-00.patch b/target/linux/layerscape/patches-5.4/816-sdhc-0003-LF-605-mmc-sdhci-of-esdhc-update-tuning-erratum-A-00.patch index f9722b3698..c2475244b8 100644 --- a/target/linux/layerscape/patches-5.4/816-sdhc-0003-LF-605-mmc-sdhci-of-esdhc-update-tuning-erratum-A-00.patch +++ b/target/linux/layerscape/patches-5.4/816-sdhc-0003-LF-605-mmc-sdhci-of-esdhc-update-tuning-erratum-A-00.patch @@ -20,7 +20,7 @@ Acked-by: Adrian Hunter --- a/drivers/mmc/host/sdhci-of-esdhc.c +++ b/drivers/mmc/host/sdhci-of-esdhc.c -@@ -895,20 +895,20 @@ static int esdhc_signal_voltage_switch(s +@@ -893,20 +893,20 @@ static int esdhc_signal_voltage_switch(s } static struct soc_device_attribute soc_tuning_erratum_type1[] = { @@ -51,7 +51,7 @@ Acked-by: Adrian Hunter { }, }; -@@ -976,13 +976,13 @@ static void esdhc_prepare_sw_tuning(stru +@@ -974,13 +974,13 @@ static void esdhc_prepare_sw_tuning(stru /* Write 32'hFFFF_FFFF to IRQSTAT register */ sdhci_writel(host, 0xFFFFFFFF, SDHCI_INT_STATUS); @@ -68,7 +68,7 @@ Acked-by: Adrian Hunter *window_start = 8 * esdhc->div_ratio; *window_end = 4 * esdhc->div_ratio; } else { -@@ -1066,6 +1066,19 @@ static int esdhc_execute_tuning(struct m +@@ -1064,6 +1064,19 @@ static int esdhc_execute_tuning(struct m if (ret) break; diff --git a/target/linux/layerscape/patches-5.4/819-uart-0005-tty-serial-fsl_lpuart-enable-dma-mode-for-imx8qxp.patch b/target/linux/layerscape/patches-5.4/819-uart-0005-tty-serial-fsl_lpuart-enable-dma-mode-for-imx8qxp.patch index 6b6458d440..9291439d2c 100644 --- a/target/linux/layerscape/patches-5.4/819-uart-0005-tty-serial-fsl_lpuart-enable-dma-mode-for-imx8qxp.patch +++ b/target/linux/layerscape/patches-5.4/819-uart-0005-tty-serial-fsl_lpuart-enable-dma-mode-for-imx8qxp.patch @@ -299,7 +299,7 @@ Signed-off-by: Fugang Duan struct tty_port *port = &sport->port.state->port; struct tty_struct *tty = port->tty; @@ -1183,6 +1308,18 @@ static inline int lpuart_start_rx_dma(st - sport->rx_dma_rng_buf_len = (1 << (fls(sport->rx_dma_rng_buf_len) - 1)); + sport->rx_dma_rng_buf_len = (1 << fls(sport->rx_dma_rng_buf_len)); if (sport->rx_dma_rng_buf_len < 16) sport->rx_dma_rng_buf_len = 16; +} diff --git a/target/linux/layerscape/patches-5.4/820-usb-0011-usb-dwc3-Add-cache-type-configuration-support.patch b/target/linux/layerscape/patches-5.4/820-usb-0011-usb-dwc3-Add-cache-type-configuration-support.patch index 6429d816ac..c76ac325de 100644 --- a/target/linux/layerscape/patches-5.4/820-usb-0011-usb-dwc3-Add-cache-type-configuration-support.patch +++ b/target/linux/layerscape/patches-5.4/820-usb-0011-usb-dwc3-Add-cache-type-configuration-support.patch @@ -109,7 +109,7 @@ Reviewed-by: Jun Li usb_phy_set_suspend(dwc->usb2_phy, 0); usb_phy_set_suspend(dwc->usb3_phy, 0); ret = phy_power_on(dwc->usb2_generic_phy); -@@ -1938,12 +1990,9 @@ static const struct dev_pm_ops dwc3_dev_ +@@ -1935,12 +1987,9 @@ static const struct dev_pm_ops dwc3_dev_ #ifdef CONFIG_OF static const struct of_device_id of_dwc3_match[] = { diff --git a/target/linux/layerscape/patches-5.4/820-usb-0024-LF-387-1-Revert-usb-dwc3-Add-cache-type-configuratio.patch b/target/linux/layerscape/patches-5.4/820-usb-0024-LF-387-1-Revert-usb-dwc3-Add-cache-type-configuratio.patch index f486134c7c..93fe0cf795 100644 --- a/target/linux/layerscape/patches-5.4/820-usb-0024-LF-387-1-Revert-usb-dwc3-Add-cache-type-configuratio.patch +++ b/target/linux/layerscape/patches-5.4/820-usb-0024-LF-387-1-Revert-usb-dwc3-Add-cache-type-configuratio.patch @@ -81,7 +81,7 @@ Signed-off-by: Ran Wang usb_phy_set_suspend(dwc->usb2_phy, 0); usb_phy_set_suspend(dwc->usb3_phy, 0); ret = phy_power_on(dwc->usb2_generic_phy); -@@ -1990,9 +1938,12 @@ static const struct dev_pm_ops dwc3_dev_ +@@ -1987,9 +1935,12 @@ static const struct dev_pm_ops dwc3_dev_ #ifdef CONFIG_OF static const struct of_device_id of_dwc3_match[] = { diff --git a/target/linux/layerscape/patches-5.4/820-usb-0025-LF-387-4-usb-dwc3-Add-cache-type-configuration-suppo.patch b/target/linux/layerscape/patches-5.4/820-usb-0025-LF-387-4-usb-dwc3-Add-cache-type-configuration-suppo.patch index 5697ceedbc..31c49ccb4c 100644 --- a/target/linux/layerscape/patches-5.4/820-usb-0025-LF-387-4-usb-dwc3-Add-cache-type-configuration-suppo.patch +++ b/target/linux/layerscape/patches-5.4/820-usb-0025-LF-387-4-usb-dwc3-Add-cache-type-configuration-suppo.patch @@ -108,7 +108,7 @@ Reviewed-by: Jun Li usb_phy_set_suspend(dwc->usb2_phy, 0); usb_phy_set_suspend(dwc->usb3_phy, 0); ret = phy_power_on(dwc->usb2_generic_phy); -@@ -1938,12 +1989,16 @@ static const struct dev_pm_ops dwc3_dev_ +@@ -1935,12 +1986,16 @@ static const struct dev_pm_ops dwc3_dev_ #ifdef CONFIG_OF static const struct of_device_id of_dwc3_match[] = { diff --git a/target/linux/mediatek/patches-5.4/0500-v5.6-crypto-backport-inside-secure.patch b/target/linux/mediatek/patches-5.4/0500-v5.6-crypto-backport-inside-secure.patch index 7cd172b753..8ffa2dfc1c 100644 --- a/target/linux/mediatek/patches-5.4/0500-v5.6-crypto-backport-inside-secure.patch +++ b/target/linux/mediatek/patches-5.4/0500-v5.6-crypto-backport-inside-secure.patch @@ -362,7 +362,7 @@ EIP197_HIA_RDR(priv, ring) + EIP197_HIA_xDR_PROC_COUNT); /* If the number of requests overflowed the counter, try to proceed more -@@ -1171,6 +1216,44 @@ static struct safexcel_alg_template *saf +@@ -1176,6 +1221,44 @@ static struct safexcel_alg_template *saf &safexcel_alg_xts_aes, &safexcel_alg_gcm, &safexcel_alg_ccm, @@ -407,7 +407,7 @@ }; static int safexcel_register_algorithms(struct safexcel_crypto_priv *priv) -@@ -1240,30 +1323,30 @@ static void safexcel_unregister_algorith +@@ -1245,30 +1328,30 @@ static void safexcel_unregister_algorith static void safexcel_configure(struct safexcel_crypto_priv *priv) { @@ -457,7 +457,7 @@ } static void safexcel_init_register_offsets(struct safexcel_crypto_priv *priv) -@@ -1309,7 +1392,7 @@ static int safexcel_probe_generic(void * +@@ -1314,7 +1397,7 @@ static int safexcel_probe_generic(void * int is_pci_dev) { struct device *dev = priv->dev; @@ -466,7 +466,7 @@ int i, ret, hwctg; priv->context_pool = dmam_pool_create("safexcel-context", dev, -@@ -1371,13 +1454,16 @@ static int safexcel_probe_generic(void * +@@ -1376,13 +1459,16 @@ static int safexcel_probe_generic(void * */ version = readl(EIP197_GLOBAL(priv) + EIP197_VERSION); if (((priv->flags & SAFEXCEL_HW_EIP197) && @@ -484,7 +484,7 @@ return -ENODEV; } -@@ -1385,6 +1471,14 @@ static int safexcel_probe_generic(void * +@@ -1390,6 +1476,14 @@ static int safexcel_probe_generic(void * hwctg = version >> 28; peid = version & 255; @@ -499,7 +499,7 @@ /* Detect EIP96 packet engine and version */ version = readl(EIP197_PE(priv) + EIP197_PE_EIP96_VERSION(0)); if (EIP197_REG_LO16(version) != EIP96_VERSION_LE) { -@@ -1393,10 +1487,13 @@ static int safexcel_probe_generic(void * +@@ -1398,10 +1492,13 @@ static int safexcel_probe_generic(void * } priv->hwconfig.pever = EIP197_VERSION_MASK(version); @@ -513,7 +513,7 @@ priv->hwconfig.hwdataw = (hiaopt >> EIP197_HWDATAW_OFFSET) & EIP197_HWDATAW_MASK; priv->hwconfig.hwcfsize = ((hiaopt >> EIP197_CFSIZE_OFFSET) & -@@ -1405,6 +1502,19 @@ static int safexcel_probe_generic(void * +@@ -1410,6 +1507,19 @@ static int safexcel_probe_generic(void * priv->hwconfig.hwrfsize = ((hiaopt >> EIP197_RFSIZE_OFFSET) & EIP197_RFSIZE_MASK) + EIP197_RFSIZE_ADJUST; @@ -533,7 +533,7 @@ } else { /* EIP97 */ priv->hwconfig.hwdataw = (hiaopt >> EIP197_HWDATAW_OFFSET) & -@@ -1413,6 +1523,23 @@ static int safexcel_probe_generic(void * +@@ -1418,6 +1528,23 @@ static int safexcel_probe_generic(void * EIP97_CFSIZE_MASK; priv->hwconfig.hwrfsize = (hiaopt >> EIP97_RFSIZE_OFFSET) & EIP97_RFSIZE_MASK; @@ -557,7 +557,7 @@ } /* Get supported algorithms from EIP96 transform engine */ -@@ -1420,10 +1547,12 @@ static int safexcel_probe_generic(void * +@@ -1425,10 +1552,12 @@ static int safexcel_probe_generic(void * EIP197_PE_EIP96_OPTIONS(0)); /* Print single info line describing what we just detected */ @@ -574,7 +574,7 @@ priv->hwconfig.algo_flags); safexcel_configure(priv); -@@ -1547,7 +1676,6 @@ static void safexcel_hw_reset_rings(stru +@@ -1571,7 +1700,6 @@ static void safexcel_hw_reset_rings(stru } } @@ -582,15 +582,15 @@ /* for Device Tree platform driver */ static int safexcel_probe(struct platform_device *pdev) -@@ -1625,6 +1753,7 @@ static int safexcel_remove(struct platfo +@@ -1649,6 +1777,7 @@ static int safexcel_remove(struct platfo safexcel_unregister_algorithms(priv); safexcel_hw_reset_rings(priv); + clk_disable_unprepare(priv->reg_clk); clk_disable_unprepare(priv->clk); - for (i = 0; i < priv->config.rings; i++) -@@ -1668,9 +1797,7 @@ static struct platform_driver crypto_sa + for (i = 0; i < priv->config.rings; i++) { +@@ -1694,9 +1823,7 @@ static struct platform_driver crypto_sa .of_match_table = safexcel_of_match_table, }, }; @@ -600,7 +600,7 @@ /* PCIE devices - i.e. Inside Secure development boards */ static int safexcel_pci_probe(struct pci_dev *pdev, -@@ -1761,7 +1888,7 @@ static int safexcel_pci_probe(struct pci +@@ -1787,7 +1914,7 @@ static int safexcel_pci_probe(struct pci return rc; } @@ -609,7 +609,7 @@ { struct safexcel_crypto_priv *priv = pci_get_drvdata(pdev); int i; -@@ -1791,54 +1918,32 @@ static struct pci_driver safexcel_pci_dr +@@ -1817,54 +1944,32 @@ static struct pci_driver safexcel_pci_dr .probe = safexcel_pci_probe, .remove = safexcel_pci_remove, }; @@ -3371,7 +3371,7 @@ }; struct safexcel_work_data { -@@ -654,6 +721,12 @@ enum safexcel_eip_version { +@@ -657,6 +724,12 @@ enum safexcel_eip_version { /* Priority we use for advertising our algorithms */ #define SAFEXCEL_CRA_PRIORITY 300 @@ -3384,7 +3384,7 @@ /* EIP algorithm presence flags */ enum safexcel_eip_algorithms { SAFEXCEL_ALG_BC0 = BIT(5), -@@ -697,16 +770,23 @@ struct safexcel_register_offsets { +@@ -700,16 +773,23 @@ struct safexcel_register_offsets { enum safexcel_flags { EIP197_TRC_CACHE = BIT(0), SAFEXCEL_HW_EIP197 = BIT(1), @@ -3408,7 +3408,7 @@ }; struct safexcel_crypto_priv { -@@ -778,7 +858,7 @@ struct safexcel_inv_result { +@@ -781,7 +861,7 @@ struct safexcel_inv_result { void safexcel_dequeue(struct safexcel_crypto_priv *priv, int ring); int safexcel_rdesc_check_errors(struct safexcel_crypto_priv *priv, @@ -3417,7 +3417,7 @@ void safexcel_complete(struct safexcel_crypto_priv *priv, int ring); int safexcel_invalidate_cache(struct crypto_async_request *async, struct safexcel_crypto_priv *priv, -@@ -797,7 +877,8 @@ struct safexcel_command_desc *safexcel_a +@@ -800,7 +880,8 @@ struct safexcel_command_desc *safexcel_a bool first, bool last, dma_addr_t data, u32 len, u32 full_data_len, @@ -3427,7 +3427,7 @@ struct safexcel_result_desc *safexcel_add_rdesc(struct safexcel_crypto_priv *priv, int ring_id, bool first, bool last, -@@ -853,5 +934,43 @@ extern struct safexcel_alg_template safe +@@ -856,5 +937,43 @@ extern struct safexcel_alg_template safe extern struct safexcel_alg_template safexcel_alg_xts_aes; extern struct safexcel_alg_template safexcel_alg_gcm; extern struct safexcel_alg_template safexcel_alg_ccm; diff --git a/target/linux/mediatek/patches-5.4/0503-crypto-fix-eip97-cache-incoherent.patch b/target/linux/mediatek/patches-5.4/0503-crypto-fix-eip97-cache-incoherent.patch index 5bc0fd0b7d..887fa2e38e 100644 --- a/target/linux/mediatek/patches-5.4/0503-crypto-fix-eip97-cache-incoherent.patch +++ b/target/linux/mediatek/patches-5.4/0503-crypto-fix-eip97-cache-incoherent.patch @@ -1,6 +1,6 @@ --- a/drivers/crypto/inside-secure/safexcel.h +++ b/drivers/crypto/inside-secure/safexcel.h -@@ -722,6 +722,9 @@ enum safexcel_eip_version { +@@ -725,6 +725,9 @@ enum safexcel_eip_version { /* Priority we use for advertising our algorithms */ #define SAFEXCEL_CRA_PRIORITY 300 diff --git a/target/linux/mediatek/patches-5.4/0900-bt-mtk-serial-fix.patch b/target/linux/mediatek/patches-5.4/0900-bt-mtk-serial-fix.patch index a25c845ffc..2e9f3a3259 100644 --- a/target/linux/mediatek/patches-5.4/0900-bt-mtk-serial-fix.patch +++ b/target/linux/mediatek/patches-5.4/0900-bt-mtk-serial-fix.patch @@ -10,7 +10,7 @@ #define UART_BUG_TXEN (1 << 1) /* UART has buggy TX IIR status */ --- a/drivers/tty/serial/8250/8250_port.c +++ b/drivers/tty/serial/8250/8250_port.c -@@ -291,7 +291,7 @@ static const struct serial8250_config ua +@@ -292,7 +292,7 @@ static const struct serial8250_config ua .tx_loadsz = 16, .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT, @@ -19,7 +19,7 @@ }, [PORT_NPCM] = { .name = "Nuvoton 16550", -@@ -2615,6 +2615,11 @@ serial8250_do_set_termios(struct uart_po +@@ -2625,6 +2625,11 @@ serial8250_do_set_termios(struct uart_po unsigned long flags; unsigned int baud, quot, frac = 0;