Commit Graph

51 Commits

Author SHA1 Message Date
perry f31bd063e9 nuke trailing whitespace 2005-02-27 00:26:58 +00:00
jdolecek daadf23af5 KNF 2005-02-13 15:33:20 +00:00
perry 18db93c7f6 de-__P 2005-02-04 02:10:35 +00:00
dan 724df7bd2e attach rtk(4) as an event source to rnd(4)
patches from Sean Davis in PR/28547
(also added a detach hook)
2005-01-23 10:26:06 +00:00
thorpej e9818f5b5e When adding/deleting multicast addresses, only whack the address
filter if the interface is marked RUNNING.

Fixes kern/27678.
2004-10-30 18:08:34 +00:00
toshii 02598e7452 A couple of changes for adding re(4) (Realtek gigabit ethernet):
- add necessary members in rtk_softc
  - make functions used by re(4) non-static
2004-05-28 15:21:32 +00:00
tsutsui 0ff49f9f99 hz -> Hz 2003-02-21 17:14:04 +00:00
bouyer ab00572d4a Use a properly zero'd buffer to pad the packet to ETHER_MIN_LEN-ETHER_CRC_LEN 2003-01-15 21:53:18 +00:00
thorpej 8b0970afaf Fix signed/unsigned comparison warnings. 2002-11-07 07:46:39 +00:00
fair 96b8b890ed Change the "dontcare bits" argument to ifmedia_init() to IFM_IMASK
so that it is possible select PHY instances other than the first
one (instance zero), if there is more than one PHY attached.
2002-10-22 00:01:55 +00:00
lukem 06de426449 SIMPLEQ rototill:
- implement SIMPLEQ_REMOVE(head, elm, type, field).  whilst it's O(n),
  this mirrors the functionality of SLIST_REMOVE() (the other
  singly-linked list type) and FreeBSD's STAILQ_REMOVE()
- remove the unnecessary elm arg from SIMPLEQ_REMOVE_HEAD().
  this mirrors the functionality of SLIST_REMOVE_HEAD() (the other
  singly-linked list type) and FreeBSD's STAILQ_REMOVE_HEAD()
- remove notes about SIMPLEQ not supporting arbitrary element removal
- use SIMPLEQ_FOREACH() instead of home-grown for loops
- use SIMPLEQ_EMPTY() appropriately
- use SIMPLEQ_*() instead of accessing sqh_first,sqh_last,sqe_next directly
- reorder manual page; be consistent about how the types are listed
- other minor cleanups
2002-06-01 23:50:52 +00:00
lukem a4bae8b066 add/cleanup RCSID 2001-11-13 13:14:31 +00:00
wiz 0f95e3da3c precede, not preceed, and a whitespace fix. 2001-08-20 11:57:02 +00:00
mrg 4f3eac8332 mtod() with uintptr_t, not bus_addr_t. 2001-08-14 11:57:26 +00:00
kanaoka 59942d00fd Fix typo in a message. 2001-08-07 02:59:53 +00:00
kanaoka be5153a923 - Increase Early TX threshold if underrun occurred. 2001-07-25 09:57:31 +00:00
thorpej 623f83a793 Use BUS_DMA_READ and BUS_DMA_WRITE in some obvious places. 2001-07-19 16:25:23 +00:00
thorpej 0884f20bf7 bzero -> memset 2001-07-07 16:13:44 +00:00
thorpej 06ff822b44 bcopy -> strcpy 2001-07-07 15:57:50 +00:00
thorpej 9988acd41e Don't need INET or NS includes here. 2001-06-12 22:28:15 +00:00
thorpej 311479928a Rework the transmit logic. Use a "free" and "dirty" list of
transmit jobs.  The previous logic occasionally, under heavy
load, would attempt to sync and unload DMA maps that weren't
currently in use, and also occasionally leaked mbufs under
heavy load.

Yay, NFS now works pretty well on my Dreamcast.
2001-02-02 04:34:19 +00:00
thorpej bf8be41116 Put the rx buf pointer into the softc directly. 2001-02-02 03:51:51 +00:00
thorpej 84b5bb2f1b Fix a bug in ring-buffer wrap calculation. On the Dreamcast,
it causes assertions to fail in the PCI bounce buffer code.  On
other platforms, it causes the address of the next packet to
be mis-calculated, leading to packet loss.
2001-02-01 04:45:17 +00:00
enami 2c218a4926 Handle allmulti case correctly as a NetBSD network driver;
if we are requested range of multicast address or too many multicast address,
program multicast filter to receive all multicast address.   And set/clear
IFF_ALLMULTI flag properly.
2001-01-29 01:24:42 +00:00
tsutsui 4f8dfdb556 Don't copy Rx packet to mbuf if it has invalid length; just discard it.
Fixes kern/11877.
2001-01-11 14:38:58 +00:00
thorpej ba4b6847df Fix a problem with the ALTQ changes that can cause bogus memory
refernces.  Problem reported by Luke Mewburn.
2000-12-19 00:06:01 +00:00
thorpej 6b16911a43 ALTQ'ify. 2000-12-14 06:27:23 +00:00
tsutsui fd97da6384 Add (missed) bus_dmemem_free() in rtk_detach(). 2000-12-09 02:02:20 +00:00
tsutsui e8bfefe60c - Since rtk_rxeof() was rewritten, we don't have to reserve a few bytes
before the Rx buffer.
- Reduce delay on EEPROM access.
- Some more cosmetics.
2000-12-05 11:11:49 +00:00
tsutsui 311a1a842c Clean up receive interrupt routine:
- Use MGETHDR + MCLGET + memcpy rathar than m_devget + m_adj + m_copyback.
- Call bus_dmamap_sync(9) correctly for Rx buffer.

