Commit Graph

15 Commits

Author SHA1 Message Date
tsutsui efa3e6b66b Remove bogus TABs. (from OpenBSD) 2004-08-18 14:47:25 +00:00
tsutsui 9df92e5adc - It turns out alignment restriction for TX descs is 8kbytes, not 64kbytes.
- Use MEC_TX_ALIAS register to set/clear TX interrupt enable bit.
2004-08-01 06:36:36 +00:00
tsutsui 7565fb7456 Now multicast on mec0 is confirmed working, so remove XXX comment
in mec_setfilter() function.

Thanks to Gerald Heinig for providing multicast test programs.
2004-07-14 09:45:47 +00:00
tsutsui c2de425692 Reenable lpt at mace since shared interrupt code was fixed in mace.c rev 1.2. 2004-07-12 13:45:40 +00:00
tsutsui fff3ff1b2c Add a working driver for O2 (IP32) on-board MACE MAC-110 Ethernet.
Note:
- I don't have any hardware docments for this device, so this driver might
  have some odd descriptions guessed by results of try-and-errors.
  (the only info I have is the Linux driver, but I think it doesn't describe
   the hardware specifications very well anyway)
- All RX packets and most TX packets are copied from/to buffers in the driver
  due to hardware restriction, so performance is not so good for now.
  Maybe RX packets can be directly DMA'ed to mbufs by the same method used
  of fxp(4), but the hardware seems to require 4kbyte aligned RX buffers.
- Multicast filter setup function is not tested yet (no info).
- Currently only tested on R5000 O2 with disabled L2 cache, so needs
  more tests on other CPU (i.e. RM5200/R10000/R12000) models.
- Currently BUS_DMA_COHERENT is not used for the device control data DMA
  to avoid performance issue on memcpy() against RX buffers, but it might be
  problematic when L2 cache is enabled or on R10000 models.
2004-07-11 03:13:04 +00:00
tsutsui 43f42bdb21 Count mace interrupts by evcnt(9). 2004-07-10 08:47:33 +00:00
tsutsui 9864035c97 Remove a debug printf. 2004-07-10 08:44:42 +00:00
tsutsui 0d31ac4463 Make sure shared interrupts properly handled. 2004-07-10 07:39:13 +00:00
sekiya e594b2f3d9 The lpt driver doesn't play nicely with the serial ports -- they share the
same interrupt, and something isn't quite right with the mace interrupt
dispatcher.  Disable for now.

Pointed out by Tillman Hodgson and confirmed by ozone on port-sgimips.
2004-03-25 00:53:58 +00:00
bjh21 5aca86918f Add a new MI attribute, pckbc_machdep_cnattach, and change pckbc_cnattach()
to only call pckbc_machdep_cnattach() if this is present.  This allows
pckbc_machdep_cnattach() to be omitted entirely on most ports, where it only
returns ENXIO anyway.

The devices with this attribute at the moment are pc(4) on i386 and bebox, and
pckbc on sparc, where pckbc_machdep_cnattach() mysteriously returns 0 rather
than ENXIO.
2004-02-14 14:33:28 +00:00
jdolecek 6c14651ea0 cleanup old lpt(4) attachment, and glue ppbus in so that they can coexist:
* lpt device is defined in MI place (dev/ppbus/files.ppbus), dev/ic/lpt.c
  is included there too; dev/ic/lpt.c is not included if ppbus is
  configured or if there is alternative platform lpt (like for pc532)
* g/c MD lpt definitions and custom puc/upc attachments,
  glue moved to conf/files and dev/pci/files.pci respectively; remove
  device lpt definition from dev/isa/files.isa
* add ppbus parport attribute, atppc device attachments, adjust plip and lpt
  glue
2004-01-20 19:58:00 +00:00
sekiya bdf3df3127 Checking for IP32 in each driver is redundant -- they're attached as children
of mace, so it is sufficient to perform the check in mace_match().  Pointed
out by soren@.
2004-01-19 10:28:28 +00:00
sekiya cfc3bade55 Attach the com and mcclock devices only if the machine is an IP32. 2004-01-19 00:30:17 +00:00
sekiya 5aea276a37 Add files.dev and files.mace 2004-01-18 04:07:17 +00:00
sekiya 63b59c4db4 Following the example of the hpc/, gio/, and ioc/ directories, move the
mace devices to their own mace/ directory.  Alter conf/files.sgimips to
reflect this change in a sane manner (i.e., pull in dev/files.dev and
mace/files.mace when appropriate).

At the same time, allow crime_intr_establish() to fall through to
mace_intr_establish().  mace devices now call cpu_intr_establish().
2004-01-18 04:06:42 +00:00