Subject: Re: pciide performance on alpha
To: Michael T. Stolarchuk <mts@off.to>
From: Michael T. Stolarchuk <mts@off.to>
List: port-alpha
Date: 08/13/1999 10:55:15
In message <199908121919.PAA04315@off.to>, "Michael T. Stolarchuk" writes:
>In message <19990812211422.A13197@antioche.lip6.fr>, Manuel Bouyer writes:
>>On Thu, Aug 12, 1999 at 03:07:37PM -0400, Paul H. Anderson wrote:
>>> Is there any reason to think that 164LX motherboards can have this issue,
>>> as well?  How might I check it?
>>
>>You can try to add a call to pci_conf_print(pa->pa_pc, pa->pa_tag, NULL);
>>at the top of the attach function of your ethernet driver.
>>It will dump the content of the PCI registers in an human-readable
>>manner.
>>
>
>You bet... i'll add the code; i won't be able to make the mods till
>tomorrow morning, but soon as i do, i'll forward the results...

NetBSD/Alpha Secondary Boot, Revision 1.9
(root@giauzar, Sun Jan 24 12:36:45 MST 1999)

VMS PAL rev: 0x1000100010114
OSF PAL rev: 0x1000100020116
Switch to OSF PAL code succeeded.

Boot flags: a

Loading netbsd...
3481176+360192 [85+228336+126309]

Entering netbsd at 0xfffffc0000301040...
[ preserving 355632 bytes of netbsd ELF symbol table ]
consinit: not using prom console
Copyright (c) 1996, 1997, 1998, 1999
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 1.3I (ALPHAGW) #10: Tue Apr 13 13:40:20 EDT 1999
    mts@alpha1:/usr/src/sys/arch/alpha/compile/ALPHAGW
Digital AlphaPC 164LX 533 MHz, 531MHz
8192 byte page size, 1 processor.
real mem = 536870912 (1949696 reserved for PROM, 534921216 used by NetBSD)
avail mem = 465100800
using 6529 buffers containing 53485568 bytes of memory
mainbus0 (root)
cpu0 at mainbus0: ID 0 (primary), 21164A (pass 2)
cpu0: VAX FP support, IEEE FP support, Primary Eligible
cia0 at mainbus0: DECchip 2117x Core Logic Chipset (Pyxis), pass 1
cia0: extended capabilities: 1<BWEN>
cia0: using BWX for PCI config access
pci0 at cia0 bus 0
pci0: i/o enabled, memory enabled
PCI configuration registers:
  Common header:
    0x00: 0x00091011 0x02800007 0x02000022 0x00000000

    Vendor Name: Digital Equipment (0x1011)
    Device Name: DECchip 21140 ("FasterNet") (0x0009)
    Command register: 0x0007
      I/O space accesses: on
      Memory space accesses: on
      Bus mastering: on
      Special cycles: off
      MWI transactions: off
      Palette snooping: off
      Parity error checking: off
      Address/data stepping: off
      System error (SERR): off
      Fast back-to-back transactions: off
    Status register: 0x0280
      66 MHz capable: off
      User Definable Features (UDF) support: off
      Fast back-to-back capable: on
      Data parity error detected: off
      DEVSEL timing: medium (0x1)
      Slave signaled Target Abort: off
      Master received Target Abort: off
      Master received Master Abort: off
      Asserted System Error (SERR): off
      Parity error detected: off
    Class Name: network (0x02)
    Subclass Name: ethernet (0x00)
    Interface: 0x00
    Revision ID: 0x22
    BIST: 0x00
    Header Type: 0x00 (0x00)
    Latency Timer: 0x00
    Cache Line Size: 0x00

  Type 0 ("normal" device) header:
    0x10: 0x00010101 0x82051000 0x00000000 0x00000000
    0x20: 0x00000000 0x00000000 0x00000000 0x11001186
    0x30: 0x82000000 0x00000000 0x00000000 0x28140100

    Base address register at 0x10
      type: i/o
      base: 0x00010100, size: 0x00000080
    Base address register at 0x14
      type: 32-bit noncacheable memory
      base: 0x82051000, size: 0x00000080
    Base address register at 0x18
      not implemented(?)
    Base address register at 0x1c
      not implemented(?)
    Base address register at 0x20
      not implemented(?)
    Base address register at 0x24
      not implemented(?)
    Cardbus CIS Pointer: 0x00000000
    Subsystem vendor ID: 0x1186
    Subsystem ID: 0x1100
    Expansion ROM Base Address: 0x82000000
    Reserved @ 0x34: 0x00000000
    Reserved @ 0x38: 0x00000000
    Maximum Latency: 0x28
    Minimum Grant: 0x14
    Interrupt pin: 0x01 (pin A)
    Interrupt line: 0x00

  Device-dependent header:
    0x40: 0x00000600 0x00000000 0x00000000 0x00000000
    0x50: 0x00000000 0x00000000 0x00000000 0x00000000
    0x60: 0x00000000 0x00000000 0x00000000 0x00000000
    0x70: 0x00000000 0x00000000 0x00000000 0x00000000
    0x80: 0x00000000 0x00000000 0x00000000 0x00000000
    0x90: 0x00000000 0x00000000 0x00000000 0x00000000
    0xa0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xb0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xc0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xd0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xe0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xf0: 0x00000000 0x00000000 0x00000000 0x00000000

    Don't know how to pretty-print device-dependent header.

