RFC: PCI SD host controller driver & mmc/mmcsd modules improvements

Rui Paulo rpaulo at fnop.net
Sat Sep 27 22:59:13 UTC 2008

On 27 Sep 2008, at 22:43, Alexander Motin <mav at FreeBSD.org> wrote:

> Hi.
> I would like to present initial revision of my generic PCI SD Host  
> Controller driver (sdhci). It support PCI devices with class 8 and  
> subclass 5 according to SD Host Controller Specification. With some  
> limitations it successfully works on my Acer TM6292 notebook with  
> ENE CB714 card reader.
> Things that are working now:
> - PIO mode single and multiple block read and write,
> - 1 and 4 bits bus width support.
> In PIO mode with 4GB SD card on 30MHz 4bit bus I have reached about  
> 3.5MB/s (limited by CPU) linear read and 7MB/s (limited by card)  
> linear write. Small blocks read/write performance limited by card.
> Things that are not working yet:
> - DMA modes (code is written, but as my controller looks like has  
> broken DMA I have no ability to debug it),
> - card insert/remove detection (need more thinking), you should  
> reload mmc module to rescan cards,
> - SDHC and MMC cards (have no such cards now to debug that code),  
> only standard capacity SD Memory cards up to 4GB size are supported  
> now,
> - high speed (double rate) bus mode (need more thinking and DMA  
> support).
> Also to get such results I have improved existing mmc and mmcsd  
> drivers a bit. mmc driver got:
> - 4 bit bus width support,
> - write protection switch support,
> - cards with more then 2GB capacity support.
> mmcsd driver got:
> - multiple block read and write support,
> - cards with more then 2GB capacity support,
> - I/O error reporting,
> - write protection switch support.
> Latest patches against 8-CURRENT (should also fit 7-STABLE) may be  
> found at:
> http://people.freebsd.org/~mav/sdhci/
> I will be grateful for any feedbacks, comments and support.

Well, here's my support: Great work! :-)

Rui Paulo

More information about the freebsd-current mailing list