Hi Wesley, On Fri, Jan 07, 2011 at 02:00:05, Wesley J. Landaker wrote: > Hi folks, > > I'm working with some folks with LogicPD's OMAPL-138 board, but we're > having a > lot of trouble with SATA functionality and performance. > > I realize that SATA support is really only "officially" in the TI linux tree, > but I'm hoping to get some feedback from the community about the problems I'm > seeing. If this is truly the wrong place to ask, I would appreciate a > reference > to where to ask instead.
The embedded software forum on e2e.ti.com is another place to ask questions on TI software. http://e2e.ti.com/support/embedded/f/354.aspx > > For the impatient, let me start with several questions, with details > following. > > To users or developers: > > * Is anyone successfully using SATA with any OMAPL-138 board? > * If so, what kind of sustained write performance[1] are you seeing? > * What kernel version/flavor are you using? > * What board are you using? > > * Is anyone successfully using SATA on a LogicPD OMAPL-138 board? > * If so, what board rev and OMAP SOM rev? I just tested SATA with an OMAP-L138 board. The base board is 1016660 Rev A board with a 1016841 Rev B SoM. With a Foxconn E124936 SATA cable connected to WD5001AALS 500 GB hard drive I used TI PSP release 03.20.00.14 for this test. Performance data on SATA is available here: http://processors.wiki.ti.com/index.php/DaVinci_PSP_03.20.00.14_Device_Driver_Features_and_Performance_Guide#SATA > > * Are there any tricks or gotchas in using SATA with the OMAPL-138 that > I should watch out for? I believe some older LogicPD EVMs had some issues with SATA. These have been addressed in newer versions. The board I used is a new board. You can get details of the fixes made from Logic or you can also contact TI's OMAP-L138 hardware support here: http://e2e.ti.com/support/dsp/omap_applications_processors/f/42.aspx > > To primarily developers: > > * Are there any known issues with SATA support or performance? > * I understand there are two "paths" to SATA support: the TI SATA patchset, > and the newer generic "platform AHCI" patches. Can anyone shed some light > on the state of these? The platform AHCI patches have not been tested on OMAP-L138 AFAIK. I have started poking around to see if I can get platform AHCI working on OMAP-L138 quickly, but I cant give you an ETA at the moment. > > Now, here are some more details about my actual situation: > > First of all, I got SATA to work with the 2.6.31-rc7-davinci1 kernel from TI, > but there were two main issues. First, SATA would only work with one of three > types of drives I tried (details below). Second, I can only get -- in the > very > best case, after tweaking kernel IO schedulers, trying different filesystems > vs. raw device access, etc -- is around 25 MB/s sustained write performance. > This seems like a common performance number I've seen reported by various > people, but it's incredibly slow compared to what SATA should be capable > of. We > need more like 50 MB/s or more, which is still quite conservative from a SATA > perspective. Hmm, no idea about this one. This seems in line with what is reported in datasheets. I assume you are using 456MHz version of the device. > > Next, under recent TI kernel releases, I can't get any of the three types of > SATA drives to work (error details below). I've tried many DaVinci-PSP-SDK > releases (listed below), with port multiplier support on or off, etc. The > usual > symbols are either 1) SATA will fail during drive detection, give up, and > refuse to work at all, or 2) the drives will be detected and mapped to block > devices which can be used, but any access results in endless streams of error > messages. > > The types of drives I have tried using are as follows. I have tested at least > 3 of each of these drives to ensure that it's not just a drive problem, and > each drive has been validated to work with a PC via a USB<->SATA adaptor. > > * COTS Super Talent SATA 1.8" 64 GB Flash Drive > * OEM Apacer SATA 64 GB Flash SSD, AP-SAFD18DPA064GS-EM > * Various non-Flash traditional platter-based HD SATA drives > > Each of the above was tested with at least 3 LogicPD base boards with at > least > 3 LogicPD OMAPL-138 SOMs, all with the same results. > > In my first experimentation, I was only able to get the OEM Apacer drive to > work with the TI 2.6.31-rc7-davinci1 kernel after enabling SATA in the kernel > configuration. With all other kernels I have never been able to get any drive > to work, although different kernels fail in different ways with different > drives. > > I have tried the following TI Davinci-PSP-SDK releases, none of which I have > been able to get to work correctly with SATA: > > * 03.20.00.06 -- SATA doesn't work at all > * 03.20.00.08 -- SATA fails immediately, no block devices allocated. > * 03.20.00.11 -- SATA starts to work, assigns block devices, then fails. > * 03.20.00.12 -- same as above > * 03.20.00.13 -- ditto > * 03.20.00.14 -- ditto > > Each of these fails in slightly different ways. I can post the actual and > complete error messages, but mostly the behavior is along these lines: > > When it fails initially and doesn't allocate block devices, I get this > during boot. It takes a minute or two to get through it, then it fails and > everything works fine, except SATA: > > ata1: link is slow to respond, please be patient (ready=0) > ata1: COMRESET failed (errno=-16) > ... (repeats of the above) ... > ata1: limiting SATA link speed to 1.5 Gbps > ata1: COMRESET failed (errno=-16) > ata1: reset failed, giving up > > When it "works" initially, and assigns usable block devices, but reports > lots of errors (and slows to a crawl) when access is attempted, I get > messages > like this. But, for example, the actual contents of the SError messages > change > depending on what kernel version I'm using, and sometimes I get different > errors instead, like a lot of "soft link reset" and "timeout" messages, etc. > > ahci ahci: version 3.0 > ahci ahci: forcing PORTS_IMPL to 0x1 > ahci ahci: AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl SATA mode > ahci ahci: flags: ncq sntf pm led clo only pmp pio slum part ccc > scsi0 : ahci > ata1: SATA max UDMA/133 irq 67 > ... > ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300) > ata1.00: ATA-7: 64GB SATA Flash Drive, SFDB103E, max UDMA/133 > ata1.00: 126189568 sectors, multi 1: LBA48 > ata1.00: configured for UDMA/133 > scsi 0:0:0:0: Direct-Access ATA 64GB SATA Flash SFDB PQ: 0 > ANSI: 5 > sd 0:0:0:0: [sda] 126189568 512-byte logical blocks: (64.6 GB/60.1 GiB) > sd 0:0:0:0: Attached scsi generic sg0 type 0 > sd 0:0:0:0: [sda] Write Protect is off > sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00 > sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't > support DPO or FUA > sda: sda1 > sd 0:0:0:0: [sda] Attached SCSI disk > ... > ata1.00: exception Emask 0x12 SAct 0x0 SErr 0x1080500 action 0x6 frozen > ata1.00: irq_stat 0x08000000, interface fatal error > ata1: SError: { UnrecovData Proto 10B8B TrStaTrns } > ata1.00: failed command: READ DMA > ata1.00: cmd c8/00:20:f8:7e:85/00:00:00:00:00/e7 tag 0 dma 16384 in > res 50/00:00:f8:7f:85/00:00:00:00:00/e7 Emask 0x12 (ATA bus error) > ata1.00: status: { DRDY } > ata1: hard resetting link > ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300) > ata1.00: configured for UDMA/133 > Remounting root file system... > ata1: EH complete > Caching udev devnodes > Populating dev cache > ata1.00: exception Emask 0x12 SAct 0x0 SErr 0x1080500 action 0x6 frozen > ata1.00: irq_stat 0x08000000, interface fatal error > ata1: SError: { UnrecovData Proto 10B8B TrStaTrns } > ata1.00: failed command: READ DMA > ata1.00: cmd c8/00:10:00:02:00/00:00:00:00:00/e0 tag 0 dma 8192 in > res 50/00:00:10:02:00/00:00:00:00:00/e0 Emask 0x12 (ATA bus error) > ata1.00: status: { DRDY } > ata1: hard resetting link > ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300) > ata1.00: configured for UDMA/133 > ata1: EH complete > NET: Registered protocol family 10 > logger: mount: mount point /proc/bus/usb does not exist > ata1.00: exception Emask 0x12 SAct 0x0 SErr 0x1080500 action 0x6 frozen > ata1.00: irq_stat 0x08000000, interface fatal error > ata1: SError: { UnrecovData Proto 10B8B TrStaTrns } > ata1.00: failed command: READ DMA > ata1.00: cmd c8/00:40:68:00:00/00:00:00:00:00/e0 tag 0 dma 32768 in > res 50/00:00:00:00:00/00:00:00:00:00/e0 Emask 0x12 (ATA bus error) > ata1.00: status: { DRDY } > ata1: hard resetting link > ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300) > ata1.00: configured for UDMA/133 > ata1: EH complete > ALSA: Restoring mixer settings... > NOT configuring network interfaces: / is an NFS mount > ata1: limiting SATA link speed to 1.5 Gbps > ata1.00: exception Emask 0x12 SAct 0x0 SErr 0x1a00500 action 0x6 frozen > ata1.00: irq_stat 0x08000000, interface fatal error > ata1: SError: { UnrecovData Proto BadCRC LinkSeq TrStaTrns } > ata1.00: failed command: READ DMA > ata1.00: cmd c8/00:40:68:00:00/00:00:00:00:00/e0 tag 0 dma 32768 in > res 50/00:46:00:00:00/00:00:00:00:00/a0 Emask 0x12 (ATA bus error) > ata1.00: status: { DRDY } > ata1: hard resetting link > Thu Oct 14 21:40:00 UTC 2010 > INIT: Entering runlevel: 5 > ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310) > ata1.00: configured for UDMA/133 > ata1: EH complete > Starting system message bus: dbus. > Starting telnet daemon. > Starting syslogd/klogd: done > Starting thttpd. > FAT: invalid media value (0x5c) > VFS: Can't find a valid FAT filesystem on dev sda. > FAT: bogus number of reserved sectors > VFS: Can't find a valid FAT filesystem on dev sda1. > > After getting the above errors, the drive "sort of" works. If it has data on > it, I can mount it and, for example, "cat hello.txt" and get the right > data. I > can run cfdisk and change partitions around without getting any more errors. > But if I do something like "mkfs.ext2 /dev/sda1", I'll get more errors > similar > to the above. > > Of course, I can still go back to the one kernel that did work, the TI > 2.6.31-rc7-davinci1, and it works ... as long as I use the OEM Apacer drive > and only want 25 MB/s sustained write throughput. > > Any ideas, thoughts or suggestions? I would suggest getting a recent LogicPD EVM if you are trying SATA. Also, I think the SATA cable has a role to play in getting a stable connection. Thanks, Sekhar > > Am I doing something totally wrong? > > Thanks for any input you may have! > > _______________________________________________ > Davinci-linux-open-source mailing list > [email protected] > http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source > _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