Mostly from thorpej's if_rtp.c.
2000-12-03 14:24:17 +00:00
tsutsui 786dc5161c Clarify RX status header length and some cosmetics. 2000-11-30 15:51:57 +00:00
tsutsui fd4d074b27 After rev 1.16 rtk driver uses the CRC from the chip,
so no need to adjust Rx address for it. Fixes kern/11301.
2000-11-30 15:33:04 +00:00
takemura 3c9d9276dc Add new powerhook argument values, PWR_SOFTSUSPEND, PWR_SOFTSTANDBY and
PWR_SOFTRESUME. Apm calls powerhook with the values in normal interrupt
priority level while others are protected with splhigh().
2000-11-26 11:08:57 +00:00
thorpej b84f740be0 Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach(). 2000-11-15 01:02:11 +00:00
thorpej 275539f03c NBPG -> PAGE_SIZE 2000-11-14 18:21:00 +00:00
thorpej 4318834442 Don't trim off the FCS, pass it up. 2000-10-15 19:56:31 +00:00
thorpej 2198741306 Use ether_ioctl(). 2000-10-11 16:57:45 +00:00
thorpej 7ca3fb9ef0 Move the check for "promisc + unicast + not for us" into ether_input(),
and change Ethernet drivers to always pass all received frames to
ether_input() (with a few exceptions, which are documented in the
code).
2000-10-01 23:32:39 +00:00
enami d52ba1b85f Fix merge lossage in disabled code. 2000-09-25 01:07:25 +00:00
drochner 641326ee44 -fix multicast filter programming
-support access to MII_ANER too for completeness
-remove some hacks which disappeared in FreeBSD if_rl.c
 rev. 1.25 (Aug 31 14:45:49 1999)
(the driver could need more updating, but this is what I've tested
for months)
2000-09-01 15:07:23 +00:00
tsutsui a6d8e45ba7 Call bus_dmamap_unload() if any Tx mbuf remains in rtk_stop(). 2000-05-21 13:00:46 +00:00
tsutsui f2973e2fb8 - Change RL_* -> RTK_*
- Free bus_dma resources if attach fails
- Add detach and power management code

Patch from Masanori Kanaoka <kanaoka@ann.hi-ho.ne.jp> in kern/10156.
2000-05-19 13:42:29 +00:00
thorpej 7da80620c9 splimp() -> splnet() 2000-05-15 01:55:53 +00:00
thorpej e5ae7c287a Symbol namespace cleanup: rl_ -> rtk_ 2000-05-15 01:55:12 +00:00
thorpej 692e54c43d Use ether_crc32_be(). 2000-05-12 16:44:19 +00:00
tsutsui 9498452c05 - Move some initialization into MI rl_attach() from each bus attachment.
- Use proper CARDBUS_* macro in if_rl_cardbus.c
- Use product ID read from PCI configuration space rather than from EEPROM
  in if_rl_pci.c.

Patch sent from Masanori Kanaoka <kanaoka@ann.hi-ho.ne.jp> and
some cosmetic changes by me.
2000-05-01 15:08:50 +00:00
tsutsui 439b360ab9 Modify EEPROM read functions and handle also 9356 EEPROM.
Fixes kern/9861.
2000-04-30 12:00:40 +00:00
tsutsui b4f524c223 - Allocate mbuf dynamically on Tx and use bus_dmamap_load_mbuf(9).
- Call bus_dmamap_sync(9) as appropriate.
- Leave only register declarations in rtl81x9reg.h and
  split other stuff into rtl81x9var.h.

bus_dma(9) code mostly taken from thorpej's if_rtp.c.
2000-04-26 14:02:34 +00:00
tsutsui 6369b56c99 Fix two endian problems. rtk now works on macppc.
- Use le32toh() on reading rxstat from the Rx DMA buffer.
- rl_read_eeprom() should return EEPROM values in little endian
  when caller requires byte-stream data.

bus_dma(9) fixes are still on-going.

XXX rtk on macppc seems to make tons of CRC errors...
XXX Does it work fine on i386 or others?
2000-04-25 14:16:46 +00:00
tsutsui 6f9392b42a Merge changes of sys/pci/if_rl.c rev. 1.8->1.10. (from kern/9870)
Also remove unused pbase, vbase and PCI_CAP_PWRMGMT declarations.
2000-04-24 15:25:00 +00:00