kernel: bump 6.6 to 6.6.51
authorJohn Audia <therealgraysky@proton.me>
Thu, 12 Sep 2024 11:14:13 +0000 (07:14 -0400)
committerRobert Marko <robimarko@gmail.com>
Sun, 15 Sep 2024 14:32:48 +0000 (16:32 +0200)
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.51

Removed upstreamed:
generic/backport-6.6/200-regmap-maple-work-around-false-positive-warning.patch
generic/backport-6.6/822-v6.11-0012-nvmem-Fix-return-type-of-devm_nvmem_device_get-in-ke.patch
bcm27xx/patches-6.6/950-1018-drivers-mmc-apply-SD-quirks-earlier-during-probe.patch

Manually rebased:
bcm27xx/patches-6.6/950-0993-drivers-mmc-cqhci-clear-CQHCI_CTL-if-halt-fails.patch
ramips/patches-6.6/311-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch[4]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.51&id=e42ea96d6d36a16526cb82b8aa2e5422814c3250
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.51&id=3d1baf322a3a69b38b6b2d511cfe0d611d1b5462
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.51&id=115a755bb38db5a1175be44e6a9a93a0a8233885
4. Adapted the changes from Hauke Mehrtens' modification in PR#16366 to 5.15.167

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/16370
Signed-off-by: Robert Marko <robimarko@gmail.com>
28 files changed:
include/kernel-6.6
target/linux/bcm27xx/patches-6.6/950-0058-Revert-Bluetooth-Always-request-for-user-confirmatio.patch
target/linux/bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch
target/linux/bcm27xx/patches-6.6/950-0441-Bluetooth-hci_sync-Add-fallback-bd-address-prop.patch
target/linux/bcm27xx/patches-6.6/950-0519-usb-dwc3-Set-DMA-and-coherent-masks-early.patch
target/linux/bcm27xx/patches-6.6/950-0853-drivers-usb-dwc3-add-FS-LS-bus-instance-parkmode-dis.patch
target/linux/bcm27xx/patches-6.6/950-0980-drivers-mmc-add-SD-support-for-Command-Queueing.patch
target/linux/bcm27xx/patches-6.6/950-0983-drivers-mmc-preallocate-a-block-for-SD-extension-reg.patch
target/linux/bcm27xx/patches-6.6/950-0993-drivers-mmc-cqhci-clear-CQHCI_CTL-if-halt-fails.patch
target/linux/bcm27xx/patches-6.6/950-0994-drivers-mmc-export-SD-extension-register-read-write-.patch
target/linux/bcm27xx/patches-6.6/950-0995-drivers-mmc-be-more-cautious-when-manipulating-Comma.patch
target/linux/bcm27xx/patches-6.6/950-0996-drivers-mmc-add-debugfs-entries-for-SD-extension-reg.patch
target/linux/bcm27xx/patches-6.6/950-0997-drivers-mmc-handle-1024-byte-SD-General-Info-lengths.patch
target/linux/bcm27xx/patches-6.6/950-1018-drivers-mmc-apply-SD-quirks-earlier-during-probe.patch [deleted file]
target/linux/generic/backport-6.6/200-regmap-maple-work-around-false-positive-warning.patch [deleted file]
target/linux/generic/backport-6.6/822-v6.11-0012-nvmem-Fix-return-type-of-devm_nvmem_device_get-in-ke.patch [deleted file]
target/linux/generic/hack-6.6/760-net-usb-r8152-add-LED-configuration-from-OF.patch
target/linux/generic/hack-6.6/901-debloat_sock_diag.patch
target/linux/generic/hack-6.6/902-debloat_proc.patch
target/linux/generic/pending-6.6/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch
target/linux/generic/pending-6.6/834-ledtrig-libata.patch
target/linux/ramips/patches-6.6/311-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch
target/linux/rockchip/patches-6.6/034-v6.7-usb-dwc3-add-optional-PHY-interface-clocks.patch
target/linux/sifiveu/patches-6.6/0005-riscv-sifive-unleashed-define-opp-table-cpufreq.patch
target/linux/starfive/patches-6.6/0001-clk-starfive-jh7110-sys-Fix-lower-rate-of-CPUfreq-by.patch
target/linux/starfive/patches-6.6/0010-crypto-starfive-RSA-poll-csr-for-done-status.patch
target/linux/starfive/patches-6.6/0012-crypto-starfive-Remove-cfb-and-ofb.patch
target/linux/starfive/patches-6.6/0013-crypto-starfive-Remove-unneeded-NULL-checks.patch

index 1f0bd75a086158e34ca6e5dde7326e807db5245b..485ec8eef59e3e497aadd92493d62982c231f250 100644 (file)
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.6 = .50
-LINUX_KERNEL_HASH-6.6.50 = c065e36daf28210060c91a37ef3e92ac5814784e634577e04e406297ead2e86e
+LINUX_VERSION-6.6 = .51
+LINUX_KERNEL_HASH-6.6.51 = 1c0c9a14650879c4913efdbac428ba31a540c3d987155ddf34d33e11eca008b3
index e72c69bb39e7b97019613d5d0eb8240479669992..5e3446d6f130b84077d6cf21ab7eb47514b3244c 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 
 --- a/net/bluetooth/smp.c
 +++ b/net/bluetooth/smp.c
-@@ -2222,7 +2222,7 @@ mackey_and_ltk:
+@@ -2215,7 +2215,7 @@ mackey_and_ltk:
        if (err)
                return SMP_UNSPECIFIED;
  
@@ -33,7 +33,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
                if (test_bit(SMP_FLAG_INITIATOR, &smp->flags)) {
                        sc_dhkey_check(smp);
                        SMP_ALLOW_CMD(smp, SMP_CMD_DHKEY_CHECK);
-@@ -2237,9 +2237,6 @@ mackey_and_ltk:
+@@ -2230,9 +2230,6 @@ mackey_and_ltk:
        confirm_hint = 0;
  
  confirm:
index 499b2a7da38c21d4c1990ef353f06adcbec8d27c..48baa904039e33aeb284889185a7c03be194698d 100644 (file)
@@ -344,7 +344,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
  }
 --- a/drivers/mmc/core/quirks.h
 +++ b/drivers/mmc/core/quirks.h
