From owner-freebsd-arm@FreeBSD.ORG Sun Sep 28 09:30:45 2008 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A9AC2106568B; Sun, 28 Sep 2008 09:30:45 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 668798FC15; Sun, 28 Sep 2008 09:30:45 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.2/8.14.1) with ESMTP id m8S9ScMs062292; Sun, 28 Sep 2008 03:28:38 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Sun, 28 Sep 2008 03:29:29 -0600 (MDT) Message-Id: <20080928.032929.-1264103837.imp@bsdimp.com> To: mav@freebsd.org From: "M. Warner Losh" In-Reply-To: <48DEA8E7.2080503@FreeBSD.org> References: <48DEA8E7.2080503@FreeBSD.org> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: freebsd-arm@freebsd.org, freebsd-current@freebsd.org, freebsd-mobile@freebsd.org Subject: Re: RFC: PCI SD host controller driver & mmc/mmcsd modules improvements X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Sep 2008 09:30:45 -0000 In message: <48DEA8E7.2080503@FreeBSD.org> Alexander Motin writes: : 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. I'll take a look at the driver and post a code review... Warner