Module Name: src Committed By: jdc Date: Wed Aug 8 06:19:00 UTC 2012
Modified Files: src/sys/dev/sdmmc [netbsd-6]: sdhc.c sdhcreg.h sdmmc_mem.c sdmmcreg.h Log Message: Pull up revisions: src/sys/dev/sdmmc/sdhc.c revisions 1.16,1.20,1.21,1.22,1.23 via patch,1.25 src/sys/dev/sdmmc/sdhcreg.h revision 1.8 src/sys/dev/sdmmc/sdmmc_mem.c revisions 1.21,1.22 src/sys/dev/sdmmc/sdmmcreg.h revisions 1.10,1.11,1.12 (requested by matt in ticket 441). SDHCI byte swaps the BE response on the wire into LE registers. As we always want response data in LE, use bus_space_read_stream. Additonally, read response data in 1 or 4 4-byte chunks, instead of one 4-byte chunk or 15 1-byte chunks. bus_space_*_stream_N() functions are not universally available. Provite alternate implementation for when they are unavailable. Handle interrupt acknowledgement in the SDHC_FLAG_32BIT_ACCESS case in the same way as non-SDHC_FLAG_32BIT_ACCESS case. If there was an error in 32-bit mode, just set ERROR_INTERRUPT otherwise see if matched anything we care about. Add use of watermark register when PIO to an ESDHC. After every kill or drain of watermask words, pause a bit to give time for the fifo to recover. Always the command response in BE byteorder. Rewrite __bitfield to deal with this. Responses are actually in host order (except SCR which is return in big endian so that's convert to host order). Fix comments about __bitfield. To generate a diff of this commit: cvs rdiff -u -r1.10.2.1 -r1.10.2.2 src/sys/dev/sdmmc/sdhc.c cvs rdiff -u -r1.5 -r1.5.2.1 src/sys/dev/sdmmc/sdhcreg.h cvs rdiff -u -r1.20 -r1.20.2.1 src/sys/dev/sdmmc/sdmmc_mem.c cvs rdiff -u -r1.8 -r1.8.2.1 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.