Commit Graph

36 Commits

Author SHA1 Message Date
wiz c42e1fac66 Management, not managment. Mostly from jmc@openbsd. 2003-04-26 22:07:12 +00:00
pk d46f710241 Enable the MII output drivers in hme_mifinit() based on the currently
selected transceiver. Save and restore this setting in hme_mii_readreg()
and hme_mii_writereg().
2003-02-27 14:58:22 +00:00
petrov 1d6ce76050 Use MIIF_FORCEANEG. 2003-02-20 20:09:56 +00:00
pk b377c6693a Preserve the current PHY select bit in the MIF configuration register
in mii_readreg()/mii_writereg(). Also restore this bit based on the
currently selected media instance every time we need to reinitialise
the interface.
2003-02-13 12:10:20 +00:00
martin 324c47457d Since we have to select one of the two possible PHYs when configuring
the MIF Configuration Register PHY_Select, there is no use in pretending
we could talk to both at the MII interface layer.

If both PHY are reported to be present, prefer the external one.

Remember this selection and enforce it in hme_mii_{read,write}reg.
This fixes problems with one of the dual hmes in Netra T1s.

From OpenBSD.
2002-12-18 23:13:02 +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
martin 95617c00d7 Experimentation shows the hme chip is SIMPLEX if used in full-duplex
mode, but not otherwise.

This fixes PR 17523.
2002-08-29 14:33:03 +00:00
thorpej 9a88d576c1 hme_init(): call mii_mediachg() to make sure the current media is set. 2002-05-05 03:02:38 +00:00
tron e75321130b Back out new "hme" driver because it causes a performance regression on
"netio" on an U5.
2001-11-26 10:39:29 +00:00
tron 7287466499 Bug fixes for VLAN handling supplied by Klaus Klein in private e-mail. 2001-11-26 06:51:12 +00:00
tron 99756bfe86 Pull in Jason Wright's latest changes to the "hme" driver from OpenBSD.
This supports direct DMA from and into mbuf cluster, and VLAN
handling is done a bit differently.
2001-11-25 22:12:01 +00:00
lukem a4bae8b066 add/cleanup RCSID 2001-11-13 13:14:31 +00:00
mrg 3059c66d8f fix a typo in the previous 2001-10-22 16:47:43 +00:00
mrg c4f3ffd5e7 increase the value of _HME_NDESC from 32 to 128. it reduces the noise the
driver makes due to various bad status conditions.
2001-10-22 16:45:20 +00:00
thorpej 0d4d2293bb Minor tidying up of the HME driver attach:
- Print nicer-looking message.
- Use bus_space_subregion() when appropriate, rather than arithmetic
  on a bus_space_handle_t.
2001-10-05 17:49:43 +00:00
thorpej 150ca9d41a bcopy -> memcpy, strcpy 2001-07-07 15:59:37 +00:00
thorpej 6b16911a43 ALTQ'ify. 2000-12-14 06:27:23 +00:00
bouyer 42681a6a9f Supports ETHERCAP_VLAN_MTU. Tested on sbus hme on Ultra/1.
Thanks to Andrei Petrov for the hint !
2000-11-17 19:08:00 +00:00
thorpej b84f740be0 Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach(). 2000-11-15 01:02:11 +00:00
mrg 0c6aa8d3ed ensure DMA mappings are not mapped streamable. fixes ethernet problems on
ultrasparc sbus class machines.  from eeh.
2000-10-20 06:08:02 +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
eeh 79dffec702 Get PCI HME working. 2000-06-25 01:05:16 +00:00
pk 297445c2a2 Turn on the hash filter enable bit in the RX configuration register
when loading the multicast hash filter (noted by itojun@iijlab.net).
2000-06-15 15:34:32 +00:00
mrg badbd98b2a rearrange the order of bus_dma operations to be more like many other
drivers, at the suggestion of fvdl.  also, use bus_dmamap_load() not
load_raw().
2000-05-18 14:00:46 +00:00
mrg cc57e4111a do not pass a `boundary' argument to bus_dmamap_create(), particularly one
that is smaller than the `size' argument.
2000-05-18 12:49:09 +00:00
pk 1bf775b965 Conform bus_dmamem_{alloc,map} usage to bus_dma(9) specs. 2000-05-09 22:42:08 +00:00
mrg 36b65b7d48 return if we can't map DMA buffers 2000-04-05 05:54:02 +00:00
thorpej fc96443d15 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 07:01:25 +00:00
pk 1d373a94e2 Bump receive buffer size up to the maximum DMA burst boundary. 2000-02-14 17:14:28 +00:00
thorpej eed75dbc26 Don't dry to diving MIIF_NOISOLATE in the PHY drivers. Instead, pass
flags down from the parent to child vi mii_attach().
2000-02-02 17:09:38 +00:00
thorpej 84dc99fdea Bring some order to the chaos which was the MII code function naming
"conventions".
2000-02-02 08:05:26 +00:00
pk 85a78db7b1 Add support for selecting a PHY (i.e. built-in transceiver vs. external MII
device) by using media/instance parameters.
1999-12-18 14:05:37 +00:00
pk 60eeab910b Avoid feeding negative values to the `roundup()' macro.
Configure the MII management interface earlier.
1999-12-17 14:37:15 +00:00
pk 967d744acd Correctly encode the configured number of buffer descriptors. 1999-12-15 10:33:31 +00:00
pk 9902ec50bb * Probe the MII device.
* Ask for an interesting set of interrupt conditions.
* Correct various other typos and omissions.
1999-12-14 23:58:15 +00:00
pk 5041f2a9dd HME ethernet driver.
Note: this is work in progress; needs testing and tweaking. mgr has
promised to do that..
1999-06-27 12:26:32 +00:00