On Wed, 2004-04-07 13:16:48 +0200, Maciej W. Rozycki wrote in message : > On Sun, 4 Apr 2004, Jan-Benedict Glaw wrote: > > Interrupt setup is a bit tricky on the VAXen. First, they actually have > > separated RX and TX IRQ and these aren't static. IRQ probing needs to be > > redone (at least can't be easily copied) since the new dz_init() is > > basically a complete new rewrite... > > I think we need to separate the chipset driver from the > implementation-specific details. There are at least three configurations That might be a good idea... > in existence: > > 1. DECstation on-board serial ports for the 3100 (2100) and the 5000/200 > (there are minor differences which can be handled together, I think). > > 2. The PMAC-A TURBOchannel board. This implies up to 24 ports in a single > system if we ever support the DEC 3000/900 (3000/800) Alpha systems; 16 > ports otherwise. ;-) > > 3. VAX-based systems -- you know the details better. >From my point of view, (1) and (3) are quite similar; the differences are mostly: - Different base addresses - Separate RX and TX interrupt. This part is tricky because on VAX, the triggered IRQ needs to be ACKed twice. On the CPU and on the vsbus controller, as it seems. That is, both VAX IRQ handlers explicitely ACK their respective vsbus IRQ. - Register offsets are offset_mips = offset_vax * 2. > Note the existence of #2 above implies there may be two different kinds of > such ports in a single system, be it a DECstation or a VAXstation (the > 4000 series use these ports as well, don't they?). They do. ...and I also think that there *may* exist Linux support for the 3000 type Alphas at some time. So for TC systems, we need to walk through the busses and search for cards, right? Also, we should be able to mark specific ports special. First and second onboard ports are expected to deal with keyboard and mouse/tablet, so they need to advertise this fact towards SERIO subsystem. I wasn't yet successful in getting the new driver to work on VAX, but that's a problem of time (-> I'm currently doing additional payed work) and lack of output (-> I'd really try to figure out how to access the diagnostic LEDs in the 4000/60 chassis). I hope to finish the additional work during upcoming Easter, so I'd continue work after that. However, we can right now start to discuss how to split the current driver into chip-specific and machine/bus-specific parts. First goal, of course, should be to make it work with DECstations and VAXstations (it's current users). IIRC, 2.6.x isn't yet expected to work on DECstations, so I'll probably start to make it work for VAXen first. I'm not that familiar with the TC busses. Do you have the same register offsets on the TC chips compared to the onboard DZ11? (So are register offsets machine specific or bus specific?) MfG, JBG -- Jan-Benedict Glaw jbglaw@lug-owl.de . +49-172-7608481 "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg fuer einen Freien Staat voll Freier Bürger" | im Internet! | im Irak! ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));