de0 at pci0 dev 6 function 0
de0: interrupting at eb164 irq 0
de0: 21140A [10-100Mb/s] pass 2.2
de0: address 00:40:05:36:22:33
de0: enabling Full Duplex 100baseTX port
PCI configuration registers:
  Common header:
    0x00: 0x04848086 0x02000007 0x00000043 0x00000000

    Vendor Name: Intel (0x8086)
    Device Name: 82378ZB System I/O (SIO) (0x0484)
    Command register: 0x0007
      I/O space accesses: on
      Memory space accesses: on
      Bus mastering: on
      Special cycles: off
      MWI transactions: off
      Palette snooping: off
      Parity error checking: off
      Address/data stepping: off
      System error (SERR): off
      Fast back-to-back transactions: off
    Status register: 0x0200
      66 MHz capable: off
      User Definable Features (UDF) support: off
      Fast back-to-back capable: off
      Data parity error detected: off
      DEVSEL timing: medium (0x1)
      Slave signaled Target Abort: off
      Master received Target Abort: off
      Master received Master Abort: off
      Asserted System Error (SERR): off
      Parity error detected: off
    Class Name: prehistoric (0x00)
    Subclass Name: miscellaneous (0x00)
    Interface: 0x00
    Revision ID: 0x43
    BIST: 0x00
    Header Type: 0x00 (0x00)
    Latency Timer: 0x00
    Cache Line Size: 0x00

  Type 0 ("normal" device) header:
    0x10: 0x00000000 0x00000000 0x00000000 0x00000000
    0x20: 0x00000000 0x00000000 0x00000000 0x00000000
    0x30: 0x00000000 0x00000000 0x00000000 0x00000000

    Base address register at 0x10
      not implemented(?)
    Base address register at 0x14
      not implemented(?)
    Base address register at 0x18
      not implemented(?)
    Base address register at 0x1c
      not implemented(?)
    Base address register at 0x20
      not implemented(?)
    Base address register at 0x24
      not implemented(?)
    Cardbus CIS Pointer: 0x00000000
    Subsystem vendor ID: 0x0000
    Subsystem ID: 0x0000
    Expansion ROM Base Address: 0x00000000
    Reserved @ 0x34: 0x00000000
    Reserved @ 0x38: 0x00000000
    Maximum Latency: 0x00
    Minimum Grant: 0x00
    Interrupt pin: 0x00 (none)
    Interrupt line: 0x00

  Device-dependent header:
    0x40: 0x00f80c20 0x000f1000 0x0f1000f0 0xffc04056
    0x50: 0x00000000 0x04000000 0x00000000 0x00000000
    0x60: 0x80808080 0x00000000 0x00000000 0x00000000
    0x70: 0x00000000 0x00000000 0x00000000 0x00000000
    0x80: 0x00000078 0x00000000 0x00000000 0x00000000
    0x90: 0x00000000 0x00000000 0x00000000 0x00000000
    0xa0: 0x00000008 0x00000000 0x0000000f 0x00000000
    0xb0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xc0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xd0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xe0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xf0: 0x00000000 0x00000000 0x00000000 0x00000000

    Don't know how to pretty-print device-dependent header.

