Re: 2.4.21-pre21 - Dodgy DMA with PIIX4

From: Athanasius (link@miggy.org)
Date: Wed Jan 01 2003 - 16:30:34 EST


On Fri, Dec 27, 2002 at 01:45:51PM +0000, Athanasius wrote:
> Hi,
> I've a machine based around a Gigabyte GA-686BX motherboard, using the
> Intel 440BX/ZX chipset:
>
> On kernel 2.4.18-pre8 I was able to set MDMA modes on all 4 of my hard
> disks:
>
> /dev/hda: Model=ST32122A, FwRev=3.02, SerialNo=XKF67385
> /dev/hdb: Model=Maxtor 82560 A4 -, FwRev=AA8Z2225, SerialNo=C40AHFXA
> /dev/hdc: Model=Maxtor 94098U8, FwRev=FA500S60, SerialNo=G80EK51C
> /dev/hdd: Model=Maxtor 4G120J6, FwRev=GAK819K0, SerialNo=G60E058E
>
> using:
>
> /sbin/hdparm -u1 -d1 -X34 /dev/hda
> /sbin/hdparm -u1 -d1 -X34 /dev/hdb
> /sbin/hdparm -u1 -d1 -X34 /dev/hdc
> /sbin/hdparm -u1 -d1 -X34 /dev/hdd
>
> The motherboard doesn't do UltraDMA, so these MDMA modes were the best I

   I was wrong about this, I'm sure I'd looked at the docs before and
found it didn't do UDMA ho hum, anyway...

> On 2.4.21-pre21 I can set this for hda and hdb, but then quickly end
> up with the machine locked up with DMA failing on hda. It did so whilst
> editting the command to rerun it for hdc, i.e. within 10-15s.

   Looks like the problematic thing on 2.4.21pre2 is the -u1 switch to
hdparm. I'd carefully tested this before and never had any trouble with
it. I guess the IDE code has changed such that this is now a bad idea.

   I'm now on UDMA2 for hda,c,d which works fine, nice 24MB/s or so off
the hdc/d which are the big drives. hdb is still acting weird though:

21:28:05 0$ hdparm -d1 -X34 /dev/hdb

/dev/hdb:
 setting using_dma to 1 (on)
 setting xfermode to 34 (multiword DMA mode2)
 using_dma = 1 (on)
root@jimblewix:~;
21:28:45 0$ hdparm -i /dev/hdb

/dev/hdb:

 Model=Maxtor 82560 A4 -, FwRev=AA8Z2225, SerialNo=C40AHFXA
 Config={ Fixed }
 RawCHS=4962/16/63, TrkSize=0, SectSize=0, ECCbytes=20
 BuffType=DualPortCache, BuffSize=256kB, MaxMultSect=16, MultSect=16
 CurCHS=4962/16/63, CurSects=5001696, LBA=yes, LBAsects=5001728
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes: pio0 pio1 pio2 pio3 pio4
 DMA modes: mdma0 mdma1 mdma2
 AdvancedPM=no WriteCache=enabled
 Drive Supports : ATA/ATAPI-4 X3T13 1153D revision 7 : ATA-1 ATA-2 ATA-3

So, that's MDMA2 set, but hdparm -i doesn't show it (no * next to ANY
DMA or PIO mode). Similar results for setting lower MDMA modes or any
PIO mode. Nothing in dmesg after doing this.

-Ath

-- 
- Athanasius = Athanasius(at)miggy.org / http://www.miggy.org/
                  Finger athan(at)fysh.org for PGP key
	   "And it's me who is my enemy. Me who beats me up.
Me who makes the monsters. Me who strips my confidence." Paula Cole - ME


- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Jan 07 2003 - 22:00:15 EST