From: Greg Kroah-Hartman Date: Fri, 3 Feb 2023 09:24:11 +0000 (+0100) Subject: drop some broken 4.19 patches X-Git-Tag: v4.14.305~13 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6d30c45c7a0be6e99e2f6d2f91aebb9a29537043;p=thirdparty%2Fkernel%2Fstable-queue.git drop some broken 4.19 patches --- diff --git a/queue-4.19/memory-atmel-sdramc-fix-missing-clk_disable_unprepar.patch b/queue-4.19/memory-atmel-sdramc-fix-missing-clk_disable_unprepar.patch deleted file mode 100644 index 49677e60693..00000000000 --- a/queue-4.19/memory-atmel-sdramc-fix-missing-clk_disable_unprepar.patch +++ /dev/null @@ -1,52 +0,0 @@ -From da36ef1273dd9bd9a06c554e84abf12b3157b6b6 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 25 Nov 2022 15:37:57 +0800 -Subject: memory: atmel-sdramc: Fix missing clk_disable_unprepare in - atmel_ramc_probe() - -From: Gaosheng Cui - -[ Upstream commit 340cb392a038cf70540a4cdf2e98a247c66b6df4 ] - -The clk_disable_unprepare() should be called in the error handling -of caps->has_mpddr_clk, fix it by replacing devm_clk_get and -clk_prepare_enable by devm_clk_get_enabled. - -Fixes: e81b6abebc87 ("memory: add a driver for atmel ram controllers") -Signed-off-by: Gaosheng Cui -Link: https://lore.kernel.org/r/20221125073757.3535219-1-cuigaosheng1@huawei.com -Signed-off-by: Krzysztof Kozlowski -Signed-off-by: Sasha Levin ---- - drivers/memory/atmel-sdramc.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -diff --git a/drivers/memory/atmel-sdramc.c b/drivers/memory/atmel-sdramc.c -index b418b39af180..ae2c0b3fb552 100644 ---- a/drivers/memory/atmel-sdramc.c -+++ b/drivers/memory/atmel-sdramc.c -@@ -59,19 +59,17 @@ static int atmel_ramc_probe(struct platform_device *pdev) - caps = of_device_get_match_data(&pdev->dev); - - if (caps->has_ddrck) { -- clk = devm_clk_get(&pdev->dev, "ddrck"); -+ clk = devm_clk_get_enabled(&pdev->dev, "ddrck"); - if (IS_ERR(clk)) - return PTR_ERR(clk); -- clk_prepare_enable(clk); - } - - if (caps->has_mpddr_clk) { -- clk = devm_clk_get(&pdev->dev, "mpddr"); -+ clk = devm_clk_get_enabled(&pdev->dev, "mpddr"); - if (IS_ERR(clk)) { - pr_err("AT91 RAMC: couldn't get mpddr clock\n"); - return PTR_ERR(clk); - } -- clk_prepare_enable(clk); - } - - return 0; --- -2.39.0 - diff --git a/queue-4.19/mmc-sdhci-esdhc-imx-clear-esdhc_std_tuning_en-for-ma.patch b/queue-4.19/mmc-sdhci-esdhc-imx-clear-esdhc_std_tuning_en-for-ma.patch deleted file mode 100644 index 4716c8ada35..00000000000 --- a/queue-4.19/mmc-sdhci-esdhc-imx-clear-esdhc_std_tuning_en-for-ma.patch +++ /dev/null @@ -1,47 +0,0 @@ -From c90a9e41db8d4938aa668da5bddbb4e4469a2d9e Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Thu, 20 Dec 2018 11:57:41 +0000 -Subject: mmc: sdhci-esdhc-imx: clear ESDHC_STD_TUNING_EN for manual tuning - method - -From: BOUGH CHEN - -[ Upstream commit a98c557e2af3e12e38dee6019a5cf210156d629e ] - -The bit ESDHC_STD_TUNING_EN may be configed by bootloader code if it -choose to use standard tuning method. So on linux side, if choose to -use manual tuning method, need to clear the bit ESDHC_STD_TUNING_EN, -remove the impact of bootloader code. - -Signed-off-by: Haibo Chen -Acked-by: Adrian Hunter -Signed-off-by: Ulf Hansson -Stable-dep-of: 1e336aa0c025 ("mmc: sdhci-esdhc-imx: correct the tuning start tap and step setting") -Signed-off-by: Sasha Levin ---- - drivers/mmc/host/sdhci-esdhc-imx.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c -index f8a4791e64f8..71ca97c696b1 100644 ---- a/drivers/mmc/host/sdhci-esdhc-imx.c -+++ b/drivers/mmc/host/sdhci-esdhc-imx.c -@@ -1141,6 +1141,15 @@ static void sdhci_esdhc_imx_hwinit(struct sdhci_host *host) - << ESDHC_TUNING_STEP_SHIFT; - } - writel(tmp, host->ioaddr + ESDHC_TUNING_CTRL); -+ } else if (imx_data->socdata->flags & ESDHC_FLAG_MAN_TUNING) { -+ /* -+ * ESDHC_STD_TUNING_EN may be configed in bootloader -+ * or ROM code, so clear this bit here to make sure -+ * the manual tuning can work. -+ */ -+ tmp = readl(host->ioaddr + ESDHC_TUNING_CTRL); -+ tmp &= ~ESDHC_STD_TUNING_EN; -+ writel(tmp, host->ioaddr + ESDHC_TUNING_CTRL); - } - } - } --- -2.39.0 - diff --git a/queue-4.19/mmc-sdhci-esdhc-imx-clear-pending-interrupt-and-halt.patch b/queue-4.19/mmc-sdhci-esdhc-imx-clear-pending-interrupt-and-halt.patch deleted file mode 100644 index d9f2412b729..00000000000 --- a/queue-4.19/mmc-sdhci-esdhc-imx-clear-pending-interrupt-and-halt.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 621203bec98eef58da6ebe60418aa2fa71e2dd2b Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 19 Feb 2020 16:25:54 +0800 -Subject: mmc: sdhci-esdhc-imx: clear pending interrupt and halt cqhci - -From: Haibo Chen - -[ Upstream commit 982cf37da3ee0f1e3e20d97e19f13cba79be51c7 ] - -On i.MX8MM, we are running Dual Linux OS, with 1st Linux using SD Card -as rootfs storage, 2nd Linux using eMMC as rootfs storage. We let the -the 1st linux configure power/clock for the 2nd Linux. - -When the 2nd Linux is booting into rootfs stage, we let the 1st Linux -to destroy the 2nd linux, then restart the 2nd linux, we met SDHCI dump -as following, after we clear the pending interrupt and halt CQCTL, issue -gone. - -[ 1.334594] mmc2: Got command interrupt 0x00000001 even though no command operation was in progress. -[ 1.334595] mmc2: sdhci: ============ SDHCI REGISTER DUMP =========== -[ 1.334599] mmc2: sdhci: Sys addr: 0xa05dcc00 | Version: 0x00000002 -[ 1.345538] mmc2: sdhci: Blk size: 0x00000200 | Blk cnt: 0x00000000 -[ 1.345541] mmc2: sdhci: Argument: 0x00018000 | Trn mode: 0x00000033 -[ 1.345543] mmc2: sdhci: Present: 0x01f88008 | Host ctl: 0x00000031 -[ 1.345547] mmc2: sdhci: Power: 0x00000002 | Blk gap: 0x00000080 -[ 1.357903] mmc2: sdhci: Wake-up: 0x00000008 | Clock: 0x0000003f -[ 1.357905] mmc2: sdhci: Timeout: 0x0000008f | Int stat: 0x00000000 -[ 1.357908] mmc2: sdhci: Int enab: 0x107f100b | Sig enab: 0x107f100b -[ 1.357911] mmc2: sdhci: AC12 err: 0x00000000 | Slot int: 0x00000502 -[ 1.370268] mmc2: sdhci: Caps: 0x07eb0000 | Caps_1: 0x0000b400 -[ 1.370270] mmc2: sdhci: Cmd: 0x00000d1a | Max curr: 0x00ffffff -[ 1.370273] mmc2: sdhci: Resp[0]: 0x00000b00 | Resp[1]: 0xffffffff -[ 1.370276] mmc2: sdhci: Resp[2]: 0x328f5903 | Resp[3]: 0x00d00f00 -[ 1.382132] mmc2: sdhci: Host ctl2: 0x00000000 -[ 1.382135] mmc2: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0xa2040208 - -[ 2.060932] mmc2: Unexpected interrupt 0x00004000. -[ 2.065538] mmc2: sdhci: ============ SDHCI REGISTER DUMP =========== -[ 2.071720] mmc2: sdhci: Sys addr: 0x00000000 | Version: 0x00000002 -[ 2.077902] mmc2: sdhci: Blk size: 0x00000200 | Blk cnt: 0x00000001 -[ 2.084083] mmc2: sdhci: Argument: 0x00000000 | Trn mode: 0x00000000 -[ 2.090264] mmc2: sdhci: Present: 0x01f88009 | Host ctl: 0x00000011 -[ 2.096446] mmc2: sdhci: Power: 0x00000002 | Blk gap: 0x00000080 -[ 2.102627] mmc2: sdhci: Wake-up: 0x00000008 | Clock: 0x000010ff -[ 2.108809] mmc2: sdhci: Timeout: 0x0000008f | Int stat: 0x00004000 -[ 2.114990] mmc2: sdhci: Int enab: 0x007f1003 | Sig enab: 0x007f1003 -[ 2.121171] mmc2: sdhci: AC12 err: 0x00000000 | Slot int: 0x00000502 -[ 2.127353] mmc2: sdhci: Caps: 0x07eb0000 | Caps_1: 0x0000b400 -[ 2.133534] mmc2: sdhci: Cmd: 0x0000371a | Max curr: 0x00ffffff -[ 2.139715] mmc2: sdhci: Resp[0]: 0x00000900 | Resp[1]: 0xffffffff -[ 2.145896] mmc2: sdhci: Resp[2]: 0x328f5903 | Resp[3]: 0x00d00f00 -[ 2.152077] mmc2: sdhci: Host ctl2: 0x00000000 -[ 2.156342] mmc2: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000000 - -Signed-off-by: Haibo Chen -Acked-by: Adrian Hunter -Link: https://lore.kernel.org/r/1582100757-20683-6-git-send-email-haibo.chen@nxp.com -Signed-off-by: Ulf Hansson -Stable-dep-of: 1e336aa0c025 ("mmc: sdhci-esdhc-imx: correct the tuning start tap and step setting") -Signed-off-by: Sasha Levin ---- - drivers/mmc/host/sdhci-esdhc-imx.c | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c -index 71ca97c696b1..dc0a10a5e2c3 100644 ---- a/drivers/mmc/host/sdhci-esdhc-imx.c -+++ b/drivers/mmc/host/sdhci-esdhc-imx.c -@@ -1092,6 +1092,7 @@ static void sdhci_esdhc_imx_hwinit(struct sdhci_host *host) - { - struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); - struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host); -+ struct cqhci_host *cq_host = host->mmc->cqe_private; - int tmp; - - if (esdhc_is_usdhc(imx_data)) { -@@ -1151,6 +1152,21 @@ static void sdhci_esdhc_imx_hwinit(struct sdhci_host *host) - tmp &= ~ESDHC_STD_TUNING_EN; - writel(tmp, host->ioaddr + ESDHC_TUNING_CTRL); - } -+ -+ /* -+ * On i.MX8MM, we are running Dual Linux OS, with 1st Linux using SD Card -+ * as rootfs storage, 2nd Linux using eMMC as rootfs storage. We let the -+ * the 1st linux configure power/clock for the 2nd Linux. -+ * -+ * When the 2nd Linux is booting into rootfs stage, we let the 1st Linux -+ * to destroy the 2nd linux, then restart the 2nd linux, we met SDHCI dump. -+ * After we clear the pending interrupt and halt CQCTL, issue gone. -+ */ -+ if (cq_host) { -+ tmp = cqhci_readl(cq_host, CQHCI_IS); -+ cqhci_writel(cq_host, tmp, CQHCI_IS); -+ cqhci_writel(cq_host, CQHCI_HALT, CQHCI_CTL); -+ } - } - } - --- -2.39.0 - diff --git a/queue-4.19/mmc-sdhci-esdhc-imx-correct-the-tuning-start-tap-and.patch b/queue-4.19/mmc-sdhci-esdhc-imx-correct-the-tuning-start-tap-and.patch deleted file mode 100644 index 8a4b4db236b..00000000000 --- a/queue-4.19/mmc-sdhci-esdhc-imx-correct-the-tuning-start-tap-and.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 730ae5e3c6d1397618caab6b69d8b7b5df23da23 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 7 Dec 2022 19:23:15 +0800 -Subject: mmc: sdhci-esdhc-imx: correct the tuning start tap and step setting - -From: Haibo Chen - -[ Upstream commit 1e336aa0c0250ec84c6f16efac40c9f0138e367d ] - -Current code logic may be impacted by the setting of ROM/Bootloader, -so unmask these bits first, then setting these bits accordingly. - -Fixes: 2b16cf326b70 ("mmc: sdhci-esdhc-imx: move tuning static configuration into hwinit function") -Signed-off-by: Haibo Chen -Acked-by: Adrian Hunter -Cc: stable@vger.kernel.org -Link: https://lore.kernel.org/r/20221207112315.1812222-1-haibo.chen@nxp.com -Signed-off-by: Ulf Hansson -Signed-off-by: Sasha Levin ---- - drivers/mmc/host/sdhci-esdhc-imx.c | 22 +++++++++++++++------- - 1 file changed, 15 insertions(+), 7 deletions(-) - -diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c -index 30c75a96fce1..97ec4f870e11 100644 ---- a/drivers/mmc/host/sdhci-esdhc-imx.c -+++ b/drivers/mmc/host/sdhci-esdhc-imx.c -@@ -85,6 +85,7 @@ - #define ESDHC_TUNING_START_TAP_DEFAULT 0x1 - #define ESDHC_TUNING_START_TAP_MASK 0x7f - #define ESDHC_TUNING_CMD_CRC_CHECK_DISABLE (1 << 7) -+#define ESDHC_TUNING_STEP_DEFAULT 0x1 - #define ESDHC_TUNING_STEP_MASK 0x00070000 - #define ESDHC_TUNING_STEP_SHIFT 16 - -@@ -1094,7 +1095,7 @@ static void sdhci_esdhc_imx_hwinit(struct sdhci_host *host) - struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); - struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host); - struct cqhci_host *cq_host = host->mmc->cqe_private; -- int tmp; -+ u32 tmp; - - if (esdhc_is_usdhc(imx_data)) { - /* -@@ -1130,17 +1131,24 @@ static void sdhci_esdhc_imx_hwinit(struct sdhci_host *host) - - if (imx_data->socdata->flags & ESDHC_FLAG_STD_TUNING) { - tmp = readl(host->ioaddr + ESDHC_TUNING_CTRL); -- tmp |= ESDHC_STD_TUNING_EN | -- ESDHC_TUNING_START_TAP_DEFAULT; -- if (imx_data->boarddata.tuning_start_tap) { -- tmp &= ~ESDHC_TUNING_START_TAP_MASK; -+ tmp |= ESDHC_STD_TUNING_EN; -+ -+ /* -+ * ROM code or bootloader may config the start tap -+ * and step, unmask them first. -+ */ -+ tmp &= ~(ESDHC_TUNING_START_TAP_MASK | ESDHC_TUNING_STEP_MASK); -+ if (imx_data->boarddata.tuning_start_tap) - tmp |= imx_data->boarddata.tuning_start_tap; -- } -+ else -+ tmp |= ESDHC_TUNING_START_TAP_DEFAULT; - - if (imx_data->boarddata.tuning_step) { -- tmp &= ~ESDHC_TUNING_STEP_MASK; - tmp |= imx_data->boarddata.tuning_step - << ESDHC_TUNING_STEP_SHIFT; -+ } else { -+ tmp |= ESDHC_TUNING_STEP_DEFAULT -+ << ESDHC_TUNING_STEP_SHIFT; - } - - /* Disable the CMD CRC check for tuning, if not, need to --- -2.39.0 - diff --git a/queue-4.19/mmc-sdhci-esdhc-imx-disable-the-cmd-crc-check-for-st.patch b/queue-4.19/mmc-sdhci-esdhc-imx-disable-the-cmd-crc-check-for-st.patch deleted file mode 100644 index ae92224e96b..00000000000 --- a/queue-4.19/mmc-sdhci-esdhc-imx-disable-the-cmd-crc-check-for-st.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 6a381e3ed356ba8d7a920f5638848aad3e63c9be Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 26 May 2020 18:22:02 +0800 -Subject: mmc: sdhci-esdhc-imx: disable the CMD CRC check for standard tuning -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From: Haibo Chen - -[ Upstream commit 16e40e5b1e3c6646fd90d0c3186703d209216f03 ] - -In current code, we add 1ms dealy after each tuning command for standard -tuning method. Adding this 1ms dealy is because USDHC default check the -CMD CRC and DATA line. If detect the CMD CRC, USDHC standard tuning -IC logic do not wait for the tuning data sending out by the card, trigger -the buffer read ready interrupt immediately, and step to next cycle. So -when next time the new tuning command send out by USDHC, card may still -not send out the tuning data of the upper command,then some eMMC cards -may stuck, can't response to any command, block the whole tuning procedure. - -If do not check the CMD CRC for tuning, then do not has this issue. USDHC -will wait for the tuning data of each tuning command and check them. If the -tuning data pass the check, it also means the CMD line also okay for tuning. - -So this patch disable the CMD CRC check for tuning, save some time for the -whole tuning procedure. - -Signed-off-by: Haibo Chen -Link: https://lore.kernel.org/r/1590488522-9292-2-git-send-email-haibo.chen@nxp.com -Signed-off-by: Ulf Hansson -Stable-dep-of: 1e336aa0c025 ("mmc: sdhci-esdhc-imx: correct the tuning start tap and step setting") -Signed-off-by: Sasha Levin ---- - drivers/mmc/host/sdhci-esdhc-imx.c | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c -index dc0a10a5e2c3..30c75a96fce1 100644 ---- a/drivers/mmc/host/sdhci-esdhc-imx.c -+++ b/drivers/mmc/host/sdhci-esdhc-imx.c -@@ -84,6 +84,7 @@ - /* NOTE: the minimum valid tuning start tap for mx6sl is 1 */ - #define ESDHC_TUNING_START_TAP_DEFAULT 0x1 - #define ESDHC_TUNING_START_TAP_MASK 0x7f -+#define ESDHC_TUNING_CMD_CRC_CHECK_DISABLE (1 << 7) - #define ESDHC_TUNING_STEP_MASK 0x00070000 - #define ESDHC_TUNING_STEP_SHIFT 16 - -@@ -1141,6 +1142,18 @@ static void sdhci_esdhc_imx_hwinit(struct sdhci_host *host) - tmp |= imx_data->boarddata.tuning_step - << ESDHC_TUNING_STEP_SHIFT; - } -+ -+ /* Disable the CMD CRC check for tuning, if not, need to -+ * add some delay after every tuning command, because -+ * hardware standard tuning logic will directly go to next -+ * step once it detect the CMD CRC error, will not wait for -+ * the card side to finally send out the tuning data, trigger -+ * the buffer read ready interrupt immediately. If usdhc send -+ * the next tuning command some eMMC card will stuck, can't -+ * response, block the tuning procedure or the first command -+ * after the whole tuning procedure always can't get any response. -+ */ -+ tmp |= ESDHC_TUNING_CMD_CRC_CHECK_DISABLE; - writel(tmp, host->ioaddr + ESDHC_TUNING_CTRL); - } else if (imx_data->socdata->flags & ESDHC_FLAG_MAN_TUNING) { - /* --- -2.39.0 - diff --git a/queue-4.19/series b/queue-4.19/series index 0b8bd6dfa3f..f2d0b7a9cb7 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -1,4 +1,3 @@ -memory-atmel-sdramc-fix-missing-clk_disable_unprepar.patch memory-mvebu-devbus-fix-missing-clk_disable_unprepar.patch arm-dts-imx6qdl-gw560x-remove-incorrect-uart-has-rts.patch hid-intel_ish-hid-add-check-for-ishtp_dma_tx_map.patch @@ -30,10 +29,6 @@ dmaengine-xilinx_dma-call-of_node_put-when-breaking-.patch tcp-avoid-the-lookup-process-failing-to-get-sk-in-eh.patch w1-fix-deadloop-in-__w1_remove_master_device.patch w1-fix-warning-after-calling-w1_process.patch -mmc-sdhci-esdhc-imx-clear-esdhc_std_tuning_en-for-ma.patch -mmc-sdhci-esdhc-imx-clear-pending-interrupt-and-halt.patch -mmc-sdhci-esdhc-imx-disable-the-cmd-crc-check-for-st.patch -mmc-sdhci-esdhc-imx-correct-the-tuning-start-tap-and.patch netfilter-conntrack-do-not-renew-entry-stuck-in-tcp-.patch block-fix-and-cleanup-bio_check_ro.patch perf-env-do-not-return-pointers-to-local-variables.patch @@ -82,3 +77,4 @@ panic-expose-warn_count-to-sysfs.patch docs-fix-path-paste-o-for-sys-kernel-warn_count.patch exit-use-read_once-for-all-oops-warn-limit-reads.patch ipv6-ensure-sane-device-mtu-in-tunnels.patch +usb-host-xhci-plat-add-wakeup-entry-at-sysfs.patch