Marcelo Magno T. Sales wrote:
Hi,
I have several IBM desktops and some notebooks in which the IDE interface is a
SATA controller, most of them Intel. Here's lspci output:
-------------
[marcelo.sales@sf002698 ~]$ /sbin/lspci | grep IDE
00:1f.2 IDE interface: Intel Corporation 82801FB/FW (ICH6/ICH6W) SATA
Controller (rev 03)
-------------
On these machines, I can't enable DMA on IDE devices. hdparm shows:
-------------
[marcelo.sales@sf002698 ~]$ /sbin/hdparm /dev/hdc
/dev/hdc:
IO_support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 0 (off)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
HDIO_GETGEO failed: Inappropriate ioctl for device
-------------
When I try to enable DMA, I get:
-------------
[marcelo.sales@sf002698 ~]$ su -c '/sbin/hdparm -d1 /dev/hdc'
/dev/hdc:
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Operation not permitted
using_dma = 0 (off)
-------------
I thought this was caused by lack of kernel support for the SATA controller,
but I've compiled the FC kernel and the vanilla kernel several times, with
different settings, and have got no luck on this. libata is built and loaded,
as shown by lsmod:
[marcelo.sales@sf002698 ~]$ /sbin/lsmod | grep libata
libata 58065 1 ata_piix
scsi_mod 129001 3 sg,libata,sd_mod
What needs to be done to enable DMA support? I'm using kernel
2.6.16-1.2122_FC5smp.
Thanks,
Marcelo
Hdparm can NOT control DMA setting for SATA drives. What I have done
is to add "hdc=noprobe" to the Grub boot line for the kernel. hdc is
then treated as a SCSI device, and it uses the BIOS DMA settings.
Hdparm will still say that DMA is not turned on for the drive, but
DMA will be used. (It also says that DMA is off for /dev/sda.)
This was covered in another thread here not that log ago. There is
still work to be done so that hdparm will correctly report things
for SATA devices...
Mikkel
--
Do not meddle in the affairs of dragons,
for thou art crunchy and taste good with Ketchup!