Module Name: src Committed By: matt Date: Mon Jul 23 13:32:19 UTC 2012
Modified Files: src/sys/dev/sdmmc: sdhc.c sdmmc_mem.c sdmmcreg.h Log Message: Responses are actually in host order (except SCR which is return in big endian so that's convert to host order). To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/sys/dev/sdmmc/sdhc.c cvs rdiff -u -r1.21 -r1.22 src/sys/dev/sdmmc/sdmmc_mem.c cvs rdiff -u -r1.10 -r1.11 src/sys/dev/sdmmc/sdmmcreg.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.24 src/sys/dev/sdmmc/sdhc.c:1.25 --- src/sys/dev/sdmmc/sdhc.c:1.24 Sat Jul 21 16:14:05 2012 +++ src/sys/dev/sdmmc/sdhc.c Mon Jul 23 13:32:19 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: sdhc.c,v 1.24 2012/07/21 16:14:05 skrll Exp $ */ +/* $NetBSD: sdhc.c,v 1.25 2012/07/23 13:32:19 matt 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.24 2012/07/21 16:14:05 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sdhc.c,v 1.25 2012/07/23 13:32:19 matt Exp $"); #ifdef _KERNEL_OPT #include "opt_sdmmc.h" @@ -1024,7 +1024,7 @@ sdhc_exec_command(sdmmc_chipset_handle_t } } mutex_exit(&hp->host_mtx); - DPRINTF(1,("%s: resp = %08x\n", HDEVNAME(hp), be32toh(cmd->c_resp[0]))); + DPRINTF(1,("%s: resp = %08x\n", HDEVNAME(hp), cmd->c_resp[0])); /* * If the command has data to transfer in any direction, Index: src/sys/dev/sdmmc/sdmmc_mem.c diff -u src/sys/dev/sdmmc/sdmmc_mem.c:1.21 src/sys/dev/sdmmc/sdmmc_mem.c:1.22 --- src/sys/dev/sdmmc/sdmmc_mem.c:1.21 Fri Jul 20 02:04:13 2012 +++ src/sys/dev/sdmmc/sdmmc_mem.c Mon Jul 23 13:32:19 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: sdmmc_mem.c,v 1.21 2012/07/20 02:04:13 matt Exp $ */ +/* $NetBSD: sdmmc_mem.c,v 1.22 2012/07/23 13:32:19 matt Exp $ */ /* $OpenBSD: sdmmc_mem.c,v 1.10 2009/01/09 10:55:22 jsg Exp $ */ /* @@ -45,7 +45,7 @@ /* Routines for SD/MMC memory cards. */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: sdmmc_mem.c,v 1.21 2012/07/20 02:04:13 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sdmmc_mem.c,v 1.22 2012/07/23 13:32:19 matt Exp $"); #ifdef _KERNEL_OPT #include "opt_sdmmc.h" @@ -934,8 +934,6 @@ sdmmc_mem_decode_scr(struct sdmmc_softc resp[1] = be32toh(sf->raw_scr[0]); // MSW resp[0] |= (resp[1] & 0xff) << 24; resp[1] >>= 8; - resp[0] = htobe32(resp[0]); - resp[1] = htobe32(resp[1]); ver = SCR_STRUCTURE(resp); sf->scr.sd_spec = SCR_SD_SPEC(resp); Index: src/sys/dev/sdmmc/sdmmcreg.h diff -u src/sys/dev/sdmmc/sdmmcreg.h:1.10 src/sys/dev/sdmmc/sdmmcreg.h:1.11 --- src/sys/dev/sdmmc/sdmmcreg.h:1.10 Fri Jul 20 02:04:13 2012 +++ src/sys/dev/sdmmc/sdmmcreg.h Mon Jul 23 13:32:19 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: sdmmcreg.h,v 1.10 2012/07/20 02:04:13 matt Exp $ */ +/* $NetBSD: sdmmcreg.h,v 1.11 2012/07/23 13:32:19 matt Exp $ */ /* $OpenBSD: sdmmcreg.h,v 1.4 2009/01/09 10:55:22 jsg Exp $ */ /* @@ -331,10 +331,10 @@ __bitfield(const uint32_t *src, size_t s src += start / 32; start %= 32; - uint32_t dst = be32toh(src[0]) >> start; + uint32_t dst = src[0] >> start; if (__predict_false((start + len - 1) / 32 != start / 32)) { - dst |= be32toh(src[1]) << (32 - start); + dst |= src[1] << (32 - start); } return dst & (__BIT(len) - 1);