not DEC_VENDORID
sio0 at pci0 dev 8 function 0: Intel 82378ZB System I/O (SIO) (rev. 0x43)
PCI configuration registers:
  Common header:
    0x00: 0x81789004 0x02800007 0x01000000 0x00000000

    Vendor Name: Adaptec (0x9004)
    Device Name: AHA-2940 Ultra (0x8178)
    Command register: 0x0007
      I/O space accesses: on
      Memory space accesses: on
      Bus mastering: on
      Special cycles: off
      MWI transactions: off
      Palette snooping: off
      Parity error checking: off
      Address/data stepping: off
      System error (SERR): off
      Fast back-to-back transactions: off
    Status register: 0x0280
      66 MHz capable: off
      User Definable Features (UDF) support: off
      Fast back-to-back capable: on
      Data parity error detected: off
      DEVSEL timing: medium (0x1)
      Slave signaled Target Abort: off
      Master received Target Abort: off
      Master received Master Abort: off
      Asserted System Error (SERR): off
      Parity error detected: off
    Class Name: mass storage (0x01)
    Subclass Name: SCSI (0x00)
    Interface: 0x00
    Revision ID: 0x00
    BIST: 0x00
    Header Type: 0x00 (0x00)
    Latency Timer: 0x00
    Cache Line Size: 0x00

  Type 0 ("normal" device) header:
    0x10: 0x00010001 0x82050000 0x00000000 0x00000000
    0x20: 0x00000000 0x00000000 0x00000000 0x00000000
    0x30: 0x82040000 0x00000000 0x00000000 0x08080103

    Base address register at 0x10
      type: i/o
      base: 0x00010000, size: 0x00000100
    Base address register at 0x14
      type: 32-bit noncacheable memory
      base: 0x82050000, size: 0x00001000
    Base address register at 0x18
      not implemented(?)
    Base address register at 0x1c
      not implemented(?)
    Base address register at 0x20
      not implemented(?)
    Base address register at 0x24
      not implemented(?)
    Cardbus CIS Pointer: 0x00000000
    Subsystem vendor ID: 0x0000
    Subsystem ID: 0x0000
    Expansion ROM Base Address: 0x82040000
    Reserved @ 0x34: 0x00000000
    Reserved @ 0x38: 0x00000000
    Maximum Latency: 0x08
    Minimum Grant: 0x08
    Interrupt pin: 0x01 (pin A)
    Interrupt line: 0x03

  Device-dependent header:
    0x40: 0x00001580 0x00001580 0x00000000 0x00000000
    0x50: 0x00000000 0x00000000 0x00000000 0x00000000
    0x60: 0x00000000 0x00000000 0x00000000 0x00000000
    0x70: 0x00000000 0x00000000 0x00000000 0x00000000
    0x80: 0x00000000 0x00000000 0x00000000 0x00000000
    0x90: 0x00000000 0x00000000 0x00000000 0x00000000
    0xa0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xb0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xc0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xd0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xe0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xf0: 0x00000000 0x00000000 0x00000000 0x00000000

    Don't know how to pretty-print device-dependent header.

