On Wednesday 25 February 2009, Kumar, Purushotam wrote: > I tried with both iowrite8_32_align_rep and directly > calling iowrite32_rep but none of these work properly > when I tested with SD card in PIO mode after removing > asm code.
Did you try just using iowrite8_rep()? If that doesn't work, there's something pretty strange going on. > It has failed to mount. In stead of using either > iowrite8_32_align_rep or iowrite32_rep, I wrote directly > to MMCDRR and MMCDXR in the PIO mode and it has worked properly. That's pretty much what iowrite32_rep() will do. (What's iowrite8_32_align_rep ??) The problem is that you're assuming the buffer being written is a multiple of 4 bytes. I'm fairly sure that's not guaranteed ... e.g. SDIO can write any number of bytes, and even some MMC/SD operations will do so. (I just checked ... providing a 16-byte password uses an 18-byte block; that's an example.) > I will submit this as patch in next 1-2 days. This also > assumes that it will work if access width is 4 bytes. > I feel there is no point in spending time for making > generic enough so that it will support all access width > in the PIO mode. Right, which is why I had suggested iowrite8_rep(), annd ioread8_rep(). - Dave _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
