[mythtv-users] SATA and DMA (SIIG 3112)

leland sindt leland at sway.org
Fri Mar 31 17:53:34 UTC 2006


First off, if this is too far off topic, please let me know... (a 
suggestion as to where to take it would be helpful as well :) 

I have not been able to enable DMA for the SATA drive that I am using 
for MythTV recording storage. At the moment its preforming 'Ok' but when 
the drive gets busy (two NTSC and one HD recording at the same time) I 
tend to get some 'prebuffering pause' Add a commercial flag process to 
get mix and things get worse...

Given the information below, do you all have any suggestions?  The 
information returned by dmesg lead *me* to believe that DMA should be 
available/enabled.

Note: I tried the PCI latency trick, and its seems to have helped a 
little... (it was initially 32)

/sbin/setpci -v -s 00:0a.0 latency_timer=ff
lspci -v
<snip>
00:0a.0 Mass storage controller: Silicon Image, Inc. SiI 3112 
[SATALink/SATARaid] Serial ATA Controller (rev 02)
        Subsystem: Silicon Image, Inc. SiI 3112 SATALink Controller
        Flags: bus master, 66Mhz, medium devsel, latency 240, IRQ 11
        I/O ports at e300 [size=8]
        I/O ports at e400 [size=4]
        I/O ports at e500 [size=8]
        I/O ports at e600 [size=4]
        I/O ports at e700 [size=16]
        Memory at e4081000 (32-bit, non-prefetchable) [size=512]
        Expansion ROM at 20000000 [disabled] [size=512K]
        Capabilities: [60] Power Management version 2

I am using the following hardware.

SIIG 2-port internal Serial ATA II (eSATA) PCI controller (SC-SA0012-S1) 
using the 3112 chipset.
Hitachi 250 GB SATA drive (HDT722525DLA380)
(complete list -> http://www.mythtv.org/wiki/index.php/User:Ll )

Linux Kernel v2.6.15.6, with the following settings (specific to the 
SATA controller)

Device Drivers -> SCSI device support  -> SCSI low-level drivers  -> 
Silicon Image SATA support
"This option enables support for Silicon Image Serial ATA."
Device Drivers -> ATA/ATAPI/MFM/RLL support -> Silicon Image chipset support
"This driver adds PIO/(U)DMA support for the SI CMD680 and SII 3112 
(Serial ATA) chips."

dmesg:
<snip>
ata1: SATA max UDMA/100 cmd 0xD0802080 ctl 0xD080208A bmdma 0xD0802000 
irq 11
ata2: SATA max UDMA/100 cmd 0xD08020C0 ctl 0xD08020CA bmdma 0xD0802008 
irq 11
ata1: dev 0 cfg 49:2f00 82:346b 83:7fe9 84:4773 85:3469 86:3c01 87:4763 
88:207f
ata1: dev 0 ATA-7, max UDMA/133, 488397168 sectors: LBA48
ata1: dev 0 configured for UDMA/100
scsi0 : sata_sil
ata2: no device found (phy stat 00000000)
scsi1 : sata_sil
  Vendor: ATA       Model: HDT722525DLA380   Rev: V44O
  Type:   Direct-Access                      ANSI SCSI revision: 05
SCSI device sda: 488397168 512-byte hdwr sectors (250059 MB)
SCSI device sda: drive cache: write back
SCSI device sda: 488397168 512-byte hdwr sectors (250059 MB)
SCSI device sda: drive cache: write back
 sda: sda1
sd 0:0:0:0: Attached scsi disk sda
sd 0:0:0:0: Attached scsi generic sg0 type 0

hdparm /dev/sda
/dev/sda:
 IO_support   =  0 (default 16-bit)
 readonly     =  0 (off)
 readahead    = 256 (on)
 geometry     = 30401/255/63, sectors = 488397168, start = 0


 hdparm -d1 /dev/sda
/dev/sda:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Inappropriate ioctl for device



More information about the mythtv-users mailing list