Commit Graph

22 Commits

Author SHA1 Message Date
thorpej f98d358a1f Rework layer 2 protocol input routines. Instead of calling e.g. ether_input()
directly, call the function pointer (*if_input)(ifp, m).  The input routine
expects the packet header to be at the head of the packet, and will adjust
as necessary.  Privatize the layer 2 input and output routines, allowing
*_ifattach() to set them up as appropriate.
1999-05-18 23:52:51 +00:00
thorpej 1eb689a712 Make the VIA Rhine driver work on big-endian systems. From Izumi Tsutsui,
PR #7305.
1999-04-26 23:19:10 +00:00
thorpej 207f873ac2 Fix an mbuf leak in the strict alignment case of packet reception. 1999-04-24 22:09:56 +00:00
thorpej 3993ee01e4 Don't enable I/O or memory access here! These bits in the PCI CSR are
set up by the firmware, and indicate which mapping types the system
supports.
1999-03-24 01:07:59 +00:00
thorpej 7b516b31bd Major overhaul of the Rhine/Rhine-II driver, structuring it a little more
like the SMC83C100 EPIC/100 driver:
* Rather than using pointers to the head and tail of the transmit and
receive rings, use wrapping indexes into arrays.  This is a little more
obvious when reading the code.
* More cleanly separate the hardware descriptor from the software descriptor.
* bus_dma it everywhere.
* Implement interrupt pacing and avoid a potential race in the transmit
loop.

Now this looks more or less like the Rhine driver I was working on when
this driver was committed :-)  Update copyright notice to reflect that.
1999-02-12 00:36:48 +00:00
thorpej d95d5b1488 Make this driver work on the Alpha. Apparently the receive DMA mechanism
has the same 4-byte alignment requirement that the transmit side does.  This
causes the packet payload to be misaligned.  So, on systems which require
strict alignment, we must copy the incoming frame to a new packet buffer,
suitably aligned.
1999-02-05 22:09:46 +00:00
thorpej b52d1e44d0 Fix the interrupt handler to actually acknowledge the interupt to the
dispatch code (!!!).  How did this work even on the i386 before?
1999-02-05 21:20:31 +00:00
thorpej dde3694c4c Fix some formatting nits. 1999-02-05 08:42:03 +00:00
thorpej 82a54250be Remove some duplicate softc members, and comment some of the softc
fields.
1999-02-05 08:27:46 +00:00
thorpej 8bf66d3eb2 Remove some unnecessary splnet's. 1999-02-05 08:21:31 +00:00
thorpej 50faf19d7d splimp -> splnet 1999-02-05 07:53:24 +00:00
thorpej adc9c40688 Use the generic MII support code, not our own. 1999-02-05 02:58:38 +00:00
thorpej ebf3a97519 Use MII command opcodes from <sys/dev/mii.h> 1999-02-05 01:17:24 +00:00
thorpej 909b90d2d4 Rename VR_MIICMD_DATAIN and VR_MIICMD_DATAOUT to actually match what the
data sheet says.  (The names and their usage were exactly reversed in the
code.)
1999-02-05 01:10:30 +00:00
thorpej 05cbb33e4c Use pcidevs.h to get vendor and product IDs. 1999-02-02 00:32:21 +00:00
thorpej b6a84f08e8 Take software-only structure definitions out of the register description
header.
1999-02-02 00:29:17 +00:00
thorpej bb5edf7345 Remove support for FreeBSD from the driver; so many changes are going
to be required to make it properly portable to all of NetBSD's platforms,
that it just wouldn't be worth the effort.
1999-02-02 00:05:02 +00:00
thorpej 2bdfbafc37 Minimal changes to make this compile on the Alpha. Much more work is
needed to make this a truly portable driver.
1999-02-01 23:40:22 +00:00
sakamoto fd094d79ee NetBSD RCS id. 1999-01-26 06:31:28 +00:00
sakamoto 57d82cd1f3 Change bootverbose 1 to 0.
Add vr_lookup.
1999-01-22 05:34:36 +00:00
sakamoto 4f99746d57 Add NetBSD autoconfiguration support.
KNF.
1999-01-21 12:00:25 +00:00
sakamoto bea8f807a7 Import FreeBSD's VIA Rhine fast ethernet PCI NIC driver
written by Bill Paul <wpaul@ctr.columbia.edu>.
1999-01-21 11:55:22 +00:00