[mythtv-users] Enable DMA

Jonathan Rogers jonner at teegra.net
Fri Mar 23 12:26:23 UTC 2007

John Drescher wrote:
> On 3/23/07, Mitch Gore <mitchell.gore at gmail.com> wrote:
>> if i do that i get this...
>> [root at Mitchell_mc myth]# /sbin/hdparm -d1 /dev/sda
>> /dev/sda:
>>  setting using_dma to 1 (on)
>>  HDIO_SET_DMA failed: Inappropriate ioctl for device
> In most cases DMA is already on for sata devices and you can not
> enable it via the hdparm program.
Yes, I believe the reason for the error is that the ioctl to set DMA 
mode on an SATA isn't implemented because it doesn't need to be. Any 
proper driver for an SATA interface handles DMA mode internally (if it 
needs to be handled at all), since DMA is a required part of the SATA 
standard. Of course, some SATA interfaces present themselves as legacy 
ATA interaces, so I don't know what would happen if you used Linux's 
traditional ATA driver for one of those. You would know that this was 
the case if the drive was called hd?, but yours is sda, so it's not.

I haven't needed to do anything related to DMA with VIA SATA interfaces 
and sata-via. One way to tell if a drive is not using DMA is to watch 
the CPU load with top or something while using the disk heavily, such as 
copying a large file. If there is high system or user CPU load and the 
system feels sluggish, DMA mode may not be set.

Jonathan Rogers

More information about the mythtv-users mailing list