From: Álvaro Fernández Rojas Date: Mon, 24 Jun 2024 03:48:44 +0000 (+0200) Subject: bcm27xx: drop upstream patch that breaks rpi5 wifi X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=6d29378eb5ae568ec7d47be7214f7c2b70a3dd9c;p=openwrt%2Fstaging%2Fnbd.git bcm27xx: drop upstream patch that breaks rpi5 wifi As reported in the following issue, this patch breaks wifi on the RPi 5. https://github.com/raspberrypi/linux/issues/6237 Signed-off-by: Álvaro Fernández Rojas --- diff --git a/target/linux/bcm27xx/patches-6.6/950-1133-drivers-mmc-sdhci-brcmstb-improve-bcm2712-card-remov.patch b/target/linux/bcm27xx/patches-6.6/950-1133-drivers-mmc-sdhci-brcmstb-improve-bcm2712-card-remov.patch deleted file mode 100644 index 132fcd9b80..0000000000 --- a/target/linux/bcm27xx/patches-6.6/950-1133-drivers-mmc-sdhci-brcmstb-improve-bcm2712-card-remov.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 5c0f94088e0694220a2f0d8ad6e8216b50a80f2e Mon Sep 17 00:00:00 2001 -From: Jonathan Bell -Date: Thu, 13 Jun 2024 15:01:02 +0100 -Subject: [PATCH 1133/1135] drivers: mmc: sdhci-brcmstb: improve bcm2712 card - removal handling - -If the controller is being reset, then the CQE needs to be reset as well. - -For removable cards, CQHCI_SSC1 must specify a polling mode (CBC=0) -otherwise it's possible that the controller stops emitting periodic -CMD13s on card removal, without raising an error status interrupt. - -Signed-off-by: Jonathan Bell ---- - drivers/mmc/host/sdhci-brcmstb.c | 19 ++++++++++++++++--- - 1 file changed, 16 insertions(+), 3 deletions(-) - ---- a/drivers/mmc/host/sdhci-brcmstb.c -+++ b/drivers/mmc/host/sdhci-brcmstb.c -@@ -365,8 +365,21 @@ static void sdhci_brcmstb_cqe_enable(str - - sdhci_cqe_enable(mmc); - -- /* Reset CMD13 polling timer back to eMMC specification default */ -- cqhci_writel(cq_host, 0x00011000, CQHCI_SSC1); -+ /* -+ * The controller resets this register to a very short default interval -+ * whenever CQHCI is disabled. -+ * -+ * For removable cards CBC needs to be clear or card removal can hang -+ * the CQE. In polling mode, a CIT of 0x4000 "cycles" seems to produce the best -+ * throughput. -+ * -+ * For nonremovable cards, the specification default of CBC=1 CIT=0x1000 -+ * suffices. -+ */ -+ if (mmc->caps & MMC_CAP_NONREMOVABLE) -+ cqhci_writel(cq_host, 0x00011000, CQHCI_SSC1); -+ else -+ cqhci_writel(cq_host, 0x00004000, CQHCI_SSC1); - } - - static const struct cqhci_host_ops sdhci_brcmstb_cqhci_ops = { -@@ -386,7 +399,7 @@ static struct sdhci_ops sdhci_brcmstb_op - .set_clock = sdhci_bcm2712_set_clock, - .set_power = sdhci_brcmstb_set_power, - .set_bus_width = sdhci_set_bus_width, -- .reset = sdhci_reset, -+ .reset = brcmstb_reset, - .set_uhs_signaling = sdhci_set_uhs_signaling, - .init_sd_express = bcm2712_init_sd_express, - };