Commit Graph

2937 Commits

Author SHA1 Message Date
tsutsui d73bf82699 Remove unused FE_VERSION and FE_REG_VERSION. 2002-09-28 17:22:49 +00:00
scw ee37eef012 Add smc91cxx_copy_tx_frame(), based on the version in cs89x0.c, to deal
with misaligned mbufs.
2002-09-28 10:24:46 +00:00
thorpej 3c31492a4f Increase the timeout in wi_cmd(). Fixes reports of "busy didn't
clear".  From David Young <dyoung@ojctech.com>.
2002-09-27 21:54:17 +00:00
thorpej f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +00:00
provos 0f09ed48a5 remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +00:00
onoe 30d884d47c Add support for SIOC[SG]80211BSSID, SIOC[SG]80211CHANNEL.
Change the name of structure ieee80211_bss to ieee80211_node, which is
used for management of stations in hostap mode, and peers in ibss mode.
Split off ic_opmode, ic_phytype from ic_flags.
Preparation to merge 'wi' driver into 80211subr.c.
2002-09-27 05:36:04 +00:00
thorpej 6c88de3b53 Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller.  Use it
rather than invoking cfattach->ca_match directly.
2002-09-27 03:17:40 +00:00
thorpej d1ad2ac4f2 Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver.  The cfdriver is then looked
up in a list which is built at run-time.
2002-09-27 02:24:06 +00:00
martin e6c17aca91 If we wi_stop the card in wi_shutdown, better do that before the frontend
removes power from the pcmcia slot (inside the sc_disable hook).
2002-09-26 23:55:43 +00:00
martin 67bd51c724 Set error = 0 (instead of EINVAL) when it is later tested against != 0.
This allows using wiconfig while the interface is not (yet) marked IFF_UP
again.
2002-09-26 23:47:57 +00:00
martin aba5b183cd In wi_shutdown only call wi_stop if sc_enabled is set (don't try to send
commands to a card that is not powered up - it will always fail)
2002-09-26 22:51:30 +00:00
onoe e8bc592172 Oops. forgot to delete old line in previous commit:
| Changed the name for resource id 0xfd45 to match the reality.
|	WI_RID_OWN_BEACON_INT -> WI_RID_CUR_BEACON_INT
2002-09-26 16:58:44 +00:00
onoe 55ef0eb8b9 Changed the name for resource id 0xfd45 to match the reality.
WI_RID_OWN_BEACON_INT -> WI_RID_CUR_BEACON_INT
2002-09-26 16:52:44 +00:00
mycroft 5031fe3837 Update copyright. 2002-09-25 06:23:29 +00:00
mycroft 04f09a4b0c Additional fixes to make 16 targets work on FAS366. 2002-09-25 05:19:20 +00:00
uwe be3f67ca41 Add some preliminary support for setting up the CyberPro in Netwinder.
Setup sequence obtained from Krups OFW with some CyberPro-specific
magic from Linux driver.  The driver still has a lot of hardcoded
stuff, but it is useful enough to bring up wscons on netwinder.

XXX: Proper console attachment needs to be written (the driver was
originally developed on sparc, where our approach to attaching console
is totally different).

Caveat emptor!
2002-09-24 18:17:24 +00:00
mycroft 06c9e05c76 Oof, this driver needs a lot more work to support 16 targets. 2002-09-24 13:29:44 +00:00
ad d5a6fc237b Deal with the strange SCC wiring on TC IOASIC machines. Thanks to Bill
Studenmund and Jonathan Stone for useful comments.
2002-09-24 13:23:31 +00:00
bsh 63422177a6 make this compile again on ports that don't have bus space stream methods. 2002-09-24 02:30:15 +00:00
thorpej 4f4dc45bbb Jumbo patch, from David Young <dyoung@ojctech.com>, with small tweaks
by me:
* Speed up reading/writing buffers from the hardware by avoiding
  slow forward seeks.  In preparation to use the optimization, do
  not read overlapping bytes.  This is currently disabled, but can
  be enabled with OPTIMIZE_RW_DATA.
