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

Reply via email to