Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Mar 2011 00:10:08 GMT
From:      Bernd Walter <ticso@cicely7.cicely.de>
To:        freebsd-arm@FreeBSD.org
Subject:   Re: arm/155214: [patch] MMC/SD IO slow on Atmel ARM with modern large SD cards
Message-ID:  <201103030010.p230A89l093346@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR arm/155214; it has been noted by GNATS.

From: Bernd Walter <ticso@cicely7.cicely.de>
To: Ian Lepore <freebsd@damnhippie.dyndns.org>
Cc: FreeBSD-gnats-submit@freebsd.org
Subject: Re: arm/155214: [patch] MMC/SD IO slow on Atmel ARM with modern large SD cards
Date: Thu, 3 Mar 2011 00:52:51 +0100

 On Wed, Mar 02, 2011 at 02:53:18PM -0700, Ian Lepore wrote:
 > 
 > >Number:         155214
 > >Category:       arm
 > >Synopsis:       [patch] MMC/SD IO slow on Atmel ARM with modern large SD cards
 > >Confidential:   no
 > >Severity:       serious
 > >Priority:       medium
 > >Responsible:    freebsd-arm
 > >State:          open
 > >Quarter:        
 > >Keywords:       
 > >Date-Required:
 > >Class:          sw-bug
 > >Submitter-Id:   current-users
 > >Arrival-Date:   Wed Mar 02 22:10:10 UTC 2011
 > >Closed-Date:
 > >Last-Modified:
 > >Originator:     Ian Lepore <freebsd@damnhippie.dyndns.org>
 > >Release:        FreeBSD 8.2-RC3 arm
 > >Organization:
 > none
 > >Environment:
 > FreeBSD dvb 8.2-RC3 FreeBSD 8.2-RC3 #49: Tue Feb 15 22:52:14 UTC 2011     root@revolution.hippie.lan:/usr/obj/arm/usr/src/sys/DVB  arm
 > 
 > Included patch is against -current even though the problem was first seen on
 > 8.2-RC3
 > 
 > The problem was seen on AT91RM9200 hardware, but presumably also affects the
 > SAM9 series which uses the same driver code.
 > 
 > >Description:
 > With the latest generation of large-capacity SD cards, write speeds as low as
 > 20 kbytes/sec are seen.  These modern cards have erase-block sizes as large as 
 > 8192K (compared to 32K typical on previous generations).  The at91_mci driver 
 > does only single-sector IO; apparently this requires the SD card to internally 
 > perform an expensive read-erase-modify-write cycle for each 512 byte block 
 > written to the card.
 
 The complete details of this problem are completely known.
 However the RM9200 has many hardware problems to be worked around and
 so far noone actually did.
 Your patch is quite large, so I would like to ask you explicitly:
 Did you test your patch with an AT91RM9200 system?
 You did enable multisector support for reading and (more important) for
 writing?
 But you didn't activate 4bit mode?
 With 4bit mode there is no hardware bug, but when the driver was written
 is was just done in a lazy way because activating 4bit on SD cards require
 special handling - in the meantime the SD layer itself was extracted and
 has 4bit support, but the at91_mci driver was never updated to use that.
 
 PS: I'm very pleased to see your work since SD write speed was a
 major show stopper for some applications
 
 -- 
 B.Walter <bernd@bwct.de> http://www.bwct.de
 Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201103030010.p230A89l093346>