o Comment out the symbol download code for 4.x.

o Add hooks for doing power management of the output signal.
o Minor hacks to make flexlint happy wrt staticness of functions.
This commit is contained in:
Warner Losh 2002-10-14 01:59:57 +00:00
parent 0b78986fe2
commit aa23e9c476
4 changed files with 42 additions and 6 deletions

View File

@ -50,7 +50,6 @@
#ifndef SIOCGWAVELAN
#define SIOCGWAVELAN SIOCGIFGENERIC
#endif
#define WI_RID_MONITOR_MODE 0x0500
/*
* Technically I don't think there's a limit to a record
@ -76,6 +75,9 @@ struct wi_req {
#define WI_RID_ZERO_CACHE 0x0300
#define WI_RID_READ_CACHE 0x0400
#define WI_RID_FWDOWNLOAD 0x0500
#define WI_RID_MONITOR_MODE 0x0600
#define WI_RID_MIF 0x0700
struct wi_80211_hdr {
u_int16_t frame_ctl;
@ -698,8 +700,6 @@ struct wi_scan_p2_hdr {
#define SIOCSPRISM2DEBUG _IOW('i', 137, struct ifreq)
#define SIOCGPRISM2DEBUG _IOWR('i', 138, struct ifreq)
#define WI_CMD_DEBUG 0x0038 /* prism2 debug */
#define WI_DEBUG_RESET 0x00
#define WI_DEBUG_INIT 0x01
#define WI_DEBUG_SLEEP 0x02

View File

@ -142,10 +142,12 @@ static void wi_media_status(struct ifnet *, struct ifmediareq *);
static int wi_get_debug(struct wi_softc *, struct wi_req *);
static int wi_set_debug(struct wi_softc *, struct wi_req *);
#if __FreeBSD_version >= 500000
/* support to download firmware for symbol CF card */
static int wi_symbol_write_firm(struct wi_softc *, const void *, int,
const void *, int);
static int wi_symbol_set_hcr(struct wi_softc *, int);
#endif
devclass_t wi_devclass;
@ -842,7 +844,7 @@ wi_txeof(sc, status)
return;
}
void
static void
wi_inquire(xsc)
void *xsc;
{
@ -866,7 +868,7 @@ wi_inquire(xsc)
return;
}
void
static void
wi_update_stats(sc)
struct wi_softc *sc;
{
@ -1651,6 +1653,9 @@ wi_ioctl(ifp, command, data)
{
int error = 0;
int len;
int s;
uint16_t mif;
uint16_t val;
u_int8_t tmpkey[14];
char tmpssid[IEEE80211_NWID_LEN];
struct wi_softc *sc;
@ -1662,7 +1667,6 @@ wi_ioctl(ifp, command, data)
#else
struct proc *td = curproc; /* Little white lie */
#endif
int s;
sc = ifp->if_softc;
WI_LOCK(sc, s);
@ -1763,6 +1767,12 @@ wi_ioctl(ifp, command, data)
memcpy((char *)wreq.wi_val, (char *)sc->wi_scanbuf,
sc->wi_scanbuf_len * 2);
wreq.wi_len = sc->wi_scanbuf_len;
} else if (wreq.wi_type == WI_RID_MIF) {
mif = wreq.wi_val[0];
error = wi_cmd(sc, WI_CMD_READMIF, mif, 0, 0);
val = CSR_READ_2(sc, WI_RESP0);
wreq.wi_len = 2;
wreq.wi_val[0] = val;
} else {
if (wi_read_record(sc, (struct wi_ltv_gen *)&wreq)) {
error = EINVAL;
@ -1799,6 +1809,10 @@ wi_ioctl(ifp, command, data)
} else if (wreq.wi_type == WI_RID_SCAN_REQ &&
sc->sc_firmware_type == WI_LUCENT) {
wi_cmd(sc, WI_CMD_INQUIRE, WI_INFO_SCAN_RESULTS, 0, 0);
} else if (wreq.wi_type == WI_RID_MIF) {
mif = wreq.wi_val[0];
val = wreq.wi_val[1];
error = wi_cmd(sc, WI_CMD_WRITEMIF, mif, val, 0);
} else {
error = wi_write_record(sc, (struct wi_ltv_gen *)&wreq);
if (!error)
@ -3137,6 +3151,7 @@ wi_set_debug(sc, wreq)
return (error);
}
#if __FreeBSD_version >= 500000
/*
* Special routines to download firmware for Symbol CF card.
* XXX: This should be modified generic into any PRISM-2 based card.
@ -3273,3 +3288,4 @@ wi_symbol_set_hcr(struct wi_softc *sc, int mode)
tsleep(sc, PWAIT, "wiinit", 1);
return 0;
}
#endif

View File

@ -222,6 +222,7 @@ wi_pccard_attach(device_t dev)
return (error);
}
#if __FreeBSD_version > 500000
/*
* The cute little Symbol LA4100-series CF cards need to have
* code downloaded to them.
@ -242,6 +243,7 @@ wi_pccard_attach(device_t dev)
return (ENXIO);
#endif
}
#endif
return (wi_generic_attach(dev));
}

View File

@ -214,11 +214,23 @@
#define WI_CMD_NOTIFY 0x0010
#define WI_CMD_INQUIRE 0x0011
#define WI_CMD_ACCESS 0x0021
#define WI_CMD_ACCESS_WRITE 0x0121
#define WI_CMD_PROGRAM 0x0022
#define WI_CMD_READEE 0x0030 /* symbol only */
#define WI_CMD_READMIF 0x0030 /* prism2 */
#define WI_CMD_WRITEMIF 0x0031 /* prism2 */
#define WI_CMD_DEBUG 0x0038 /* Various test commands */
#define WI_CMD_CODE_MASK 0x003F
/*
* Various cmd test stuff.
*/
#define WI_TEST_MONITOR 0x0B
#define WI_TEST_STOP 0x0F
#define WI_TEST_CFG_BITS 0x15
#define WI_TEST_CFG_BIT_ALC 0x08
/*
* Reclaim qualifier bit, applicable to the
* TX and INQUIRE commands.
@ -664,3 +676,9 @@ struct wi_frame {
#define WI_SNAP_WORD1 (WI_SNAP_K2 | (WI_SNAP_CONTROL << 8))
#define WI_SNAPHDR_LEN 0x6
#define WI_FCS_LEN 0x4
/*
* HFA3861/3863 (BBP) Control Registers
*/
#define WI_HFA386X_CR_A_D_TEST_MODES2 0x1A
#define WI_HFA386X_CR_MANUAL_TX_POWER 0x3E