Subject: CVS commit: src/sys/arch/sgimips/mace
To: None <source-changes@NetBSD.org>
From: Izumi Tsutsui <tsutsui@netbsd.org>
List: source-changes
Date: 07/11/2004 03:13:04
Module Name:	src
Committed By:	tsutsui
Date:		Sun Jul 11 03:13:04 UTC 2004

Modified Files:
	src/sys/arch/sgimips/mace: if_mec_mace.c if_mecreg.h

Log Message:
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.


To generate a diff of this commit:
cvs rdiff -r1.2 -r1.3 src/sys/arch/sgimips/mace/if_mec_mace.c
cvs rdiff -r1.1 -r1.2 src/sys/arch/sgimips/mace/if_mecreg.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.