sync that descriptor with PREREAD to make sure that it is evicted
from the data cache. From Allen Briggs.
* With the above bug fixed, stop using BUS_DMA_COHERENT, resulting in
a fairly decent performance improvement on systems where BUS_DMA_COHERENT
causes descriptors to be accessed uncached (most painful in wm_start()).
load f/w images > 0x7fff words), set ISP_FW_ATTR_SCCLUN. We explicitly
don't believe we can find attributes if f/w is < 1.17.0, so we have to
set SCCLUN for the 1.15.37 f/w we're using manually- otherwise every
target will replicate itself across all 16 supported luns for non-SCCLUN
f/w.
- centralize pcmcia function allocation and free'ing.
- free the cfe too, not just the pf in the multifunction card case.
- don't free pointers while walking the list, because free() will
fill the memory with deadbeef, thus killing list walking.
EXCLUDE_UNENCRYPTED bit in the WI_RID_P2_ENCRYPTION value if we are
in shared key mode. Symbol cards, just to be different, supposedly
always want the EXCLUDE_UNENCRYPTED bit set (confirmed with the
Linux orinoco and spectrum24 drivers).
* Flesh out the Host-AP WEP transmit side. Note this does not yet
work properly; the frame as seen by the receiver FCS's incorrectly.
Both changes from OpenBSD. Not confirmed whether or not Host-AP WEP
works with OpenBSD (mail sent to millert).
-Free AGP memory on close, to avoid a memory leak in case
the X server doesn't free it explicitely.
(It appears that the X server never calls AGPIOC_DEALLOCATE.)
Fixes PR kern/17869 by Emmanuel Dreyfus.
WEP for APs is not yet implemented, but without WEP, this works well
enough for my laptop to associate with an AP running this code.
Adapted from OpenBSD.
in this info based on firmware type and version. Replace "wi_has_wep"
with a flag.
* For cards which support IBSS, add "ibss" has a media option.
* For cards which support CREATE_IBSS, add "ibss-master" as a media
option.
* Use the "ibss" and "ibss-master" media options to determine if
we should go into IBSS mode and/or create the IBSS.
* Internally convert between the generic WI_PORTTYPE_IBSS and the
value the firmware wants to use for IBSS.
* When setting the IBSS name, if a desired-SSID is set, and we're
an ibss-master, write the desired-SSID into the own-SSID slot.
This ensures that "ifconfig wi0 nwid FOO" will do the expected
thing.
* Only set the roaming mode if the card supports roaming.
From OpenBSD.
needs to. In particular, they often surround calls to malloc().
Re-work the locking on most macros to avoid this problem.
XXX: On MP systems, simultaneous calls to the GET macros when a
freelist is empty may cause that freelist to grow more quickly than
before. Given that the "increment" value of these lists are fairly
small, this shouldn't be too much of an issue.
i82546 chip has 2 Gig-E interfaces in a single chip.
The main difference is these chips have a special handshaking protocol
for accessing the EEPROM (due to the shared nature on the i82546).