Re: [driver] Rewritten driver for via82cxxx IDE

From: Simon Huggins (huggie@earth.li)
Date: Sun Jul 02 2000 - 05:25:40 EST


Hiya Vojtech,

On Sat, Jul 01, 2000 at 04:57:11PM +0200, Vojtech Pavlik wrote:
> I've finished rewriting the via82cxxx.c driver. It's smaller, simpler,
> uses less magic constants etc. Try it with your setups, I'd like to
> know if it helps to use UDMA66 on VIA boards. It should. It should
> also give you better transfer rates on PIO and DMA modes.

> Just place the attached file to the drivers/ide directory of a 2.4
> kernel or 2.2+ide kernel, recompile and you should be set.

*Now* I'm confused :)

Under 2.4.0-test2-pre3:
Jul 2 10:25:08 byers kernel: VP_IDE: IDE controller on PCI bus 00 dev
39
Jul 2 10:25:08 byers kernel: VP_IDE: chipset revision 6
Jul 2 10:25:08 byers kernel: VP_IDE: not 100% native mode: will probe
irqs later
Jul 2 10:25:08 byers kernel: AMD IronGate
Jul 2 10:25:08 byers kernel: Chipset Core ATA-66
Jul 2 10:25:08 byers kernel: Split FIFO Configuration: 8 Primary buffers, threshold = 1/2
Jul 2 10:25:08 byers kernel: 8 Second. buffers, threshold = 1/2
Jul 2 10:25:08 byers kernel: ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:pio, hdb:pio
Jul 2 10:25:08 byers kernel: ide0: VIA Bus-Master (U)DMA Timing Config Success
Jul 2 10:25:08 byers kernel: ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:DMA, hdd:pio
Jul 2 10:25:08 byers kernel: ide1: VIA Bus-Master (U)DMA Timing Config Success
Jul 2 10:25:08 byers kernel: hda: QUANTUM SIROCCO2550A, ATA DISK drive
Jul 2 10:25:08 byers kernel: hdc: IBM-DPTA-372730, ATA DISK drive
Jul 2 10:25:08 byers kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Jul 2 10:25:08 byers kernel: ide1 at 0x170-0x177,0x376 on irq 15
Jul 2 10:25:08 byers kernel: hda: 5008752 sectors (2564 MB) w/75KiB Cache, CHS=621/128/63, DMA
Jul 2 10:25:08 byers kernel: hdc: 53464320 sectors (27374 MB) w/1961KiB Cache, CHS=53040/16/63, UDMA(33)

which suggests it's at 33.
hdparm values of around 21 probably confirm this.

With your new driver in place of the other via82cxxx.c:
Jul 2 10:48:30 byers kernel: VP_IDE: IDE controller on PCI bus 00 dev 39
Jul 2 10:48:30 byers kernel: VP_IDE: chipset revision 6
Jul 2 10:48:30 byers kernel: VP_IDE: not 100% native mode: will probe irqs later
Jul 2 10:48:30 byers kernel: VP_IDE: VIA vt82c686a IDE UDMA66 controller on pci0:7.1
Jul 2 10:48:30 byers kernel: ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings:
hda:pio, hdb:pio
Jul 2 10:48:30 byers kernel: ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings:
hdc:DMA, hdd:pio
Jul 2 10:48:30 byers kernel: hda: QUANTUM SIROCCO2550A, ATA DISK drive
Jul 2 10:48:30 byers kernel: hdc: IBM-DPTA-372730, ATA DISK drive
Jul 2 10:48:30 byers kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Jul 2 10:48:30 byers kernel: ide1 at 0x170-0x177,0x376 on irq 15
Jul 2 10:48:30 byers kernel: hda: 5008752 sectors (2564 MB) w/75KiB Cache, CHS=621/128/63, DMA
Jul 2 10:48:30 byers kernel: hdc: 53464320 sectors (27374 MB) w/1961KiB Cache,
CHS=53040/16/63, UDMA(66)

which suggests it's at 66.
but hdparm gets values of around 21 as before?

Also now it's not recognised as an Irongate?

lspci -v shows:

00:00.0 Host bridge: Advanced Micro Devices [AMD] AMD-751 [Irongate] System Controller (rev 23)
        Flags: bus master, medium devsel, latency 64
        Memory at e8000000 (32-bit, prefetchable) [size=64M]
        Memory at eddff000 (32-bit, prefetchable) [size=4K]
        I/O ports at d800 [disabled] [size=4]
        Capabilities: <available only to root>

00:01.0 PCI bridge: Advanced Micro Devices [AMD] AMD-751 [Irongate] AGP Bridge (rev 01) (prog-if 00 [Normal decode])
        Flags: bus master, 66Mhz, medium devsel, latency 64
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
        I/O behind bridge: 00008000-00009fff
        Memory behind bridge: ede00000-efefffff
        Prefetchable memory behind bridge: e5c00000-e5cfffff

[snip SCSI, netcard]

00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super] (rev 14)
        Subsystem: VIA Technologies, Inc. VT82C686/A PCI to ISA Bridge
        Flags: bus master, stepping, medium devsel, latency 0

00:07.1 IDE interface: VIA Technologies, Inc. VT82C586 IDE [Apollo] (rev 06) (prog-if 8a [Master SecP PriP])
        Flags: bus master, medium devsel, latency 32
        I/O ports at ffa0 [size=16]

00:07.4 SMBus: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 10)
        Flags: medium devsel

[snip netcard, VGA]

And cat /proc/ide/via shows:
----------VIA BusMastering IDE Configuration-----------------
Command register: 0x7
Latency timer: 32
Master Read Cycle IRDY: 0ws
Master Write Cycle IRDY: 0ws
FIFO Output Data 1/2 Clock Advance: off
BM IDE Status Register Read Retry: on
Max DRDY Pulse Width: No limit
-----------------------Primary IDE-------Secondary IDE-------
Read DMA FIFO flush: on on
End Sect. FIFO flush: on on
Prefetch Buffer: on on
Post Write Buffer: on on
FIFO size: 8 8
Threshold Prim.: 1/2 1/2
Bytes Per Sector: 512 512
Both channels togth: yes yes
-------------------drive0----drive1----drive2----drive3-----
BMDMA enabled: yes no yes no
Transfer Mode: DMA/PIO DMA/PIO UDMA DMA/PIO
Cycle (T): 27ns 27ns 13ns 27ns
Address Setup: 4T 3T --- 2T
Active Pulse: 3T 11T --- 11T
Recovery Time: 1T 9T --- 9T
Cycle Time: 8T 23T 3T 22T
Transfer Rate: 9.2MB/s 3.2MB/s 49.3MB/s 3.3MB/s

These transfer rates are nothing like reported by hdparm?

I know neither of you has this hardware but any ideas?
Or any things to try?

-- 
----------( Mr. Hat: Life isn't fair kiddo, get used to it.  )----------
----------(              Cartman: Stupid puppet              )----------
Simon ----(                                                  )---- Nomis
                             Htag.pl 0.0.12

- 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/



This archive was generated by hypermail 2b29 : Fri Jul 07 2000 - 21:00:10 EST