not DEC_VENDORID
ahc0 at pci0 dev 9 function 0
ahc0: interrupting at eb164 irq 3
ahc0: Reading SEEPROM...done.
ahc0: aic7880 Wide Channel, SCSI Id=7, 16 SCBs
ahc0: Resetting Channel A
ahc0: Downloading Sequencer Program...Done
scsibus0 at ahc0 channel 0: 16 targets, 8 luns per target
ahc0: target 0 using 16Bit transfers
ahc0: target 0 synchronous at 20.0MHz, offset = 0x8
sd0 at scsibus0 targ 0 lun 0: <IBM, DGVS09U, 0350> SCSI3 0/direct fixed
sd0: 8705MB, 7386 cyl, 12 head, 201 sec, 512 bytes/sect x 17829870 sectors
ahc0: target 1 using 16Bit transfers
ahc0: target 1 synchronous at 20.0MHz, offset = 0x8
sd1 at scsibus0 targ 1 lun 0: <IBM, DGVS09U, 0350> SCSI3 0/direct fixed
sd1: 8705MB, 7386 cyl, 12 head, 201 sec, 512 bytes/sect x 17829870 sectors
PCI configuration registers:
 Common header:
    0x00: 0x06461095 0x02800005 0x01018001 0x00000000

    Vendor Name: CMD Technology (0x1095)
    Device Name: PCI0646 (0x0646)
    Command register: 0x0005
      I/O space accesses: on
      Memory space accesses: off
      Bus mastering: on
      Special cycles: off
      MWI transactions: off
      Palette snooping: off
      Parity error checking: off
      Address/data stepping: off
      System error (SERR): off
      Fast back-to-back transactions: off
    Status register: 0x0280
      66 MHz capable: off
      User Definable Features (UDF) support: off
      Fast back-to-back capable: on
      Data parity error detected: off
      DEVSEL timing: medium (0x1)
      Slave signaled Target Abort: off
      Master received Target Abort: off
      Master received Master Abort: off
      Asserted System Error (SERR): off
      Parity error detected: off
    Class Name: mass storage (0x01)
    Subclass Name: IDE (0x01)
    Interface: 0x80
    Revision ID: 0x01
    BIST: 0x00
    Header Type: 0x00 (0x00)
    Latency Timer: 0x00
    Cache Line Size: 0x00

  Type 0 ("normal" device) header:
    0x10: 0x00000000 0x00000000 0x00000000 0x00000000
    0x20: 0x00010191 0x00000000 0x00000000 0x00000000
    0x30: 0x00000000 0x00000000 0x00000000 0x04020105

    Base address register at 0x10
      not implemented(?)
    Base address register at 0x14
      not implemented(?)
    Base address register at 0x18
      not implemented(?)
    Base address register at 0x1c
      not implemented(?)
    Base address register at 0x20
      type: i/o
      base: 0x00010190, size: 0x00000010
    Base address register at 0x24
      not implemented(?)
    Cardbus CIS Pointer: 0x00000000
    Subsystem vendor ID: 0x0000
    Subsystem ID: 0x0000
    Expansion ROM Base Address: 0x00000000
    Reserved @ 0x34: 0x00000000
    Reserved @ 0x38: 0x00000000
    Maximum Latency: 0x04
    Minimum Grant: 0x02
    Interrupt pin: 0x01 (pin A)
    Interrupt line: 0x05

  Device-dependent header:
    0x40: 0x00000000 0x00000000 0x00000000 0x00000000
    0x50: 0xc000e000 0xcc00c03f 0x00004000 0x00000000
    0x60: 0x00000000 0x00000000 0x00000000 0x00000000
    0x70: 0x00200000 0x444d0000 0x00000008 0xaf7fea5c
    0x80: 0x00000000 0x00000000 0x00000000 0x00000000
    0x90: 0x00000000 0x00000000 0x00000000 0x00000000
    0xa0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xb0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xc0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xd0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xe0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xf0: 0x00000000 0x00000000 0x00000000 0x00000000

    Don't know how to pretty-print device-dependent header.

not DEC_VENDORID
pciide0 at pci0 dev 11 function 0: CMD Technology PCI0646
pciide0: bus-master DMA support present
pciide0: primary channel wired to compatibility mode
wd0 at pciide0 channel 0 drive 0: <ST36531A>
wd0: drive supports 32-sector pio transfers, lba addressing
wd0: 6204MB, 13446 cyl, 15 head, 63 sec, 512 bytes/sect x 12706470 sectors
wd0: 32-bits data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2
pciide0: secondary channel wired to compatibility mode
pciide0: secondary channel ignored (disabled)
wd0(pciide0:0:0): using PIO mode 4, DMA mode 2 (using DMA data transfers)
isa0 at sio0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
com0: console
com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
lpt0 at isa0 port 0x3bc-0x3bf irq 7
pckbc0 at isa0 port 0x60-0x64
pckbdprobe: reset error 5
psmprobe: reset error 5
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
isabeep0 at pcppi0
mcclock0 at isa0 port 0x70-0x71: mc146818 or compatible
WARNING: can't figure what device matches "IDE 0 11 0 0 0 0 0"
root on wd0a dumps on wd0b
readclock: 99/4/13/17/44/30=>924025470 (924025404)
init: copying out path `/sbin/init' 11
swapctl: adding /dev/wd0b as swap device at priority 0
Automatic boot in progress: starting file system checks.
/dev/rwd0a: file system is clean; not checking
/dev/rwd0d: file system is clean; not checking
/dev/rccd0c: file system is clean; not checking
/dev/rwd0e: file system is clean; not checking
/dev/rwd0f: file system is clean; not checking
setting tty flags
starting network
hostname: alpha1
domainname: pdq.com