* Hand 802.11 and Prism-specific frames to BPF.  User can watch these
  frames by specifying an alternate DLT to e.g. tcpdump(8).
* Add support for SIOC[SG]80211BSSID and SIOC[SG]80211CHANNEL.
* Issue join requests and track join/create state through link-status
  notifications.
* Split wi_rxeof into separate routines for receiving Ethernet II,
  802.11 data, and 802.11 management frames.
* Bug fix: Account for aligning m_data to a word boundary in the Rx
  buffer size check.
* Bug fix: Check for LLC/SNAP even if the firmware tells us the frame
  is Ethernet II, as the firmware sometimes gets this wrong.
* Process as many events as possible when we get an interrupt, using
  a simple heuristic to avoid reprocessing an event (which can have
  bad side-effects).  Clamp the time spent in the interrupt handler
  to 4ms.
* Redo the timeout loops to be consistent and less prone to error.
* Add delays to timeout loops which were missing them, so that a
  fast CPU won't win the race.
* Borrow some timeout loop values from the linux-wlan-ng driver,
  which seems to reflect a high level of clue (due to direct support
  from Intersil).
* Get rid of silly wi_read_data(..., len + 2) idiom; simply round up
  in wi_read_data() and wi_write_data().  Also, protect against a
  length of 0.
* Name some frequently-used constants.  Correct spelling.  Other style nits.
* Bug fix: On Prism, set Create IBSS register to 0 *always*.  The meaning
  of Create IBSS == 1 is join an IBSS or *ESS*, and we do not want to
  join an ESS, because that would put us in an inconsistent state.  0
  is the right value for Prism.
* Bug fix: Clean up state at the top of wi_init(), in the event that
  we don't reach the bottom.
* Simplify wi_start() by always providing an RFC1042-encoded 802.11
  frame to the firmware.
* Larval powersave support for HostAP mode, enabled by WI_HOSTAP_POWERSAVE.
* Bug fix: Call wi_stop() from wi_shutdown().
* Bug fix: sync media options with HostAP mode in wi_sync_media().
* In wi_media_status(), inquire firmware for current media state if
  media == auto.  From FreeBSD.
* Clean up the way buffer lengths are computed by using pointer
  arithmetic rather than magic constants.
* Swap the order of comparisons in addr_cmp() for speed.
* Bug fix: Send ReAssoc Response instead of Assoc Response to a
  ReAssoc Request.
* Bug fix: Copy SSID using the correct size.
* Give more meaningful names to offsets in a wi_frame.
* Bug fix: Assign the right values to the named constants for
  Rx frame encoding.
* Get rid of useless SNAP constants.
2002-09-23 14:31:27 +00:00
chs cc28b18bbb don't print anything when attaching as part of a FAS.
it doesn't add any information and it messes up the autoconf output.
2002-09-23 04:57:59 +00:00
itojun 8e89eeb639 missing include - sys/conf.h 2002-09-23 03:20:51 +00:00
mycroft b200651116 Tell the scsibus layer we have 16 targets on the FAS366. 2002-09-22 19:05:11 +00:00
ad 25441c6b4a - Fix a command accounting bug.
- Don't use ID 0, since 1.x firmware may not like it.
2002-09-22 18:59:00 +00:00
thorpej 620a647b60 For the 21142/21143 internal Nway, only advertise/resolve media for
which we have SROM blocks.
2002-09-18 19:12:17 +00:00
petrov dc81a805ea Use driver reset in case 'internal state mismatch'. 2002-09-16 21:49:15 +00:00
isaki 4ff27b57fb Correct xfer->busy_free status in DIAGNOSTIC. 2002-09-08 07:58:14 +00:00
gehenna 77a6b82b27 Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +00:00
scw 0dbf19c561 Add a flag, SMC_FLAGS_32BIT_READ, which is settable by the bus-specific
back-end to indicate that the device always sees reads as 32-bit
transactions, even if the host does 8 or 16-bit reads.

