diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1998-04-05 11:23:36 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1998-04-05 11:23:36 +0000 |
commit | 4318fbda2a7ee51caafdc4eb1f8028a3f0605142 (patch) | |
tree | cddb50a81d7d1a628cc400519162080c6d87868e /drivers/char/stallion.c | |
parent | 36ea5120664550fae6d31f1c6f695e4f8975cb06 (diff) |
o Merge with Linux 2.1.91.
o First round of bugfixes for the SC/MC CPUs.
o FPU context switch fixes.
o Lazy context switches.
o Faster syscalls.
o Removed dead code.
o Shitloads of other things I forgot ...
Diffstat (limited to 'drivers/char/stallion.c')
-rw-r--r-- | drivers/char/stallion.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/char/stallion.c b/drivers/char/stallion.c index 064031dd8..67aeafc47 100644 --- a/drivers/char/stallion.c +++ b/drivers/char/stallion.c @@ -143,7 +143,7 @@ static int stl_nrbrds = sizeof(stl_brdconf) / sizeof(stlconf_t); */ static char *stl_drvtitle = "Stallion Multiport Serial Driver"; static char *stl_drvname = "stallion"; -static char *stl_drvversion = "5.4.3"; +static char *stl_drvversion = "5.4.5"; static char *stl_serialname = "ttyE"; static char *stl_calloutname = "cue"; @@ -278,6 +278,7 @@ static char *stl_brdnames[] = { #define EIO_INTRPEND 0x08 #define EIO_INTEDGE 0x00 #define EIO_INTLEVEL 0x08 +#define EIO_0WS 0x10 #define ECH_ID 0xa0 #define ECH_IDBITMASK 0xe0 @@ -2153,6 +2154,10 @@ static inline int stl_initeio(stlbrd_t *brdp) brdp->ioctrl = brdp->ioaddr1 + 1; brdp->iostatus = brdp->ioaddr1 + 2; + status = inb(brdp->iostatus); + if ((status & EIO_IDBITMASK) == EIO_MK3) + brdp->ioctrl++; + /* * Handle board specific stuff now. The real difference is PCI * or not PCI. @@ -2171,7 +2176,7 @@ static inline int stl_initeio(stlbrd_t *brdp) brdp->irq, brdp->brdnr); return(-EINVAL); } - outb((stl_vecmap[brdp->irq] | + outb((stl_vecmap[brdp->irq] | EIO_0WS | ((brdp->irqtype) ? EIO_INTLEVEL : EIO_INTEDGE)), brdp->ioctrl); } @@ -2194,7 +2199,6 @@ static inline int stl_initeio(stlbrd_t *brdp) brdp->clk = CD1400_CLK; brdp->isr = stl_eiointr; - status = inb(brdp->iostatus); switch (status & EIO_IDBITMASK) { case EIO_8PORTM: brdp->clk = CD1400_CLK8M; @@ -2220,7 +2224,6 @@ static inline int stl_initeio(stlbrd_t *brdp) default: return(-ENODEV); } - brdp->ioctrl++; break; default: return(-ENODEV); |