-@@ -130,6 +130,14 @@ static const struct mmc_fixup __maybe_un
+@@ -134,6 +134,14 @@ static const struct mmc_fixup __maybe_un
        MMC_FIXUP(CID_NAME_ANY, CID_MANFID_SANDISK_SD, 0x5344, add_quirk_sd,
                  MMC_QUIRK_BROKEN_SD_DISCARD),
  
index 51ba7c697c3fe3c06f650da70e21f4bc1366f1df..0e404906be64a7a02d284907ed02f33ef835b4c7 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 
 --- a/net/bluetooth/hci_sync.c
 +++ b/net/bluetooth/hci_sync.c
-@@ -4707,6 +4707,7 @@ static const struct {
+@@ -4861,6 +4861,7 @@ static const struct {
   */
  static int hci_dev_setup_sync(struct hci_dev *hdev)
  {
@@ -28,7 +28,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
        int ret = 0;
        bool invalid_bdaddr;
        size_t i;
-@@ -4735,7 +4736,8 @@ static int hci_dev_setup_sync(struct hci
+@@ -4889,7 +4890,8 @@ static int hci_dev_setup_sync(struct hci
                         test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks);
        if (!ret) {
                if (test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks) &&
index 78cdcc7139ec149fe1f0ad91aea3a74fda808453..f771fc87506e6ebc7d9d06dee154163a2386b67f 100644 (file)
@@ -246,7 +246,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        ret = dwc3_phy_power_on(dwc);
        if (ret)
                goto err_exit_phy;
-@@ -1341,6 +1361,24 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1356,6 +1376,24 @@ static int dwc3_core_init(struct dwc3 *d
  
        dwc3_config_threshold(dwc);
  
@@ -271,7 +271,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        return 0;
  
  err_power_off_phy:
-@@ -1484,6 +1522,7 @@ static void dwc3_get_properties(struct d
+@@ -1499,6 +1537,7 @@ static void dwc3_get_properties(struct d
        u8                      tx_thr_num_pkt_prd = 0;
        u8                      tx_max_burst_prd = 0;
        u8                      tx_fifo_resize_max_num;
@@ -279,7 +279,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        const char              *usb_psy_name;
        int                     ret;
  
-@@ -1506,6 +1545,9 @@ static void dwc3_get_properties(struct d
+@@ -1521,6 +1560,9 @@ static void dwc3_get_properties(struct d
         */
        tx_fifo_resize_max_num = 6;
  
@@ -289,7 +289,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        dwc->maximum_speed = usb_get_maximum_speed(dev);
        dwc->max_ssp_rate = usb_get_maximum_ssp_rate(dev);
        dwc->dr_mode = usb_get_dr_mode(dev);
-@@ -1627,6 +1669,9 @@ static void dwc3_get_properties(struct d
+@@ -1642,6 +1684,9 @@ static void dwc3_get_properties(struct d
        dwc->dis_split_quirk = device_property_read_bool(dev,
                                "snps,dis-split-quirk");
  
@@ -299,7 +299,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        dwc->lpm_nyet_threshold = lpm_nyet_threshold;
        dwc->tx_de_emphasis = tx_de_emphasis;
  
-@@ -1644,6 +1689,8 @@ static void dwc3_get_properties(struct d
+@@ -1659,6 +1704,8 @@ static void dwc3_get_properties(struct d
        dwc->tx_thr_num_pkt_prd = tx_thr_num_pkt_prd;
        dwc->tx_max_burst_prd = tx_max_burst_prd;
  
@@ -308,7 +308,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        dwc->imod_interval = 0;
  
        dwc->tx_fifo_resize_max_num = tx_fifo_resize_max_num;
-@@ -1919,6 +1966,12 @@ static int dwc3_probe(struct platform_de
+@@ -1934,6 +1981,12 @@ static int dwc3_probe(struct platform_de
  
        dwc3_get_properties(dwc);
  
@@ -333,7 +333,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
  /* Global Debug LSP MUX Select */
  #define DWC3_GDBGLSPMUX_ENDBC         BIT(15) /* Host only */
  #define DWC3_GDBGLSPMUX_HOSTSELECT(n) ((n) & 0x3fff)
-@@ -1060,6 +1063,7 @@ struct dwc3_scratchpad_array {
+@@ -1061,6 +1064,7 @@ struct dwc3_scratchpad_array {
   * @tx_max_burst_prd: max periodic ESS transmit burst size
   * @tx_fifo_resize_max_num: max number of fifos allocated during txfifo resize
   * @clear_stall_protocol: endpoint number that requires a delayed status phase
@@ -341,7 +341,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
   * @hsphy_interface: "utmi" or "ulpi"
   * @connected: true when we're connected to a host, false otherwise
   * @softconnect: true when gadget connect is called, false when disconnect runs
-@@ -1294,6 +1298,7 @@ struct dwc3 {
+@@ -1296,6 +1300,7 @@ struct dwc3 {
        u8                      tx_max_burst_prd;
        u8                      tx_fifo_resize_max_num;
        u8                      clear_stall_protocol;
index d91a989526eb12201856f6996af1bd6bca7951f4..e089be3f37bb82c2ed045f163e6c2ab9d979e006 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
 
 --- a/drivers/usb/dwc3/core.c
 +++ b/drivers/usb/dwc3/core.c
-@@ -1351,6 +1351,9 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1366,6 +1366,9 @@ static int dwc3_core_init(struct dwc3 *d
                if (dwc->parkmode_disable_hs_quirk)
                        reg |= DWC3_GUCTL1_PARKMODE_DISABLE_HS;
  
@@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
                if (DWC3_VER_IS_WITHIN(DWC3, 290A, ANY) &&
                    (dwc->maximum_speed == USB_SPEED_HIGH ||
                     dwc->maximum_speed == USB_SPEED_FULL))
-@@ -1649,6 +1652,8 @@ static void dwc3_get_properties(struct d
+@@ -1664,6 +1667,8 @@ static void dwc3_get_properties(struct d
                                "snps,parkmode-disable-ss-quirk");
        dwc->parkmode_disable_hs_quirk = device_property_read_bool(dev,
                                "snps,parkmode-disable-hs-quirk");
@@ -45,7 +45,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
  #define DWC3_GUCTL1_RESUME_OPMODE_HS_HOST     BIT(10)
  
  /* Global Status Register */
-@@ -1115,10 +1116,12 @@ struct dwc3_scratchpad_array {
+@@ -1116,10 +1117,12 @@ struct dwc3_scratchpad_array {
   *                    generation after resume from suspend.
   * @ulpi_ext_vbus_drv: Set to confiure the upli chip to drives CPEN pin
   *                    VBUS with an external supply.
@@ -62,7 +62,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
   * @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk
   * @tx_de_emphasis: Tx de-emphasis value
   *    0       - -6dB de-emphasis
-@@ -1342,6 +1345,7 @@ struct dwc3 {
+@@ -1344,6 +1347,7 @@ struct dwc3 {
        unsigned                ulpi_ext_vbus_drv:1;
        unsigned                parkmode_disable_ss_quirk:1;
        unsigned                parkmode_disable_hs_quirk:1;
index fa223271312c615166a116839518ffa8e374ad4f..14eb62cfac89bd47e338b45582db600131cee55c 100644 (file)
@@ -91,7 +91,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        cmd.flags       &= ~MMC_RSP_CRC; /* Ignore CRC */
 --- a/drivers/mmc/core/sd.c
 +++ b/drivers/mmc/core/sd.c
-@@ -1015,8 +1015,8 @@ static bool mmc_sd_card_using_v18(struct
+@@ -1016,8 +1016,8 @@ static bool mmc_sd_card_using_v18(struct
               (SD_MODE_UHS_SDR50 | SD_MODE_UHS_SDR104 | SD_MODE_UHS_DDR50);
  }
  
@@ -102,7 +102,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
  {
        struct mmc_host *host = card->host;
        struct mmc_request mrq = {};
-@@ -1174,8 +1174,14 @@ static int sd_parse_ext_reg_perf(struct
+@@ -1175,8 +1175,14 @@ static int sd_parse_ext_reg_perf(struct
                card->ext_perf.feature_support |= SD_EXT_PERF_CACHE;
  
        /* Command queue support indicated via queue depth bits (0 to 4). */
@@ -118,7 +118,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
  
        card->ext_perf.fno = fno;
        card->ext_perf.page = page;
-@@ -1559,13 +1565,41 @@ cont:
+@@ -1563,13 +1569,41 @@ cont:
                        goto free_card;
        }
  
index b62fab53931ca98ad6138a9baf4e2576070d30f9..4d90245f364ef848c8917d9e6fb7057bd4542b4b 100644 (file)
@@ -30,7 +30,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        kfree(card);
 --- a/drivers/mmc/core/sd.c
 +++ b/drivers/mmc/core/sd.c
-@@ -1025,9 +1025,8 @@ int sd_write_ext_reg(struct mmc_card *ca
+@@ -1026,9 +1026,8 @@ int sd_write_ext_reg(struct mmc_card *ca
        struct scatterlist sg;
        u8 *reg_buf;
  
@@ -42,7 +42,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
  
        mrq.cmd = &cmd;
        mrq.data = &data;
-@@ -1059,8 +1058,6 @@ int sd_write_ext_reg(struct mmc_card *ca
+@@ -1060,8 +1059,6 @@ int sd_write_ext_reg(struct mmc_card *ca
        mmc_set_data_timeout(&data, card);
        mmc_wait_for_req(host, &mrq);
  
@@ -51,7 +51,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        /*
         * Note that, the SD card is allowed to signal busy on DAT0 up to 1s
         * after the CMD49. Although, let's leave this to be managed by the
-@@ -1101,9 +1098,7 @@ static int sd_parse_ext_reg_power(struct
+@@ -1102,9 +1099,7 @@ static int sd_parse_ext_reg_power(struct
        int err;
        u8 *reg_buf;
  
@@ -62,7 +62,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
  
        /* Read the extension register for power management function. */
        err = sd_read_ext_reg(card, fno, page, offset, 512, reg_buf);
-@@ -1133,7 +1128,6 @@ static int sd_parse_ext_reg_power(struct
+@@ -1134,7 +1129,6 @@ static int sd_parse_ext_reg_power(struct
        card->ext_power.offset = offset;
  
  out:
@@ -70,7 +70,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        return err;
  }
  
-@@ -1143,9 +1137,7 @@ static int sd_parse_ext_reg_perf(struct
+@@ -1144,9 +1138,7 @@ static int sd_parse_ext_reg_perf(struct
        int err;
        u8 *reg_buf;
  
@@ -81,7 +81,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
  
        err = sd_read_ext_reg(card, fno, page, offset, 512, reg_buf);
        if (err) {
-@@ -1188,7 +1180,6 @@ static int sd_parse_ext_reg_perf(struct
+@@ -1189,7 +1181,6 @@ static int sd_parse_ext_reg_perf(struct
        card->ext_perf.offset = offset;
  
  out:
@@ -89,7 +89,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        return err;
  }
  
-@@ -1259,6 +1250,12 @@ static int sd_read_ext_regs(struct mmc_c
+@@ -1260,6 +1251,12 @@ static int sd_read_ext_regs(struct mmc_c
        if (!gen_info_buf)
                return -ENOMEM;
  
@@ -102,7 +102,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        /*
         * Read 512 bytes of general info, which is found at function number 0,
         * at page 0 and with no offset.
-@@ -1325,9 +1322,7 @@ static int sd_flush_cache(struct mmc_hos
+@@ -1326,9 +1323,7 @@ static int sd_flush_cache(struct mmc_hos
        if (!sd_cache_enabled(host))
                return 0;
  
@@ -113,7 +113,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
  
        /*
         * Set Flush Cache at bit 0 in the performance enhancement register at
-@@ -1363,21 +1358,15 @@ static int sd_flush_cache(struct mmc_hos
+@@ -1364,21 +1359,15 @@ static int sd_flush_cache(struct mmc_hos
        if (reg_buf[0] & BIT(0))
                err = -ETIMEDOUT;
  out:
@@ -135,7 +135,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        /*
         * Set Cache Enable at bit 0 in the performance enhancement register at
         * 260 bytes offset.
-@@ -1396,7 +1385,6 @@ static int sd_enable_cache(struct mmc_ca
+@@ -1397,7 +1386,6 @@ static int sd_enable_cache(struct mmc_ca
                card->ext_perf.feature_enabled |= SD_EXT_PERF_CACHE;
  
  out:
index b5724999356585adc84f45a14581a92da243ff45..bda518fc8176c4d8556adfe07ec48c2ab7077996 100644 (file)
@@ -31,15 +31,6 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
                pr_debug("%s: cqhci: CQE off\n", mmc_hostname(mmc));
  
        if (cq_host->ops->post_disable)
-@@ -612,7 +614,7 @@ static int cqhci_request(struct mmc_host
-               cqhci_writel(cq_host, 0, CQHCI_CTL);
-               mmc->cqe_on = true;
-               pr_debug("%s: cqhci: CQE on\n", mmc_hostname(mmc));
--              if (cqhci_readl(cq_host, CQHCI_CTL) && CQHCI_HALT) {
-+              if (cqhci_readl(cq_host, CQHCI_CTL) & CQHCI_HALT) {
-                       pr_err("%s: cqhci: CQE failed to exit halt state\n",
-                              mmc_hostname(mmc));
-               }
 @@ -975,8 +977,11 @@ static bool cqhci_halt(struct mmc_host *
  
        ret = cqhci_halted(cq_host);
index 78679702b20bd57324e6e9aba75737ddb2bad296..e2347ed9d2e98aad8e4a83f387a05857ffaa36dd 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
 
 --- a/drivers/mmc/core/sd.c
 +++ b/drivers/mmc/core/sd.c
-@@ -1015,83 +1015,6 @@ static bool mmc_sd_card_using_v18(struct
+@@ -1016,83 +1016,6 @@ static bool mmc_sd_card_using_v18(struct
               (SD_MODE_UHS_SDR50 | SD_MODE_UHS_SDR104 | SD_MODE_UHS_DDR50);
  }
  
@@ -100,7 +100,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
  static int sd_parse_ext_reg_power(struct mmc_card *card, u8 fno, u8 page,
                                  u16 offset)
  {
-@@ -1101,7 +1024,7 @@ static int sd_parse_ext_reg_power(struct
+@@ -1102,7 +1025,7 @@ static int sd_parse_ext_reg_power(struct
        reg_buf = card->ext_reg_buf;
  
        /* Read the extension register for power management function. */
@@ -109,7 +109,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        if (err) {
                pr_warn("%s: error %d reading PM func of ext reg\n",
                        mmc_hostname(card->host), err);
-@@ -1139,7 +1062,7 @@ static int sd_parse_ext_reg_perf(struct
+@@ -1140,7 +1063,7 @@ static int sd_parse_ext_reg_perf(struct
  
        reg_buf = card->ext_reg_buf;
  
@@ -118,7 +118,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        if (err) {
                pr_warn("%s: error %d reading PERF func of ext reg\n",
                        mmc_hostname(card->host), err);
-@@ -1234,7 +1157,7 @@ static int sd_parse_ext_reg(struct mmc_c
+@@ -1235,7 +1158,7 @@ static int sd_parse_ext_reg(struct mmc_c
        return 0;
  }
  
@@ -127,7 +127,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
  {
        int err, i;
        u8 num_ext, *gen_info_buf;
-@@ -1260,7 +1183,7 @@ static int sd_read_ext_regs(struct mmc_c
+@@ -1261,7 +1184,7 @@ static int sd_read_ext_regs(struct mmc_c
         * Read 512 bytes of general info, which is found at function number 0,
         * at page 0 and with no offset.
         */
@@ -136,7 +136,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        if (err) {
                pr_err("%s: error %d reading general info of SD ext reg\n",
                        mmc_hostname(card->host), err);
-@@ -1332,7 +1255,7 @@ static int sd_flush_cache(struct mmc_hos
+@@ -1333,7 +1256,7 @@ static int sd_flush_cache(struct mmc_hos
        page = card->ext_perf.page;
        offset = card->ext_perf.offset + 261;
  
@@ -145,7 +145,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        if (err) {
                pr_warn("%s: error %d writing Cache Flush bit\n",
                        mmc_hostname(host), err);
-@@ -1348,7 +1271,7 @@ static int sd_flush_cache(struct mmc_hos
+@@ -1349,7 +1272,7 @@ static int sd_flush_cache(struct mmc_hos
         * Read the Flush Cache bit. The card shall reset it, to confirm that
         * it's has completed the flushing of the cache.
         */
@@ -154,7 +154,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        if (err) {
                pr_warn("%s: error %d reading Cache Flush bit\n",
                        mmc_hostname(host), err);
-@@ -1371,7 +1294,7 @@ static int sd_enable_cache(struct mmc_ca
+@@ -1372,7 +1295,7 @@ static int sd_enable_cache(struct mmc_ca
         * Set Cache Enable at bit 0 in the performance enhancement register at
         * 260 bytes offset.
         */
@@ -163,7 +163,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
                               card->ext_perf.offset + 260, BIT(0));
        if (err) {
                pr_warn("%s: error %d writing Cache Enable bit\n",
-@@ -1541,7 +1464,7 @@ retry:
+@@ -1545,7 +1468,7 @@ retry:
  cont:
        if (!oldcard) {
                /* Read/parse the extension registers. */
@@ -172,7 +172,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
                if (err)
                        goto free_card;
        }
-@@ -1668,7 +1591,7 @@ static int sd_busy_poweroff_notify_cb(vo
+@@ -1672,7 +1595,7 @@ static int sd_busy_poweroff_notify_cb(vo
         * one byte offset and is one byte long. The Power Off Notification
         * Ready is bit 0.
         */
@@ -181,7 +181,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
                              card->ext_power.offset + 1, 1, data->reg_buf);
        if (err) {
                pr_warn("%s: error %d reading status reg of PM func\n",
-@@ -1694,7 +1617,7 @@ static int sd_poweroff_notify(struct mmc
+@@ -1698,7 +1621,7 @@ static int sd_poweroff_notify(struct mmc
         * Set the Power Off Notification bit in the power management settings
         * register at 2 bytes offset.
         */
index 125f21cc7ab9412e9d59d5b722c398cdf62d1c79..6a855757ac0eb0020908f4aeeeea2651b8d07e6b 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
 
 --- a/drivers/mmc/core/sd.c
 +++ b/drivers/mmc/core/sd.c
-@@ -1088,8 +1088,12 @@ static int sd_parse_ext_reg_perf(struct
+@@ -1089,8 +1089,12 @@ static int sd_parse_ext_reg_perf(struct
        if ((reg_buf[4] & BIT(0)) && !mmc_card_broken_sd_cache(card))
                card->ext_perf.feature_support |= SD_EXT_PERF_CACHE;
  
index 581fd19fc51aaf60a8bfe69844789568d30bd14a..c12229ece9d307856f173da62529f4f9c7e0c151 100644 (file)
@@ -27,7 +27,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
                                pr_info("%s: Host Software Queue enabled\n",
 --- a/drivers/mmc/core/sd.c
 +++ b/drivers/mmc/core/sd.c
-@@ -714,7 +714,8 @@ MMC_DEV_ATTR(oemid, "0x%04x\n", card->ci
+@@ -715,7 +715,8 @@ MMC_DEV_ATTR(oemid, "0x%04x\n", card->ci
  MMC_DEV_ATTR(serial, "0x%08x\n", card->cid.serial);
  MMC_DEV_ATTR(ocr, "0x%08x\n", card->ocr);
  MMC_DEV_ATTR(rca, "0x%04x\n", card->rca);
@@ -37,7 +37,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
  
  static ssize_t mmc_dsr_show(struct device *dev, struct device_attribute *attr,
                            char *buf)
-@@ -776,6 +777,8 @@ static struct attribute *sd_std_attrs[]
+@@ -777,6 +778,8 @@ static struct attribute *sd_std_attrs[]
        &dev_attr_ocr.attr,
        &dev_attr_rca.attr,
        &dev_attr_dsr.attr,
@@ -46,7 +46,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        NULL,
  };
  
-@@ -1508,8 +1511,8 @@ cont:
+@@ -1512,8 +1515,8 @@ cont:
                        host->cqe_enabled = true;
  
                        if (card->ext_csd.cmdq_en) {
index 318bd191f64ef4f53bb0d21dfb793eed8f3a70d4..55b369d659a120d7c1e45a4e1151e107d1648884 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
 
 --- a/drivers/mmc/core/sd.c
 +++ b/drivers/mmc/core/sd.c
-@@ -1176,7 +1176,7 @@ static int mmc_sd_read_ext_regs(struct m
+@@ -1177,7 +1177,7 @@ static int mmc_sd_read_ext_regs(struct m
        if (!(card->scr.cmds & SD_SCR_CMD48_SUPPORT))
                return 0;
  
@@ -23,7 +23,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        if (!gen_info_buf)
                return -ENOMEM;
  
-@@ -1207,14 +1207,23 @@ static int mmc_sd_read_ext_regs(struct m
+@@ -1208,14 +1208,23 @@ static int mmc_sd_read_ext_regs(struct m
        num_ext = gen_info_buf[4];
  
        /*
diff --git a/target/linux/bcm27xx/patches-6.6/950-1018-drivers-mmc-apply-SD-quirks-earlier-during-probe.patch b/target/linux/bcm27xx/patches-6.6/950-1018-drivers-mmc-apply-SD-quirks-earlier-during-probe.patch
deleted file mode 100644 (file)
index 3225d87..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-From 598e155f3467316b9ad70bde46b92fc30e3eea73 Mon Sep 17 00:00:00 2001
-From: Jonathan Bell <jonathan@raspberrypi.com>
-Date: Mon, 8 Apr 2024 16:01:34 +0100
-Subject: [PATCH 1018/1085] drivers: mmc: apply SD quirks earlier during probe
-
-Applying MMC_QUIRK_BROKEN_SD_CACHE is broken, as the card's extended
-registers are parsed prior to the quirk being applied in mmc_blk.
-
-Split this out into an SD-specific list of quirks and apply in
-mmc_sd_init_card instead.
-
-Fixes: c467c8f08185 ("mmc: Add MMC_QUIRK_BROKEN_SD_CACHE for Kingston Canvas Go Plus from 11/2019")
-
-Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
----
- drivers/mmc/core/quirks.h | 22 +++++++++++++---------
- drivers/mmc/core/sd.c     |  4 ++++
- 2 files changed, 17 insertions(+), 9 deletions(-)
-
---- a/drivers/mmc/core/quirks.h
-+++ b/drivers/mmc/core/quirks.h
-@@ -15,6 +15,19 @@
- #include "card.h"
-+static const struct mmc_fixup __maybe_unused mmc_sd_fixups[] = {
-+      /*
-+       * Kingston Canvas Go! Plus microSD cards never finish SD cache flush.
-+       * This has so far only been observed on cards from 11/2019, while new
-+       * cards from 2023/05 do not exhibit this behavior.
-+       */
-+      _FIXUP_EXT("SD64G", CID_MANFID_KINGSTON_SD, 0x5449, 2019, 11,
-+                 0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd,
-+                 MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY),
-+
-+      END_FIXUP
-+};
-+
- static const struct mmc_fixup __maybe_unused mmc_blk_fixups[] = {
- #define INAND_CMD38_ARG_EXT_CSD  113
- #define INAND_CMD38_ARG_ERASE    0x00
-@@ -54,15 +67,6 @@ static const struct mmc_fixup __maybe_un
-                 MMC_QUIRK_BLK_NO_CMD23),
-       /*
--       * Kingston Canvas Go! Plus microSD cards never finish SD cache flush.
--       * This has so far only been observed on cards from 11/2019, while new
--       * cards from 2023/05 do not exhibit this behavior.
--       */
--      _FIXUP_EXT("SD64G", CID_MANFID_KINGSTON_SD, 0x5449, 2019, 11,
--                 0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd,
--                 MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY),
--
--      /*
-        * Some SD cards lockup while using CMD23 multiblock transfers.
-        */
-       MMC_FIXUP("AF SD", CID_MANFID_ATP, CID_OEMID_ANY, add_quirk_sd,
---- a/drivers/mmc/core/sd.c
-+++ b/drivers/mmc/core/sd.c
-@@ -26,6 +26,7 @@
- #include "host.h"
- #include "bus.h"
- #include "mmc_ops.h"
-+#include "quirks.h"
- #include "sd.h"
- #include "sd_ops.h"
-@@ -1408,6 +1409,9 @@ retry:
-                       goto free_card;
-       }
-+      /* Apply quirks prior to card setup */
-+      mmc_fixup_device(card, mmc_sd_fixups);
-+
-       err = mmc_sd_setup_card(host, card, oldcard != NULL);
-       if (err)
-               goto free_card;
diff --git a/target/linux/generic/backport-6.6/200-regmap-maple-work-around-false-positive-warning.patch b/target/linux/generic/backport-6.6/200-regmap-maple-work-around-false-positive-warning.patch
deleted file mode 100644 (file)
index de5c813..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-From 542440fd7b30983cae23e32bd22f69a076ec7ef4 Mon Sep 17 00:00:00 2001
-From: Arnd Bergmann <arnd@arndb.de>
-Date: Fri, 19 Jul 2024 12:40:24 +0200
-Subject: regmap: maple: work around gcc-14.1 false-positive warning
-
-With gcc-14.1, there is a false-postive -Wuninitialized warning in
-regcache_maple_drop:
-
-drivers/base/regmap/regcache-maple.c: In function 'regcache_maple_drop':
-drivers/base/regmap/regcache-maple.c:113:23: error: 'lower_index' is used uninitialized [-Werror=uninitialized]
-  113 |         unsigned long lower_index, lower_last;
-      |                       ^~~~~~~~~~~
-drivers/base/regmap/regcache-maple.c:113:36: error: 'lower_last' is used uninitialized [-Werror=uninitialized]
-  113 |         unsigned long lower_index, lower_last;
-      |                                    ^~~~~~~~~~
-
-I've created a reduced test case to see if this needs to be reported
-as a gcc, but it appears that the gcc-14.x branch already has a change
-that turns this into a more sensible -Wmaybe-uninitialized warning, so
-I ended up not reporting it so far.
-
-The reduced test case also produces a warning for gcc-13 and gcc-12
-but I don't see that with the version in the kernel.
-
-Link: https://godbolt.org/z/oKbohKqd3
-Link: https://lore.kernel.org/all/CAMuHMdWj=FLmkazPbYKPevDrcym2_HDb_U7Mb9YE9ovrP0jJfA@mail.gmail.com/
-Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-Link: https://patch.msgid.link/20240719104030.1382465-1-arnd@kernel.org
-Signed-off-by: Mark Brown <broonie@kernel.org>
----
- drivers/base/regmap/regcache-maple.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-(limited to 'drivers/base/regmap/regcache-maple.c')
-
---- a/drivers/base/regmap/regcache-maple.c
-+++ b/drivers/base/regmap/regcache-maple.c
-@@ -110,7 +110,8 @@ static int regcache_maple_drop(struct re
-       struct maple_tree *mt = map->cache;
-       MA_STATE(mas, mt, min, max);
-       unsigned long *entry, *lower, *upper;
--      unsigned long lower_index, lower_last;
-+      /* initialized to work around false-positive -Wuninitialized warning */
-+      unsigned long lower_index = 0, lower_last = 0;
-       unsigned long upper_index, upper_last;
-       int ret = 0;
diff --git a/target/linux/generic/backport-6.6/822-v6.11-0012-nvmem-Fix-return-type-of-devm_nvmem_device_get-in-ke.patch b/target/linux/generic/backport-6.6/822-v6.11-0012-nvmem-Fix-return-type-of-devm_nvmem_device_get-in-ke.patch
deleted file mode 100644 (file)
index 6d49a25..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-From c69f37f6559a8948d70badd2b179db7714dedd62 Mon Sep 17 00:00:00 2001
-From: Geert Uytterhoeven <geert+renesas@glider.be>
-Date: Mon, 2 Sep 2024 15:25:09 +0100
-Subject: [PATCH] nvmem: Fix return type of devm_nvmem_device_get() in
- kerneldoc
-
-devm_nvmem_device_get() returns an nvmem device, not an nvmem cell.
-
-Fixes: e2a5402ec7c6d044 ("nvmem: Add nvmem_device based consumer apis.")
-Cc: stable <stable@kernel.org>
-Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
-Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
-Link: https://lore.kernel.org/r/20240902142510.71096-3-srinivas.kandagatla@linaro.org
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/nvmem/core.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
---- a/drivers/nvmem/core.c
-+++ b/drivers/nvmem/core.c
-@@ -1275,13 +1275,13 @@ void nvmem_device_put(struct nvmem_devic
- EXPORT_SYMBOL_GPL(nvmem_device_put);
- /**
-- * devm_nvmem_device_get() - Get nvmem cell of device form a given id
-+ * devm_nvmem_device_get() - Get nvmem device of device form a given id
-  *
-  * @dev: Device that requests the nvmem device.
-  * @id: name id for the requested nvmem device.
-  *
-- * Return: ERR_PTR() on error or a valid pointer to a struct nvmem_cell
-- * on success.  The nvmem_cell will be freed by the automatically once the
-+ * Return: ERR_PTR() on error or a valid pointer to a struct nvmem_device
-+ * on success.  The nvmem_device will be freed by the automatically once the
-  * device is freed.
-  */
- struct nvmem_device *devm_nvmem_device_get(struct device *dev, const char *id)
index 190dd3507cf1efddb59403d47d5a9746d100c3cd..069c6823033594fa41e449f31c185ad5ff9e9567 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
  #include <linux/crc32.h>
  #include <linux/if_vlan.h>
  #include <linux/uaccess.h>
-@@ -7035,6 +7036,22 @@ static void rtl_tally_reset(struct r8152
+@@ -7044,6 +7045,22 @@ static void rtl_tally_reset(struct r8152
        ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data);
  }
  
@@ -45,7 +45,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
  static void r8152b_init(struct r8152 *tp)
  {
        u32 ocp_data;
-@@ -7076,6 +7093,8 @@ static void r8152b_init(struct r8152 *tp
+@@ -7085,6 +7102,8 @@ static void r8152b_init(struct r8152 *tp
        ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
        ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
        ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
@@ -54,7 +54,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
  }
  
  static void r8153_init(struct r8152 *tp)
-@@ -7216,6 +7235,8 @@ static void r8153_init(struct r8152 *tp)
+@@ -7225,6 +7244,8 @@ static void r8153_init(struct r8152 *tp)
                tp->coalesce = COALESCE_SLOW;
                break;
        }
@@ -63,7 +63,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
  }
  
  static void r8153b_init(struct r8152 *tp)
-@@ -7298,6 +7319,8 @@ static void r8153b_init(struct r8152 *tp
+@@ -7307,6 +7328,8 @@ static void r8153b_init(struct r8152 *tp
        rtl_tally_reset(tp);
  
        tp->coalesce = 15000;   /* 15 us */
index af000f76fccca02b1b655cc37a287aa07150c015..acf72f4422579e9745d3ff6a299436bffd8f3fa3 100644 (file)
@@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  INDIRECT_CALLABLE_DECLARE(struct dst_entry *ip6_dst_check(struct dst_entry *,
                                                          u32));
  INDIRECT_CALLABLE_DECLARE(struct dst_entry *ipv4_dst_check(struct dst_entry *,
-@@ -2247,9 +2264,11 @@ static void __sk_free(struct sock *sk)
+@@ -2239,9 +2256,11 @@ static void __sk_free(struct sock *sk)
        if (likely(sk->sk_net_refcnt))
                sock_inuse_add(sock_net(sk), -1);
  
index 442daf6a0a2f96ff36f3bb0103c1be916e7aa903..691a60bcc0388809643bd5a216d4a147c00109c9 100644 (file)
@@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
 --- a/net/core/sock.c
 +++ b/net/core/sock.c
-@@ -4148,6 +4148,8 @@ static __net_initdata struct pernet_oper
+@@ -4140,6 +4140,8 @@ static __net_initdata struct pernet_oper
  
  static int __init proto_init(void)
  {
index 85d2ac21b1b0bae02cee241f4c668d798d52d1fb..97e321bfec13e9cc68466cbe9f9cc3f4ff7aaae4 100644 (file)
@@ -96,7 +96,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        return features;
 --- a/net/core/sock.c
 +++ b/net/core/sock.c
-@@ -2449,7 +2449,7 @@ void sk_setup_caps(struct sock *sk, stru
+@@ -2441,7 +2441,7 @@ void sk_setup_caps(struct sock *sk, stru
        if (sk_is_tcp(sk))
                sk->sk_route_caps |= NETIF_F_GSO;
        if (sk->sk_route_caps & NETIF_F_GSO)
index c2d281bfc78d325f4ef7f87329db63c5391e2eaf..672d0d54cf30a0968de53652cbaf8fce0fc53a7d 100644 (file)
@@ -96,7 +96,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        kfree(ap);
  }
  EXPORT_SYMBOL_GPL(ata_port_free);
-@@ -5927,7 +5950,23 @@ int ata_host_register(struct ata_host *h
+@@ -5929,7 +5952,23 @@ int ata_host_register(struct ata_host *h
                host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
                host->ports[i]->local_port_no = i + 1;
        }
index 172cf98ad153dcf95e71bc5d2e5812a2b8394c52..36925b83267cf4d77b0dec3c6258c09fceb09bb3 100644 (file)
@@ -6,29 +6,10 @@ Subject: [PATCH 05/53] MIPS: use set_mode() to enable/disable the cevt-r4k
 
 Signed-off-by: John Crispin <blogic@openwrt.org>
 ---
- arch/mips/ralink/Kconfig |    5 +++++
- 1 file changed, 5 insertions(+)
+ arch/mips/kernel/cevt-r4k.c | 43 +++++++++++++++++++++++++++++++++++++
+ arch/mips/ralink/Kconfig    |  5 +++++
+ 2 files changed, 48 insertions(+)
 
---- a/arch/mips/ralink/Kconfig
-+++ b/arch/mips/ralink/Kconfig
-@@ -1,12 +1,17 @@
- # SPDX-License-Identifier: GPL-2.0
- if RALINK
-+config CEVT_SYSTICK_QUIRK
-+      bool
-+      default n
-+
- config CLKEVT_RT3352
-       bool
-       depends on SOC_RT305X || SOC_MT7620
-       default y
-       select TIMER_OF
-       select CLKSRC_MMIO
-+      select CEVT_SYSTICK_QUIRK
- config RALINK_ILL_ACC
-       bool
 --- a/arch/mips/kernel/cevt-r4k.c
 +++ b/arch/mips/kernel/cevt-r4k.c
 @@ -16,6 +16,31 @@
@@ -73,11 +54,28 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        unsigned int cpu = smp_processor_id();
        struct clock_event_device *cd;
        unsigned int irq, min_delta;
-@@ -322,11 +349,16 @@ int r4k_clockevent_init(void)
+@@ -303,6 +330,15 @@ int r4k_clockevent_init(void)
+       if (!c0_compare_int_usable())
+               return -ENXIO;
++#ifdef CONFIG_CEVT_SYSTICK_QUIRK
++      /*
++       * With vectored interrupts things are getting platform specific.
++       * get_c0_compare_int is a hook to allow a platform to return the
++       * interrupt number of its liking.
++       */
++      irq = get_c0_compare_int();
++#endif
++
+       cd = &per_cpu(mips_clockevent_device, cpu);
+       cd->name                = "MIPS";
+@@ -314,11 +350,17 @@ int r4k_clockevent_init(void)
        cd->rating              = 300;
-       cd->irq                 = irq;
        cd->cpumask             = cpumask_of(cpu);
 +#ifdef CONFIG_CEVT_SYSTICK_QUIRK
++      cd->irq                 = irq;
 +      cd->set_state_shutdown  = mips_state_shutdown;
 +      cd->set_state_oneshot   = mips_state_oneshot;
 +#endif
@@ -90,7 +88,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        if (cp0_timer_irq_installed)
                return 0;
  
-@@ -335,6 +367,7 @@ int r4k_clockevent_init(void)
+@@ -334,6 +376,7 @@ int r4k_clockevent_init(void)
        if (request_irq(irq, c0_compare_interrupt, flags, "timer",
                        c0_compare_interrupt))
                pr_err("Failed to request irq %d (timer)\n", irq);
@@ -98,3 +96,23 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  
        return 0;
  }
+--- a/arch/mips/ralink/Kconfig
++++ b/arch/mips/ralink/Kconfig
+@@ -1,12 +1,17 @@
+ # SPDX-License-Identifier: GPL-2.0
+ if RALINK
++config CEVT_SYSTICK_QUIRK
++      bool
++      default n
++
+ config CLKEVT_RT3352
+       bool
+       depends on SOC_RT305X || SOC_MT7620
+       default y
+       select TIMER_OF
+       select CLKSRC_MMIO
++      select CEVT_SYSTICK_QUIRK
+ config RALINK_ILL_ACC
+       bool
index 1b82072933fc1496d037d24990645633e656ce8d..0583b70f89fb47e7595201a47911825f1d17d64b 100644 (file)
@@ -48,7 +48,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        clk_disable_unprepare(dwc->susp_clk);
        clk_disable_unprepare(dwc->ref_clk);
        clk_disable_unprepare(dwc->bus_clk);
-@@ -1863,6 +1877,20 @@ static int dwc3_get_clocks(struct dwc3 *
+@@ -1878,6 +1892,20 @@ static int dwc3_get_clocks(struct dwc3 *
                }
        }
  
@@ -71,7 +71,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  
 --- a/drivers/usb/dwc3/core.h
 +++ b/drivers/usb/dwc3/core.h
-@@ -996,6 +996,8 @@ struct dwc3_scratchpad_array {
+@@ -997,6 +997,8 @@ struct dwc3_scratchpad_array {
   * @bus_clk: clock for accessing the registers
   * @ref_clk: reference clock
   * @susp_clk: clock used when the SS phy is in low power (S3) state
@@ -80,7 +80,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
   * @reset: reset control
   * @regs: base address for our registers
   * @regs_size: address space size
-@@ -1166,6 +1168,8 @@ struct dwc3 {
+@@ -1167,6 +1169,8 @@ struct dwc3 {
        struct clk              *bus_clk;
        struct clk              *ref_clk;
        struct clk              *susp_clk;
index f9ec6c4f82e04b69d6a98f4cdaee28b77f39732b..90dcb0e3e473bf0d4c7b615f18a46690d96b6e12 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
 
 --- a/arch/riscv/Kconfig
 +++ b/arch/riscv/Kconfig
-@@ -896,6 +896,14 @@ config PORTABLE
+@@ -897,6 +897,14 @@ config PORTABLE
        select MMU
        select OF
  
index d21f5efebbd694e9e32de1f1d9189e8ca3b584b7..e98e6dfaafe289b74c11cb6b6ee579c58c8902aa 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
 
 --- a/drivers/clk/starfive/clk-starfive-jh7110-sys.c
 +++ b/drivers/clk/starfive/clk-starfive-jh7110-sys.c
-@@ -501,7 +501,52 @@ static int __init jh7110_syscrg_probe(st
+@@ -530,7 +530,52 @@ static int __init jh7110_syscrg_probe(st
        if (ret)
                return ret;
  
index c94009d4ffd9a10fc0dab99ae4344999bdc67e43..5e353e35ad4d6b2f8397b2272dc5a3df9b1af62f 100644 (file)
@@ -42,7 +42,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
                return irq;
 --- a/drivers/crypto/starfive/jh7110-cryp.h
 +++ b/drivers/crypto/starfive/jh7110-cryp.h
-@@ -125,6 +125,15 @@ union starfive_pka_cacr {
+@@ -126,6 +126,15 @@ union starfive_pka_cacr {
        };
  };
  
@@ -58,7 +58,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
  struct starfive_rsa_key {
        u8      *n;
        u8      *e;
-@@ -183,7 +192,6 @@ struct starfive_cryp_dev {
+@@ -184,7 +193,6 @@ struct starfive_cryp_dev {
        struct crypto_engine                    *engine;
        struct tasklet_struct                   aes_done;
        struct tasklet_struct                   hash_done;
@@ -99,8 +99,8 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
 +/* A * A * R mod N ==> A */
  #define CRYPTO_CMD_AARN                       0x7
  
- #define STARFIVE_RSA_MAX_KEYSZ                256
-@@ -43,21 +37,10 @@
+ #define STARFIVE_RSA_RESET            0x2
+@@ -42,21 +36,10 @@
  static inline int starfive_pka_wait_done(struct starfive_cryp_ctx *ctx)
  {
        struct starfive_cryp_dev *cryp = ctx->cryp;
@@ -125,7 +125,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
  }
  
  static void starfive_rsa_free_key(struct starfive_rsa_key *key)
-@@ -114,10 +97,9 @@ static int starfive_rsa_montgomery_form(
+@@ -113,10 +96,9 @@ static int starfive_rsa_montgomery_form(
                rctx->csr.pka.not_r2 = 1;
                rctx->csr.pka.ie = 1;
  
@@ -137,7 +137,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
                        return -ETIMEDOUT;
  
                for (loop = 0; loop <= opsize; loop++)
-@@ -136,10 +118,9 @@ static int starfive_rsa_montgomery_form(
+@@ -135,10 +117,9 @@ static int starfive_rsa_montgomery_form(
                rctx->csr.pka.start = 1;
                rctx->csr.pka.ie = 1;
  
@@ -149,7 +149,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
                        return -ETIMEDOUT;
        } else {
                rctx->csr.pka.v = 0;
-@@ -151,10 +132,9 @@ static int starfive_rsa_montgomery_form(
+@@ -150,10 +131,9 @@ static int starfive_rsa_montgomery_form(
                rctx->csr.pka.pre_expf = 1;
                rctx->csr.pka.ie = 1;
  
@@ -161,7 +161,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
                        return -ETIMEDOUT;
  
                for (loop = 0; loop <= count; loop++)
-@@ -172,10 +152,9 @@ static int starfive_rsa_montgomery_form(
+@@ -171,10 +151,9 @@ static int starfive_rsa_montgomery_form(
                rctx->csr.pka.start = 1;
                rctx->csr.pka.ie = 1;
  
@@ -173,7 +173,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
                        return -ETIMEDOUT;
        }
  
-@@ -226,11 +205,10 @@ static int starfive_rsa_cpu_start(struct
+@@ -225,11 +204,10 @@ static int starfive_rsa_cpu_start(struct
                rctx->csr.pka.start = 1;
                rctx->csr.pka.ie = 1;
  
@@ -186,7 +186,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
                        goto rsa_err;
  
                if (mlen) {
-@@ -242,10 +220,9 @@ static int starfive_rsa_cpu_start(struct
+@@ -241,10 +219,9 @@ static int starfive_rsa_cpu_start(struct
                        rctx->csr.pka.start = 1;
                        rctx->csr.pka.ie = 1;
  
index f376edb60ecbb5ede96f685336e6b8077476b202..102fbabf3777431c72f0db05c3c4760498446d36 100644 (file)
@@ -114,7 +114,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
                .cra_module             = THIS_MODULE,
 --- a/drivers/crypto/starfive/jh7110-cryp.h
 +++ b/drivers/crypto/starfive/jh7110-cryp.h
-@@ -50,8 +50,6 @@ union starfive_aes_csr {
+@@ -51,8 +51,6 @@ union starfive_aes_csr {
                u32 ccm_start                   :1;
  #define STARFIVE_AES_MODE_ECB                 0x0
  #define STARFIVE_AES_MODE_CBC                 0x1
index 2044b72a351876273ad97297b3f73992f7b6ba1b..2e12cfa09eeaedfe4a26fbe7beea5b30260b817d 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
 
 --- a/drivers/crypto/starfive/jh7110-rsa.c
 +++ b/drivers/crypto/starfive/jh7110-rsa.c
-@@ -45,12 +45,9 @@ static inline int starfive_pka_wait_done
+@@ -44,12 +44,9 @@ static inline int starfive_pka_wait_done
  
  static void starfive_rsa_free_key(struct starfive_rsa_key *key)
  {