This is necessary for the SH-5 "Cayman" on-board ethernet. The SMsC part
is behind an FPGA which maps all cpu reads to 32-bits transactions.
2002-09-04 14:54:37 +00:00
augustss 2f5aeb92d3 Use a different way to recognize tea5759 chips. From OpenBSD. 2002-09-03 18:53:40 +00:00
thorpej 0007acff8b Fix the PARTID for the original 79c970, from Dave Barnes, kern/18029. 2002-09-03 17:57:49 +00:00
onoe 26ebf5f371 Several fixes hostap for awi driver:
- aging ang clear inactivity stations
- DTIM field in beacon/probe response.
- ignore IFF_PROMISC for hostap mode, since 802.11 has 3 address fields,
  so that promisc mode is not required for AP function.
2002-09-03 14:54:00 +00:00
itojun c0a8cbae7c drop garbage packet (due to chip bug) before injecting it to bpf.
make sure to behave as IFF_SIMPLEX, some lance chips does not behave as
IFF_SIMPLEX (e.g. vmware in outgoing multicast case).
http://mail-index.netbsd.org/tech-net/2001/05/16/0001.html
2002-09-03 14:48:16 +00:00
onoe efcfc3e1c8 Add experimental support of Host-AP mode for awi driver.
It works also with WEP enabled.
But aging the associated clients is not implemented yet, so that the number
of clients may increase unlimitedly..
2002-09-02 13:37:35 +00:00
mjacob e2f3e02af9 Do not enable interrupt driven mailbox commands for non-FC scsi. 2002-09-01 22:30:09 +00:00
ad e7ab6ca550 Nuke incorrect mailbox length defines and just use 13 everywhere. May help
with PR/14266.
2002-08-31 05:18:03 +00:00
abs f951ddc019 Fix AHC_NO_TAGS to actually disable tagged queuing, and document. 2002-08-30 21:54:10 +00:00
bouyer 3d187bd055 The 1010 will generate a scsi gross error if a RAM entry is read before being
written (i.e. is used uninitialised). The esiop SCRIPT may do this in some
circonstances (and it is safe) so bus_space_set_region_4() the RAM in
reset routine.
Problem reported and fix tested by Allen Briggs.
2002-08-29 18:23:52 +00:00
bouyer f86eed6ce2 Add definitions for the AIP control registers (1010 only). 2002-08-29 16:43:23 +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
matt e25f13dfbe From OpenBSD:
- Fix one typo (instead of two disable_rx, one disable_rx and one disable_tx)
[The other bug fix isn't appropriate since the was OACTIVE is dealt with
has been changed in NetBSD.]
2002-08-28 17:46:58 +00:00
onoe fd9daca7ea Attach another DLTs for bpf: DLT_IEEE802_11 to capture raw 802.11 frame. 2002-08-28 09:38:08 +00:00
ad 35c2b89513 Add an ioctl to retrieve basic controller information. 2002-08-26 17:02:15 +00:00
martin d797b29d85 Give arrays in the softc indexed by channel number the right size
and define a symbolic name for the number of channels.
2002-08-26 17:00:42 +00:00
ad fba11cbab8 Handle aincent firmware as found on EISA/MCA boards. Untested. 2002-08-26 15:27:12 +00:00
petrov a413e88543 Accept WDTR from device(based on John Heasley patch for SCSI3 drive).
Do not define NCR53C9X_DEBUG.
2002-08-26 06:23:32 +00:00
petrov 3a67429963 Start SYNC/WIDE renegotiating in controller reset, rearrange debug output. 2002-08-26 05:17:48 +00:00
petrov 584ece2d73 Dispose unused tinfo flags. 2002-08-26 05:14:47 +00:00
thorpej f066e17960 Fix some signed/unsigned comparison warnings from GCC 3.3. 2002-08-25 19:11:16 +00:00
bouyer 7e6804d723 Add support for Ultra/133 (ultra-DMA6) in wdc_probe_caps(). 2002-08-25 17:22:38 +00:00
martin be6275d6fc Add a mixerctl to mute the internal (mono) speaker via
"mixerctl -w monitor.mono=off".

