Messages in this thread | | | Date | Fri, 07 Jul 2000 04:55:44 +0700 | From | Vanja Hrustic <> | Subject | IDE and VIA chipset |
| |
Hi!
I have setup a machine yesterday, and I have noticed strange behaviour. DMA for one hard disk is enabled, while for other is not - at least that is what hdparm says.
Motherboard/hard disks are:
Asus K7V + Athlon 700 2 x Quantum Fireball LM20.5 (primary and secondary master)
There is also a CD-ROM connected to primary port (as a slave).
Software RAID is being used. Kernel is 2.2.16 (plus RAID patches by Ingo and IDE patches by Andre)
[root@abc ide]# hdparm -v /dev/hda
/dev/hda: multcount = 0 (off) I/O support = 0 (default 16-bit) unmaskirq = 0 (off) using_dma = 0 (off) keepsettings = 0 (off) nowerr = 0 (off) readonly = 0 (off) readahead = 8 (on) geometry = 2498/255/63, sectors = 40132503, start = 0 [root@abc ide]# hdparm -v /dev/hdc
/dev/hdc: multcount = 0 (off) I/O support = 0 (default 16-bit) unmaskirq = 0 (off) using_dma = 1 (on) keepsettings = 0 (off) nowerr = 0 (off) readonly = 0 (off) readahead = 8 (on) geometry = 39813/16/63, sectors = 40132503, start = 0 [root@abc ide]#
Although the hard disks are exactly the same, geometry is shown as different. Any idea why?
Some more details:
[root@abc ide]# hdparm -i /dev/hda
/dev/hda:
Model=QUANTUM FIREBALLP LM20.5, FwRev=A35.0700, SerialNo=884014769388 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs } RawCHS=16383/16/63, TrkSize=32256, SectSize=21298, ECCbytes=4 BuffType=3(DualPortCache), BuffSize=1900kB, MaxMultSect=16, MultSect=off DblWordIO=no, OldPIO=2, DMA=yes, OldDMA=2 CurCHS=16383/16/63, CurSects=-66060037, LBA=yes, LBAsects=40132503 tDMA={min:120,rec:120}, DMA modes: mword0 mword1 mword2 IORDY=on/off, tPIO={min:120,w/IORDY:120}, PIO modes: mode3 mode4 UDMA modes: mode0 mode1 mode2 mode3 *mode4
[root@abc ide]# hdparm -i /dev/hdc
/dev/hdc:
Model=QUANTUM FIREBALLP LM20.5, FwRev=A35.0700, SerialNo=884014769086 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs } RawCHS=16383/16/63, TrkSize=32256, SectSize=21298, ECCbytes=4 BuffType=3(DualPortCache), BuffSize=1900kB, MaxMultSect=16, MultSect=off DblWordIO=no, OldPIO=2, DMA=yes, OldDMA=2 CurCHS=16383/16/63, CurSects=-66060037, LBA=yes, LBAsects=40132503 tDMA={min:120,rec:120}, DMA modes: mword0 mword1 mword2 IORDY=on/off, tPIO={min:120,w/IORDY:120}, PIO modes: mode3 mode4 UDMA modes: mode0 mode1 *mode2 mode3 mode4
I am confused about UDMA mode 4 (on /dev/hda) and UDMA mode 2 (on /dev/hdc). What is the difference? And why hdparm says that DMA is not enabled on /dev/hda?
And the tests show:
[root@abc ide]# hdparm -t /dev/hda
/dev/hda: Timing buffered disk reads: 64 MB in 16.53 seconds = 3.87 MB/sec [root@abc ide]# hdparm -t /dev/hdc
/dev/hdc: Timing buffered disk reads: 64 MB in 3.08 seconds = 20.78 MB/sec [root@abc ide]#
The difference is *huge*, as you can see (and I can feel it while working 8-( )
Dmesg said:
Uniform Multi-Platform E-IDE driver Revision: 6.30 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx VP_IDE: IDE controller on PCI bus 00 dev 21 VP_IDE: chipset revision 16 VP_IDE: not 100% native mode: will probe irqs later ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx VT 82C691 Apollo Pro
Split FIFO Configuration: 8 Primary buffers, threshold = 1/2 8 Second. buffers, threshold = 1/2 ide0: BM-DMA at 0xb800-0xb807, BIOS settings: hda:DMA, hdb:DMA ide0: VIA Bus-Master (U)DMA Timing Config Success ide1: BM-DMA at 0xb808-0xb80f, BIOS settings: hdc:DMA, hdd:pio ide1: VIA Bus-Master (U)DMA Timing Config Success hda: QUANTUM FIREBALLP LM20.5, ATA DISK drive hdb: ASUS CD-S400/A, ATAPI CDROM drive hdc: QUANTUM FIREBALLP LM20.5, ATA DISK drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15 hda: QUANTUM FIREBALLP LM20.5, 19595MB w/1900kB Cache, CHS=2498/255/63 hdc: QUANTUM FIREBALLP LM20.5, 19595MB w/1900kB Cache, CHS=39813/16/63, UDMA(33) hdb: ATAPI 40X CD-ROM drive, 128kB Cache, UDMA(33) Uniform CD-ROM driver Revision: 3.09
/proc/ide/via contains:
[root@abc tmp]# cat /proc/ide/via Command register = 0x87 Master Read Cycle IRDY 0 Wait State Master Write Cycle IRDY 0 Wait State FIFO Output Data 1/2 Clock Advance: off Bus Master IDE Status Register Read Retry: on Latency timer = 32 (max. = 0) Interrupt Steering Swap: off ------------------Primary IDE------------Secondary IDE----- both channels togth: yes yes Prefetch Buffer : on on Post Write Buffer: on on FIFO Conf/Chan. : 08 08 Threshold Prim. : 1/2 1/2 Read DMA FIFO flush: on on End Sect. FIFO flush: on on Max DRDY Pulse Width: No limitation Bytes Per Sector: 512 512 --------------drive0------drive1-------drive0------drive1---- DMA enabled: no yes yes no Act Pls Width: 03 03 03 11 Recovery Time: 01 01 01 09 Add. Setup T.: 4T 4T 4T 4T ------------------UDMA-Timing-Control------------------------ Enable Meth.: 1 1 1 0 Enable: yes yes yes no Transfer Mode: PIO PIO PIO DMA Cycle Time: 2T 4T 4T 5T
Is this known behaviour? If so, what can I do to fix it? :)
Thanks.
Vanja Hrustic The Relay Group http://relaygroup.com Technology Ahead of Time
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |