cancel
Showing results for 
Search instead for 
Did you mean: 

How do I enable IDE DMA ?

 
Don  Capps
Advisor

How do I enable IDE DMA ?

Have ML110, Linux 2.4.20, Disk=Maxtor 80 Gbyte IDE, hdparm -t reports 5 Mbytes/sec (CRUD !)
hdparm -d1 fails with error. enable_dma=0
hdparm -X udma3/4/5 all fail with errors.
hdparm -X udma0/1/2 all work but enable_dma=0 and perf still 5 Mbytes/sec.
Suggestions please :-)
10 REPLIES 10
Chris Xu
Trusted Contributor

Re: How do I enable IDE DMA ?

Try this:

# cd /proc/ide/hda/
# cat settings | grep using_dma

if you get 0 in first column, it means disabled and then try this:
# echo "using_dma:1" > /proc/ide/hda/settings

Don  Capps
Advisor

Re: How do I enable IDE DMA ?

Tried your suggestion.. No effect. Grep still says its off, and hdparm -d /dev/hda also indicates that it is still off.

Any other ideas ?
Chris Xu
Trusted Contributor

Re: How do I enable IDE DMA ?

You probably need to upgrade your kernel to at lease 2.4.21. Here is a link to a posting related to dma - https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=103923

Not exactly same problem as yours, but enough indications for an upgrade in need. I have systems with 2.4.21 and I can easily turn dma on or off.


Don  Capps
Advisor

Re: How do I enable IDE DMA ?

That's cool, but it no effect. The reason that has no effect is because the patch is to lines inside of an #ifdef that in my case is not true.

#CONFIG_IDEDMA_ONLYDISK is not set

Also noteworthy, is that I have other systems with the same kernel and DMA works fine. It's something about the Proliant ML110 that is disabling the DMA.

Next idea ?
Don  Capps
Advisor

Re: How do I enable IDE DMA ?

Perhaps more details will help. It looks like the Proliant ML110 has an IDE device that is not well understood by 2.4.20 ? Is this whats disabling DMA ? If so, any suggestions ?

The output from lspci -v

00:1f.1 IDE interface: Intel Corp.: Unknown device 25a2 (rev 02) (prog-if 8a [Ma
ster SecP PriP])
Subsystem: Hewlett-Packard Company: Unknown device 0000
Flags: bus master, medium devsel, latency 0
I/O ports at
I/O ports at
I/O ports at
I/O ports at
I/O ports at 1460 [size=16]
Memory at 10000000 (32-bit, non-prefetchable) [disabled] [size=1K]
xyko_1
Esteemed Contributor

Re: How do I enable IDE DMA ?

Hi Don,

Is it possible that dma is disabled on bios ?

regards,
Xyko
Don  Capps
Advisor

Re: How do I enable IDE DMA ?

I believe that it has something to do with the fact that the the IDE device is an Intel Corp 0x25a2 device and that it is not listed in linux/drivers/pci/devlist.h So... the kernel doesn't know what capabilities this IDE chipset has, so it's unable to turn on DMA. Any chance there is a patch to 2.4 that addes on the newer Intel IDE chipsets ?
Chris Xu
Trusted Contributor

Re: How do I enable IDE DMA ?

I think you are on the right track. BTW, did you take a look at /usr/src/linux-2.4/Documentation/ide.txt?
Don  Capps
Advisor

Re: How do I enable IDE DMA ?

I think I'm getting closer...
It appears that it may be possible to patch the 2.4 kernel with some code from Intel and then get the DMA working.
To be kind, here is the link:
http://downloadfinder.intel.com/scripts-df/Detail_Desc.asp?agr=Y&ProductID=1706&DwnldID=7741