From Sung-Won Chung, slightly modified. All errors by me.
2002-08-22 20:42:22 +00:00
martin f2889deae7 Argh! Remove accidently commited debug changes. 2002-08-22 10:06:22 +00:00
martin 0d833862da Fix output volume handling, port-sparc64/18033 from Sung-Won Chung. 2002-08-22 10:02:21 +00:00
onoe 19a6d3dfb3 Make the meaning of media options consistent with other wireless drivers.
mediaopt adhoc  802.11 adhoc (IBSS) mode.  IBSS creation is enabled
			for cards which can create IBSS.
	mediaopt adhoc,flag0    old lucent adhoc demo mode.
Note that [adhoc] media options for wi driver was used for adhoc demo mode,
which is NOW CHANGED.
2002-08-21 03:26:29 +00:00
mjacob 672c41205f If we're using ancient (pre 1.17.0) 2100 f/w (for the cards that cannot
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.
2002-08-17 17:31:53 +00:00
mjacob bb6cb67b54 Further fix problems with 23XX ISR handling and correctly initialize the
23XX to use ZIO in preference to fast posting.
2002-08-16 21:43:14 +00:00
mjacob 93ad4971f1 Various changes to allow for overriding just loopid and/or iid.
Fix a random 23XX ISR reading bug. Be chattier about HBA_BOTCH
errors. More f/w cashdump layering.
2002-08-12 21:33:39 +00:00
thorpej 1336889c8a wi_keylen is kept in little-endian order, so le16toh() it before
using it in e.g. a memcpy() call.
2002-08-12 16:56:39 +00:00
thorpej 1cb29bde17 Pass all 3 parameters to wi_cmd(). 2002-08-11 22:03:43 +00:00
thorpej b336ee00cd * Fix a Lucent <-> Prism2 WEP interop bug. We only want to set the
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).
2002-08-11 21:54:19 +00:00
thorpej 3ebfddbcca Remove an unused member from the softc. 2002-08-11 21:50:06 +00:00
thorpej c4ec970f17 Remove a redundant defn. 2002-08-11 21:49:40 +00:00
isaki dd0e0396bc Add driver for ScanLogic SL811HS/T USB Host Controller.
XXX It's experimental code yet.

For x68k: USB part of Nereid USB/Ethernet/memory board
For ISA:  ISA USB Host board from Morphy planning
2002-08-11 13:17:52 +00:00
thorpej 22c90da7f0 Snapshot of work-in-progress: Add AP support for Prism2-based boards.
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.
2002-08-11 06:13:53 +00:00
thorpej 918a335551 Use WI_RID_DATA_RATES to fetch the supported rates. From OpenBSD. 2002-08-11 01:35:10 +00:00
thorpej bb718bd6e3 * Add "wi_flags" to the softc to indicate capabilities of the card. Fill
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.
2002-08-11 01:30:28 +00:00
thorpej d1737f8f98 Only read supported rates on Prism2 boards. 2002-08-11 00:11:52 +00:00
thorpej 375eb183ff Read supported rates from the card and report them. Only add
media types if that rate is supported.

Adapted from OpenBSD.
2002-08-11 00:00:41 +00:00
thorpej dbae3bd18f Define PORTTYPE constants for IBSS and HOSTAP (already in the
comments!).
2002-08-10 23:29:53 +00:00
thorpej 742ad68157 Fix some whitespace. 2002-08-10 23:16:14 +00:00
soren 9e129fde67 Add ATA SMART reporting support from Ben Collver in kern/12787. 2002-08-05 23:29:27 +00:00
onoe 248c861292 Fix IBSS for awi driver. 2002-08-05 06:55:05 +00:00
itojun 8dd04cdcd7 correct range check, have overflow check, fix type mismatches,
for cmap args and some other calls.  from openbsd
2002-08-03 00:12:48 +00:00
augustss 0e796224d0 Remove warning about PCI bus configuration being broken since it
works now.
2002-07-30 15:01:15 +00:00
simonb 21ffe19c1b Don't name parameters in a function declaration. 2002-07-29 05:57:16 +00:00
simonb b8f11b739f ANSIfy, KNF. 2002-07-29 05:54:09 +00:00
wiz b02ee1f0b7 Two typos in comments. 2002-07-26 14:10:22 +00:00
wiz 5db23d2c5d enouth -> enough. 2002-07-26 01:00:39 +00:00
onoe fdcde8230d Set desired ESSID for probe request. 2002-07-25 07:15:50 +00:00
hannken f8908aa291 Convert to new device buffer queue interface. 2002-07-24 19:34:57 +00:00
uwe fee27e724f Add definitions of IGS coprocessor registers (not used yet).
Always init chip via I/O space.
Map only I/O registers we actually need.
Automatically detect if we need to do bswapping
Add (untested) code to use automagic bswap on CyberPro.
Report video memory amount.
Report if/how bswapping is done.
2002-07-21 02:56:35 +00:00
wiz e00173a7f2 Spell 'should' correctly. 2002-07-18 11:59:06 +00:00
chs bfb698717d use the SROM info to set the media in 2114[23] autonegotiation
rather than just fiddling the opmode CSR, since we might
need to change the SIA CSRs as well (eg. for some ZNYX cards).
from PR 17510.
2002-07-14 21:02:41 +00:00
chuck 9b667cf839 only powerdown on a suspend. do not powerdown on a standby (PR#17537). 2002-07-09 20:19:57 +00:00
drochner 2693ad5a05 save quirks in softc, obey VGA_QUIRK_NOFASTSCROLL 2002-07-08 19:45:28 +00:00
drochner d10ae84f7b save the "quirks" in the softc 2002-07-08 19:43:23 +00:00
mycroft 8a3f8605fb Add a missing DELAY() in the initial GPIO setup for the 21140. 2002-07-08 18:43:54 +00:00
tron 7db7acdde8 Fix a typo in last commit which caused build failures if
"PCDISPLAY_SOFTCURSOR" is not defined.
2002-07-07 10:52:18 +00:00
junyoung f73c9efaab No need to include opt_vga.h here, since it is included in vgavar.h. 2002-07-07 07:37:50 +00:00
junyoung da843e013f There's no function like vga_common_setup. 2002-07-07 07:34:54 +00:00
junyoung 798d30c8d5 - ANSI & KNF, notably remove __P.
- Some cosmetic changes.
2002-07-07 06:49:22 +00:00
junyoung 472e54071a Rename vc_ccol and vc_crow in struct pcdisplayscreen to cursorcol
and cursorrow, respectively, to be consistent with other members
in the structure.
2002-07-07 06:36:32 +00:00
joda d1acc508df add a couple of Analog device names 2002-07-05 13:50:47 +00:00
junyoung 3d826105dc alloc_attr -> allocattr
Approved by Matthias Drochner.
2002-07-04 14:37:10 +00:00
drochner 3680345a91 simplify console initialization a bit, avoid wasting
memory in attach(), and add some commemts
2002-07-01 16:56:09 +00:00
thorpej f3ae1a786e In ex_shutdown(), call ex_enable() to make sure the interface is
powered up and the PCI configuration registers restored.  If we
don't do this, the firmware on some machines gets REALLY confused.
2002-07-01 16:16:37 +00:00
christos 63a19c881d more cleanups from Julio Merino. 2002-07-01 13:17:48 +00:00
drochner 9b3975fd12 clean up font handling:
-treat the builtin font like any other font at runtime
-for that, copy it to malloc()'d memory during attach()
-in early console initialization, if we have to consider a broken card
 (VGA_CONSOLE_ATI_BROKEN_FONTSEL), copy the builtin font to another
 location in font ram; the attach() code will do the rest
put the "quirk" code into effect again
2002-06-28 22:24:11 +00:00
junyoung a52db40372 Do the necessaries when the builtin font gets saved in slot 1. 2002-06-28 03:38:13 +00:00
junyoung 754342aeb8 - Work around a hardware bug that loaded fonts don't work, which is
found on many (all?) of PCI-based ATI graphics cards. It is fully optional
  and can be enabled by adding `options VGA_CONSOLE_ATI_BROKEN_FONTSEL'
  to config file.
- Temporarily remove `quirk' mechanism. Similar code already exists
  in pci_quirks.c.
2002-06-27 06:26:51 +00:00