Module Name: src Committed By: skrll Date: Sat Jul 21 16:14:05 UTC 2012
Modified Files: src/sys/dev/sdmmc: sdhc.c sdhcvar.h Log Message: Provide a method for attachments to specify capabilites. To generate a diff of this commit: cvs rdiff -u -r1.23 -r1.24 src/sys/dev/sdmmc/sdhc.c cvs rdiff -u -r1.7 -r1.8 src/sys/dev/sdmmc/sdhcvar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/sdmmc/sdhc.c diff -u src/sys/dev/sdmmc/sdhc.c:1.23 src/sys/dev/sdmmc/sdhc.c:1.24 --- src/sys/dev/sdmmc/sdhc.c:1.23 Fri Jul 20 02:04:13 2012 +++ src/sys/dev/sdmmc/sdhc.c Sat Jul 21 16:14:05 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: sdhc.c,v 1.23 2012/07/20 02:04:13 matt Exp $ */ +/* $NetBSD: sdhc.c,v 1.24 2012/07/21 16:14:05 skrll 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.23 2012/07/20 02:04:13 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sdhc.c,v 1.24 2012/07/21 16:14:05 skrll Exp $"); #ifdef _KERNEL_OPT #include "opt_sdmmc.h" @@ -292,9 +292,13 @@ sdhc_host_found(struct sdhc_softc *sc, b (void)sdhc_host_reset(hp); /* Determine host capabilities. */ - mutex_enter(&hp->host_mtx); - caps = HREAD4(hp, SDHC_CAPABILITIES); - mutex_exit(&hp->host_mtx); + if (ISSET(sc->sc_flags, SDHC_FLAG_HOSTCAPS)) { + caps = sc->sc_caps; + } else { + mutex_enter(&hp->host_mtx); + caps = HREAD4(hp, SDHC_CAPABILITIES); + mutex_exit(&hp->host_mtx); + } /* Use DMA if the host system and the controller support it. */ if (ISSET(sc->sc_flags, SDHC_FLAG_FORCE_DMA) Index: src/sys/dev/sdmmc/sdhcvar.h diff -u src/sys/dev/sdmmc/sdhcvar.h:1.7 src/sys/dev/sdmmc/sdhcvar.h:1.8 --- src/sys/dev/sdmmc/sdhcvar.h:1.7 Thu Jul 12 03:05:49 2012 +++ src/sys/dev/sdmmc/sdhcvar.h Sat Jul 21 16:14:05 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: sdhcvar.h,v 1.7 2012/07/12 03:05:49 matt Exp $ */ +/* $NetBSD: sdhcvar.h,v 1.8 2012/07/21 16:14:05 skrll Exp $ */ /* $OpenBSD: sdhcvar.h,v 1.3 2007/09/06 08:01:01 jsg Exp $ */ /* @@ -44,7 +44,10 @@ struct sdhc_softc { #define SDHC_FLAG_8BIT_MODE 0x0040 /* MMC 8bit mode is supported */ #define SDHC_FLAG_HAVE_CGM 0x0080 /* Netlogic XLP */ #define SDHC_FLAG_NO_LED_ON 0x0100 /* LED_ON unsupported in HOST_CTL */ +#define SDHC_FLAG_HOSTCAPS 0x0200 /* No device provided capabilities */ + uint32_t sc_clkbase; + uint32_t sc_caps;/* attachment provided capabilities */ }; /* Host controller functions called by the attachment driver. */