[parisc-linux] 715 LAN interface
Philipp Rumpf
prumpf@puffin.external.hp.com
Thu, 18 May 2000 04:40:34 -0600
> The documentation on LASI (lasi_ers.ps) seems to be specific to the
> 712. But, AFAIK the 715 has the same ethernet (82596). Is it safe to
> assume that the LAN section of lasi_ers.ps is equally applicable to the
> 715 interface, or is there some other documentation somewhere that I
> should consult ?
It basically is the same (we had it working. if it doesn't now you're
probably reinventing the wheel), except that the paragraph in lasi_ers.ps
that reads
" Even though the megacell is in CA mode, the port accesses look
like the part is in DX mode: the data needs to be on the lower
16 bits of the data bus for both port accesses. This change
should be sufficient to make the CA mode look like DX mode to
software, maintaining software compatibility with previous 700
implementations."
really means "we word-swap the CPU port register and didn't for previous
implementations. This means you need to change your software or you'll
never even see the nic exists.".
translated to the wonderful language of 82596.c, the function that reads
static inline void MPU_PORT(struct net_device *dev, int c, volatile void *x)
{
#ifdef ENABLE_MVME16x_NET
if (MACH_IS_MVME16x) {
struct i596_reg *p = (struct i596_reg *) (dev->base_addr);
p->porthi = ((c) | (u32) (x)) & 0xffff;
p->portlo = ((c) | (u32) (x)) >> 16;
}
#endif
#ifdef ENABLE_BVME6000_NET
if (MACH_IS_BVME6000) {
u32 v = (u32) (c) | (u32) (x);
v = ((u32) (v) << 16) | ((u32) (v) >> 16);
*(volatile u32 *) dev->base_addr = v;
udelay(1);
*(volatile u32 *) dev->base_addr = v;
}
#endif
}
needs to do the word-swapping for 715/old, but doesn't for 715/new and 712.
(also it should use gsc_writel()).
Generally, 715/olds won't support the new dynamic PCI DMA API, while 712s
will. My suggestion is that someone takes over the taks of maintaining
the drivers we actually need (82596, scsi, parallel if your masochistic),
using the old DMA API. I personally will use my 715 as diskless dumb
terminal only if at all so I only care about 82596.
Philipp Rumpf