summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorjmcneill <jmcneill@NetBSD.org>2022-02-06 15:52:20 +0000
committerjmcneill <jmcneill@NetBSD.org>2022-02-06 15:52:20 +0000
commitab7b41eea9f841f3fa80fad8a3a391e3054e08fc (patch)
treeb56002b460a79028090673b86d8fa88c3c0401d1 /sys
parent950e5824af4078bf91f658a4054372eec026c864 (diff)
sdhc: Retire SDHC_FLAG_USE_ADMA2 flag.
ADMA2 support in sdhc is mature now, so no need for it to be opt-in.
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/arm/broadcom/bcm2838_emmc2_acpi.c5
-rw-r--r--sys/arch/arm/nvidia/tegra_sdhc.c5
-rw-r--r--sys/arch/arm/nxp/imx_sdhc.c5
-rw-r--r--sys/arch/arm/omap/omap3_sdhc.c10
-rw-r--r--sys/arch/arm/ti/ti_sdhc.c9
-rw-r--r--sys/dev/acpi/sdhc_acpi.c5
-rw-r--r--sys/dev/fdt/arasan_sdhc_fdt.c5
-rw-r--r--sys/dev/sdmmc/sdhc.c7
-rw-r--r--sys/dev/sdmmc/sdhcvar.h19
9 files changed, 34 insertions, 36 deletions
diff --git a/sys/arch/arm/broadcom/bcm2838_emmc2_acpi.c b/sys/arch/arm/broadcom/bcm2838_emmc2_acpi.c
index 7f1445db104..7ef45f9d52f 100644
--- a/sys/arch/arm/broadcom/bcm2838_emmc2_acpi.c
+++ b/sys/arch/arm/broadcom/bcm2838_emmc2_acpi.c
@@ -1,4 +1,4 @@
-/* $NetBSD: bcm2838_emmc2_acpi.c,v 1.2 2021/08/08 10:59:27 jmcneill Exp $ */
+/* $NetBSD: bcm2838_emmc2_acpi.c,v 1.3 2022/02/06 15:52:20 jmcneill Exp $ */
/*
* Copyright (c) 2021 Jared McNeill <jmcneill@invisible.ca>
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: bcm2838_emmc2_acpi.c,v 1.2 2021/08/08 10:59:27 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bcm2838_emmc2_acpi.c,v 1.3 2022/02/06 15:52:20 jmcneill Exp $");
#include <sys/param.h>
#include <sys/device.h>
@@ -121,7 +121,6 @@ bcmemmc2_acpi_attach(device_t parent, device_t self, void *opaque)
sc->sc.sc_flags = SDHC_FLAG_32BIT_ACCESS |
#if notyet
SDHC_FLAG_USE_DMA |
- SDHC_FLAG_USE_ADMA2 |
#endif
SDHC_FLAG_NO_1_8_V;
diff --git a/sys/arch/arm/nvidia/tegra_sdhc.c b/sys/arch/arm/nvidia/tegra_sdhc.c
index fadcf29bd69..a8664fc87cd 100644
--- a/sys/arch/arm/nvidia/tegra_sdhc.c
+++ b/sys/arch/arm/nvidia/tegra_sdhc.c
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_sdhc.c,v 1.31 2022/02/06 15:40:55 jmcneill Exp $ */
+/* $NetBSD: tegra_sdhc.c,v 1.32 2022/02/06 15:52:20 jmcneill Exp $ */
/*-
* Copyright (c) 2015 Jared D. McNeill <jmcneill@invisible.ca>
@@ -31,7 +31,7 @@
#include "locators.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tegra_sdhc.c,v 1.31 2022/02/06 15:40:55 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_sdhc.c,v 1.32 2022/02/06 15:52:20 jmcneill Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -130,7 +130,6 @@ tegra_sdhc_attach(device_t parent, device_t self, void *aux)
SDHC_FLAG_SINGLE_POWER_WRITE |
SDHC_FLAG_NO_HS_BIT |
SDHC_FLAG_USE_DMA |
- SDHC_FLAG_USE_ADMA2 |
SDHC_FLAG_BROKEN_ADMA2_ZEROLEN;
if (bus_width == 8) {
sc->sc.sc_flags |= SDHC_FLAG_8BIT_MODE;
diff --git a/sys/arch/arm/nxp/imx_sdhc.c b/sys/arch/arm/nxp/imx_sdhc.c
index 8577dfd3d71..4c760fec3f6 100644
--- a/sys/arch/arm/nxp/imx_sdhc.c
+++ b/sys/arch/arm/nxp/imx_sdhc.c
@@ -1,4 +1,4 @@
-/* $NetBSD: imx_sdhc.c,v 1.6 2021/01/27 03:10:20 thorpej Exp $ */
+/* $NetBSD: imx_sdhc.c,v 1.7 2022/02/06 15:52:20 jmcneill Exp $ */
/*-
* Copyright (c) 2019 Genetec Corporation. All rights reserved.
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: imx_sdhc.c,v 1.6 2021/01/27 03:10:20 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: imx_sdhc.c,v 1.7 2022/02/06 15:52:20 jmcneill Exp $");
#include "opt_fdt.h"
@@ -140,7 +140,6 @@ imx_sdhc_attach(device_t parent, device_t self, void *aux)
SDHC_FLAG_NO_PWR0 |
SDHC_FLAG_HAVE_DVS |
SDHC_FLAG_32BIT_ACCESS |
- SDHC_FLAG_USE_ADMA2 |
SDHC_FLAG_USDHC;
sc->sc_sdhc.sc_flags |= conf->flags;
diff --git a/sys/arch/arm/omap/omap3_sdhc.c b/sys/arch/arm/omap/omap3_sdhc.c
index 9fcf269694b..57bbc53034e 100644
--- a/sys/arch/arm/omap/omap3_sdhc.c
+++ b/sys/arch/arm/omap/omap3_sdhc.c
@@ -1,4 +1,4 @@
-/* $NetBSD: omap3_sdhc.c,v 1.30 2018/09/03 16:29:23 riastradh Exp $ */
+/* $NetBSD: omap3_sdhc.c,v 1.31 2022/02/06 15:52:20 jmcneill Exp $ */
/*-
* Copyright (c) 2011 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -29,7 +29,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: omap3_sdhc.c,v 1.30 2018/09/03 16:29:23 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: omap3_sdhc.c,v 1.31 2022/02/06 15:52:20 jmcneill Exp $");
#include "opt_omap.h"
#include "edma.h"
@@ -95,6 +95,7 @@ struct mmchs_softc {
struct sdhc_host *sc_hosts[1];
int sc_irq;
void *sc_ih; /* interrupt vectoring */
+ bool sc_use_adma2;
#if NEDMA > 0
int sc_edmabase;
@@ -454,7 +455,7 @@ no_dma:
}
if (hwinfo & HL_HWINFO_MADMA_EN) {
sc->sc.sc_flags |= SDHC_FLAG_USE_DMA;
- sc->sc.sc_flags |= SDHC_FLAG_USE_ADMA2;
+ sc->sc_use_adma2 = true;
}
aprint_normal_dev(sc->sc.sc_dev, "IP Rev 0x%08x%s",
rev, hwinfo & HL_HWINFO_RETMODE ? ", Retention Mode" : "");
@@ -571,10 +572,11 @@ no_dma:
SDHC_WRITE(sc, SDHC_CLOCK_CTL,
SDHC_READ(sc, SDHC_CLOCK_CTL) | SDHC_SDCLK_ENABLE);
- if (sc->sc.sc_flags & SDHC_FLAG_USE_ADMA2)
+ if (sc->sc_use_adma2) {
bus_space_write_4(sc->sc_bst, sc->sc_bsh, MMCHS_CON,
bus_space_read_4(sc->sc_bst, sc->sc_bsh, MMCHS_CON) |
CON_MNS);
+ }
}
static int
diff --git a/sys/arch/arm/ti/ti_sdhc.c b/sys/arch/arm/ti/ti_sdhc.c
index 7188ccde998..d45b0e3faa4 100644
--- a/sys/arch/arm/ti/ti_sdhc.c
+++ b/sys/arch/arm/ti/ti_sdhc.c
@@ -1,4 +1,4 @@
-/* $NetBSD: ti_sdhc.c,v 1.11 2021/11/07 17:12:45 jmcneill Exp $ */
+/* $NetBSD: ti_sdhc.c,v 1.12 2022/02/06 15:52:20 jmcneill Exp $ */
/*-
* Copyright (c) 2011 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -29,7 +29,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ti_sdhc.c,v 1.11 2021/11/07 17:12:45 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ti_sdhc.c,v 1.12 2022/02/06 15:52:20 jmcneill Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -397,10 +397,13 @@ no_dma:
SDHC_WRITE(sc, SDHC_CLOCK_CTL,
SDHC_READ(sc, SDHC_CLOCK_CTL) | SDHC_SDCLK_ENABLE);
- if (sc->sc.sc_flags & SDHC_FLAG_USE_ADMA2)
+#if notyet
+ if (sc->sc_use_adma2) {
bus_space_write_4(sc->sc_bst, sc->sc_bsh, MMCHS_CON,
bus_space_read_4(sc->sc_bst, sc->sc_bsh, MMCHS_CON) |
CON_MNS);
+ }
+#endif
}
static int
diff --git a/sys/dev/acpi/sdhc_acpi.c b/sys/dev/acpi/sdhc_acpi.c
index f1dee7176f2..693ca83a8c2 100644
--- a/sys/dev/acpi/sdhc_acpi.c
+++ b/sys/dev/acpi/sdhc_acpi.c
@@ -1,4 +1,4 @@
-/* $NetBSD: sdhc_acpi.c,v 1.19 2022/01/15 18:02:33 jmcneill Exp $ */
+/* $NetBSD: sdhc_acpi.c,v 1.20 2022/02/06 15:52:20 jmcneill Exp $ */
/*
* Copyright (c) 2016 Kimihiro Nonaka <nonaka@NetBSD.org>
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sdhc_acpi.c,v 1.19 2022/01/15 18:02:33 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sdhc_acpi.c,v 1.20 2022/02/06 15:52:20 jmcneill Exp $");
#include <sys/param.h>
#include <sys/device.h>
@@ -108,7 +108,6 @@ static const struct sdhc_acpi_slot {
{ .hid = "RKCP0D40", .type = SLOT_TYPE_SD,
.flags = SDHC_FLAG_32BIT_ACCESS |
SDHC_FLAG_8BIT_MODE |
- SDHC_FLAG_USE_ADMA2 |
SDHC_FLAG_SINGLE_POWER_WRITE },
/* Generic IDs last */
diff --git a/sys/dev/fdt/arasan_sdhc_fdt.c b/sys/dev/fdt/arasan_sdhc_fdt.c
index 200971676d6..63cb3e629c3 100644
--- a/sys/dev/fdt/arasan_sdhc_fdt.c
+++ b/sys/dev/fdt/arasan_sdhc_fdt.c
@@ -1,4 +1,4 @@
-/* $NetBSD: arasan_sdhc_fdt.c,v 1.8 2022/01/23 08:01:33 skrll Exp $ */
+/* $NetBSD: arasan_sdhc_fdt.c,v 1.9 2022/02/06 15:52:20 jmcneill Exp $ */
/*-
* Copyright (c) 2019 Jared McNeill <jmcneill@invisible.ca>
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: arasan_sdhc_fdt.c,v 1.8 2022/01/23 08:01:33 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: arasan_sdhc_fdt.c,v 1.9 2022/02/06 15:52:20 jmcneill Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -288,7 +288,6 @@ arasan_sdhc_attach(device_t parent, device_t self, void *aux)
SDHC_FLAG_SINGLE_POWER_WRITE |
SDHC_FLAG_32BIT_ACCESS |
SDHC_FLAG_USE_DMA |
- SDHC_FLAG_USE_ADMA2 |
SDHC_FLAG_STOP_WITH_TC;
if (bus_width == 8)
sc->sc_base.sc_flags |= SDHC_FLAG_8BIT_MODE;
diff --git a/sys/dev/sdmmc/sdhc.c b/sys/dev/sdmmc/sdhc.c
index 3ab18e7ac9c..bb98bb414aa 100644
--- a/sys/dev/sdmmc/sdhc.c
+++ b/sys/dev/sdmmc/sdhc.c
@@ -1,4 +1,4 @@
-/* $NetBSD: sdhc.c,v 1.114 2022/01/17 20:10:37 mrg Exp $ */
+/* $NetBSD: sdhc.c,v 1.115 2022/02/06 15:52:20 jmcneill Exp $ */
/* $OpenBSD: sdhc.c,v 1.25 2009/01/13 19:44:20 grange Exp $ */
/*
@@ -23,7 +23,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sdhc.c,v 1.114 2022/01/17 20:10:37 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sdhc.c,v 1.115 2022/02/06 15:52:20 jmcneill Exp $");
#ifdef _KERNEL_OPT
#include "opt_sdmmc.h"
@@ -415,8 +415,7 @@ sdhc_host_found(struct sdhc_softc *sc, bus_space_tag_t iot,
ISSET(caps, SDHC_DMA_SUPPORT)))) {
SET(hp->flags, SHF_USE_DMA);
- if (ISSET(sc->sc_flags, SDHC_FLAG_USE_ADMA2) &&
- ISSET(caps, SDHC_ADMA2_SUPP)) {
+ if (ISSET(caps, SDHC_ADMA2_SUPP)) {
SET(hp->flags, SHF_MODE_DMAEN);
/*
* 64-bit mode was present in the 2.00 spec, removed
diff --git a/sys/dev/sdmmc/sdhcvar.h b/sys/dev/sdmmc/sdhcvar.h
index 124e8ed573e..9f812f65f9f 100644
--- a/sys/dev/sdmmc/sdhcvar.h
+++ b/sys/dev/sdmmc/sdhcvar.h
@@ -1,4 +1,4 @@
-/* $NetBSD: sdhcvar.h,v 1.31 2019/10/23 05:20:52 hkenken Exp $ */
+/* $NetBSD: sdhcvar.h,v 1.32 2022/02/06 15:52:20 jmcneill Exp $ */
/* $OpenBSD: sdhcvar.h,v 1.3 2007/09/06 08:01:01 jsg Exp $ */
/*
@@ -55,18 +55,17 @@ struct sdhc_softc {
#define SDHC_FLAG_NO_CLKBASE 0x00020000 /* ignore clkbase register */
#define SDHC_FLAG_SINGLE_POWER_WRITE 0x00040000
#define SDHC_FLAG_NO_TIMEOUT 0x00080000 /* ignore timeout interrupts */
-#define SDHC_FLAG_USE_ADMA2 0x00100000
-#define SDHC_FLAG_POLL_CARD_DET 0x00200000 /* polling card detect */
-#define SDHC_FLAG_SLOW_SDR50 0x00400000 /* reduce SDR50 speed */
-#define SDHC_FLAG_USDHC 0x00800000 /* Freescale uSDHC */
-#define SDHC_FLAG_NO_AUTO_STOP 0x01000000 /* No auto CMD12 */
-#define SDHC_FLAG_NO_BUSY_INTR 0x02000000 /* No intr when RESP_BUSY */
-#define SDHC_FLAG_STOP_WITH_TC 0x04000000 /* CMD12 can set xfer complete w/o SCF_RSP_BSY */
-#define SDHC_FLAG_BROKEN_ADMA2_ZEROLEN 0x08000000 /*
+#define SDHC_FLAG_POLL_CARD_DET 0x00100000 /* polling card detect */
+#define SDHC_FLAG_SLOW_SDR50 0x00200000 /* reduce SDR50 speed */
+#define SDHC_FLAG_USDHC 0x00400000 /* Freescale uSDHC */
+#define SDHC_FLAG_NO_AUTO_STOP 0x00800000 /* No auto CMD12 */
+#define SDHC_FLAG_NO_BUSY_INTR 0x01000000 /* No intr when RESP_BUSY */
+#define SDHC_FLAG_STOP_WITH_TC 0x02000000 /* CMD12 can set xfer complete w/o SCF_RSP_BSY */
+#define SDHC_FLAG_BROKEN_ADMA2_ZEROLEN 0x04000000 /*
* Broken ADMA2 zero length descriptor
* Can't 64K Byte data transfer
*/
-#define SDHC_FLAG_NO_1_8_V 0x10000000 /* No 1.8V supply */
+#define SDHC_FLAG_NO_1_8_V 0x08000000 /* No 1.8V supply */
uint32_t sc_clkbase;
int sc_clkmsk; /* Mask for SDCLK */