<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000000">
<font size="+1"><tt>Hi CLUEbies,<br>
<br>
It is unusual for something like this to stump me but I just can't seem
to figure out how it is supposed to work.&nbsp; I have a Linux system with
the following IDE controller:<br>
<br>
[root] # lspci<br>
00:0b.0 Host bridge: SGS Thomson Microelectronics: Unknown device 020a<br>
00:0c.0 ISA bridge: SGS Thomson Microelectronics: Unknown device 0210<br>
00:0d.0 IDE interface: SGS Thomson Microelectronics: Unknown device 0228<br>
00:0e.0 USB Controller: SGS Thomson Microelectronics: Unknown device
0230<br>
00:1f.0 Ethernet controller: Intel Corporation 82557 [Ethernet Pro 100]
(rev 08)<br>
<br>
This is a STPC Atlas IDE from STMicroelectronics (formerly SGS Thomson
Microelectronics).&nbsp; It is PCI id 104a:0228.<br>
<br>
The Linux driver used for this apparently doesn't allow or support DMA,
I think.&nbsp; I really need to turn DMA on.&nbsp; Does anyone out there have any
ideas?&nbsp; It's a long shot.&nbsp; Putting ide0=dma on the kernel boot command
line doesn't work either.<br>
<br>
Here are the dmesg from an old Linux kernel running on this chipset:<br>
<br>
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4<br>
ide: Assuming 33MHz system bus speed for PIO modes; override with
idebus=xx<br>
hdb: C/H/S=0/0/0 from BIOS ignored<br>
hda: FUJITSU MHV2080AH, ATA DISK drive<br>
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14<br>
hda: attached ide-disk driver.<br>
hda: host protected area =&gt; 1<br>
hda: 156301488 sectors (80026 MB) w/8192KiB Cache, CHS=9729/255/63<br>
Partition check:<br>
&nbsp;hda: hda1 hda2 &lt; hda5 hda6 hda7 &gt;<br>
<br>
Notice how DMA is not apparently supported - it doesn't say hda=DMA or
anything.&nbsp; The disk itself supports DMA.&nbsp; Attempts to turn on DMA with
hdparm fail:<br>
<br>
[root]# hdparm -i /dev/hda<br>
<br>
/dev/hda:<br>
<br>
&nbsp;Model=FUJITSU MHV2080AH, FwRev=000000A0, SerialNo=NT61T7C30EC2<br>
&nbsp;Config={ HardSect NotMFM HdSw&gt;15uSec Fixed DTR&gt;10Mbs }<br>
&nbsp;RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0<br>
&nbsp;BuffType=DualPortCache, BuffSize=8192kB, MaxMultSect=16, MultSect=16<br>
&nbsp;CurCHS=16383/16/63, CurSects=-66060037, LBA=yes, LBAsects=156301488<br>
&nbsp;IORDY=yes, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}<br>
&nbsp;PIO modes: pio0 pio1 pio2 pio3 pio4 <br>
&nbsp;DMA modes: mdma0 mdma1 *mdma2 udma0 udma1 udma2 udma3 udma4 udma5 <br>
<br>
[root]# hdparm -d1 -X64 /dev/hda<br>
/dev/hda:<br>
&nbsp;setting using_dma to 1 (on)<br>
&nbsp;HDIO_SET_DMA failed: Operation not permitted<br>
&nbsp;setting xfermode to 64 (UltraDMA mode0)<br>
&nbsp;using_dma&nbsp;&nbsp;&nbsp; =&nbsp; 0 (off)<br>
<br>
[root]# hdparm -d1 -X65 /dev/hda<br>
/dev/hda:<br>
&nbsp;setting using_dma to 1 (on)<br>
&nbsp;HDIO_SET_DMA failed: Operation not permitted<br>
&nbsp;setting xfermode to 65 (UltraDMA mode1)<br>
&nbsp;using_dma&nbsp;&nbsp;&nbsp; =&nbsp; 0 (off)<br>
<br>
[root]# hdparm -d1 -X66 /dev/hda<br>
/dev/hda:<br>
&nbsp;setting using_dma to 1 (on)<br>
&nbsp;HDIO_SET_DMA failed: Operation not permitted<br>
&nbsp;setting xfermode to 66 (UltraDMA mode2)<br>
&nbsp;using_dma&nbsp;&nbsp;&nbsp; =&nbsp; 0 (off)<br>
<br>
<br>
Thanks,<br>
Jim<br>
</tt></font>
<pre class="moz-signature" cols="72">-- 
Jim Ockers, P.Eng. (<a class="moz-txt-link-abbreviated" href="mailto:ockers@ockers.net">ockers@ockers.net</a>)
Contact info: <a class="moz-txt-link-freetext" href="http://www.ockers.net/msi.html">http://www.ockers.net/msi.html</a>

</pre>
</body>
</html>