Subject: Cyclades-8Y on macppc G3/G4
To: None <tech-kern@netbsd.org>
From: Andreas Wrede <andreas@planix.com>
List: tech-kern
Date: 07/27/2000 09:25:11
Bill Studenmund suggested to that I post this problem to tech-kern. I
am not on tech-kern, so please leave me in the Cc:

The Cylcades-8Y PCI card does get recognized by the cy driver, and
after making the /dev nodes manually (no support in MAKEDEV, send-pr
to follow), I can open a port on the card. The modem signals appear to
be handled correctly, ie. the attached modem lights DTR when the port
is opened, and kermit reports correct status of DCD and DSR. However,
I cannot send or receive any characters through the port. systat
vmstat does not list the irq (irq24) in the right column, which leads
me to believe that something is wrong with the interrupt management in
the driver.

The problem occurs in both a G4(Yikes!) and a Blue&White G3(Yosemite). 

Bill suggests that the driver somehow failes to enable the interrupts
properly. Tsubai Masanari has the card working on a macppc/9600. He
says "Probably uninorth is wrong?"


$ ls -l /dev/*tyCY00                                                                     
crw-------  1 uucp  wheel  47, 128 Jul 13 11:50 /dev/dtyCY00                              
crw-------  1 uucp  wheel  47,   0 Jul 13 10:26 /dev/ttyCY00                              
                                                                                          
The dmesg output below has the CY_DEBUG option enabled in the cy driver. 
The default MSGBUFSIZE is to small hence the truncation at the top.


28 MB
avail memory = 112 MB
using 1664 buffers containing 6656 KB of memory
mainbus0 (root)
cpu0 at mainbus0: 750 (Revision 202), ID 0 (primary)
cpu0: 1MB backside cache
grackle0 at mainbus0
pci0 at grackle0 bus 0
pci0: i/o space, memory space enabled
pchb0 at pci0 dev 0 function 0
pchb0: Motorola MPC106 "Grackle" Host Bridge (rev. 0x40)
ppb0 at pci0 dev 13 function 0: Digital Equipment DECchip 21154
PCI-PCI Bridge (rev. 0x02)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled
Texas Instruments TSB12LV21 IEEE 1394 Host Controller (Firewire serial
bus, revision 0x02) at pci1 dev 0 function 0 not configured
pciide0 at pci1 dev 1 function 0: CMD Technology PCI0646 (rev. 0x07)
pciide0: bus-master DMA support present
pciide0: primary channel configured to native-PCI mode
pciide0: using irq 26 for native-PCI interrupt
pciide0: secondary channel configured to native-PCI mode
pciide0: secondary channel ignored (disabled)
cy: Found Cyclades PCI device, id = 0x105120e
cy0 at pci1 dev 4 function 0cy: card reset done
cy0 probe chip 0 offset 0x0 ... firmware version 0x48
cy0 probe chip 1 offset 0x800 ... firmware version 0x48
cy0 probe chip 2 offset 0x1000 ... not ready for command
found 2 CD1400s
: interrupting at irq 25
cy0attach CD1400 #0 offset 0x0
attach CD1400 #1 offset 0x800
: 8 ports
obio0 at pci1 dev 5 function 0: addr 0x80800000
scsi at obio0 offset 0x10000 not configured
zsc0 at obio0 offset 0x13000: irq 15,16
zstty0 at zsc0 channel 0
zstty1 at zsc0 channel 1
davbus at obio0 offset 0x14000 not configured
fdc at obio0 offset 0x15000 not configured
adb0 at obio0 offset 0x16000 irq 18: 0 targets
aed0 at adb0 addr 0: ADB Event device
wdc0 at obio0 offset 0x20000 irq 13: DMA transfer
wd0 at wdc0 channel 0 drive 0: <QUANTUM FIREBALL CX10.2A>
wd0: drive supports 16-sector pio transfers, lba addressing
wd0: 9787 MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 20044080 sectors
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 4
bm0 at obio0 offset 0x11000 irq 42,33: address 00:50:e4:20:b3:0f
lxtphy0 at bm0 phy 0: LXT970 10/100 media interface, rev. 1
lxtphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
nvram0 at obio0 offset 0x60000
ohci0 at pci1 dev 6 function 0: Opti RM861HA (rev. 0x10)
ohci0: interrupting at irq 28
ohci0: OHCI version 1.0, legacy support
usb0 at ohci0: USB revision 1.0
uhub0 at usb0
uhub0: Opti OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
ofb0 at pci0 dev 16 function 0: ATI Technologies product 0x5245
ofb0: 640 x 480, 8bpp
wsdisplay0 at ofb0: console (std, vt100 emulation)
IPsec: Initialized Security Association Processing.
uhub1 at uhub0 port 1
uhub1: Mitsumi Electric Hub in Apple USB Keyboard, class 9/0, rev 1.10/2.11, addr 2
uhub1: 3 ports with 2 removable, bus powered
ukbd0 at uhub1 port 1 configuration 1 interface 0
ukbd0: Mitsumi Electric Apple USB Keyboard, rev 1.00/1.03, addr 3, iclass 3/1
wskbd1 at ukbd0: console keyboard, using wsdisplay0
ums0 at uhub1 port 2 configuration 1 interface 0
ums0: Mitsumi Apple USB Mouse, rev 1.00/5.01, addr 4, iclass 3/1
ums0: 1 buttons
wsmouse1 at ums0
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
cy12032 open port 0 flag 0x5 mode 0x2000
c1400_channel_cmd cy 0xe0221060 command 0x80
cy0: port 0 param tty 0xe00378 termios 0xe00450
ispeed 9600 ospeed 9600
c1400_channel_cmd cy 0xe0221060 command 0x1a
cor1 = 0x13...c1400_channel_cmd cy 0xe0221060 command 0x4e
cy0: port 0 ioctl cmd 0x8004745c data 0xe975fe28 flag 0x5
cy0: close port 0, flag 0x5, mode 0x2000
cy0: port 0 stop tty 0xe00378 flag 0x3
cy0: port 0 stop tty 0xe00378 flag 0x3
cy12033 open port 1 flag 0x5 mode 0x2000
c1400_channel_cmd cy 0xe02210a0 command 0x80
cy0: port 1 param tty 0xe004a0 termios 0xe00578
ispeed 9600 ospeed 9600
c1400_channel_cmd cy 0xe02210a0 command 0x1a
cor1 = 0x13...c1400_channel_cmd cy 0xe02210a0 command 0x4e
cy0: port 1 ioctl cmd 0x8004745c data 0xe975fe28 flag 0x5
cy0: close port 1, flag 0x5, mode 0x2000
cy0: port 1 stop tty 0xe004a0 flag 0x3
cy0: port 1 stop tty 0xe004a0 flag 0x
-- 
    - aew

---------- Forwarded message ----------
Date: Tue, 25 Jul 2000 13:55:06 -0700 (PDT)
From: Bill Studenmund <wrstuden@zembu.com>
To: Andreas Wrede <andreas@planix.com>
Cc: port-macppc@netbsd.org
Subject: Re: Cyclades-8Y on G4(Yikes!)

On Mon, 24 Jul 2000, Andreas Wrede wrote:

> On Mon, 24 Jul 2000, Bill Studenmund wrote:
> 
> > I know it might not help much, but the cz serial cards work just fine. I
> > debugged a Cyclades-Z 16e on my G3. :-)
> 
> :-) I suspect the driver will work just fine once the interrupts get
> delivered from the card - I have never seem a single one. The card
> currently is an B&W G3, due to the problem with the PCI0646 ide
> controller chip initialization after the G4 firmware has had its hands
> on it.  The Cyclom8Y has the same problem in both the G4 and G3 - no
> interrupts. Modem signals are delivered properly.

I think the B&W G3 has the same ide problem. I'll assume that you just
also have a SCSI card too. :-)

> > > Is someone using a PCI Cyclades-Y board on G3 or G4 Powermac with
> > > NetBSD 1.4/5? If not, where should I start to look in the code to
> > > trace the missing interrupts?
> > 
> > syssrc/sys/dec/pci/cy_pci.c is the pci-specific code for the driver, and
> > syssrc/sys/dev/ic/cy.c is the bus-independent part of the driver.
> 
> I found these two. Where does PCI bus interrupt routing happen? Or is
> that to naive a question to ask?

I'm not sure. Though I'd not suspect interrupt routing problems at
first. To test, get another PCI card which will interrupt, and put it in
the slot. make sure it says it's using the same interrupt # as the cy card
(PCI cards have 4 interrupts each). If it works, you have verified the
interrupt and routing is fine.

> > > $  ls -l /dev/*tyCY00
> > > crw-------  1 uucp  wheel  47, 128 Jul 13 11:50 /dev/dtyCY00
> > > crw-------  1 uucp  wheel  47,   0 Jul 13 10:26 /dev/ttyCY00
> > 
> > You might also talk with tsubai, as he was the one who enabled cy
> > support. :-)
> 
> I Cc:'d tsubai, maybe he is not on port-macppc anymore?

He's the portmaster, so I'd surprised if he weren't around. :-)

> I compiled the cy driver with CY_DEBUG on. Can anyone find a clue as
> to why interrupts are not working at all??

No, but then I don't know much about this card. I suspect that the real
problem is that interrupts on the card aren't getting enabled right. I
can't figure out why, though.

Ask on teck-kern. I'm not too familiar with this driver, and I think the
folks who've worked on it will be there. :-)

Take care,

Bill