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

Alexander Motin <[email protected]>
Newsgroups gmane.os.freebsd.current,gmane.os.freebsd.devel.arm,gmane.os.freebsd.devel.mobile
Message-ID <[email protected]>
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.

-- 
Alexander Motin
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.