Subject: CVS commit: src/sys/arch/sgimips/mace
To: None <source-changes@NetBSD.org>
From: Izumi Tsutsui <email@example.com>
Date: 07/11/2004 03:13:04
Module Name: src
Committed By: tsutsui
Date: Sun Jul 11 03:13:04 UTC 2004
src/sys/arch/sgimips/mace: if_mec_mace.c if_mecreg.h
Add a working driver for O2 (IP32) on-board MACE MAC-110 Ethernet.
- 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.