diff options
author | bschmidt <bschmidt@FreeBSD.org> | 2011-04-16 14:40:42 +0000 |
---|---|---|
committer | bschmidt <bschmidt@FreeBSD.org> | 2011-04-16 14:40:42 +0000 |
commit | 688aa540894a868ea0e6707dc122e4d2a55d4ec3 (patch) | |
tree | f25f1fe025a5365b8a0481dd7f96505ccb53df86 | |
parent | 28acd24a603d406ef01c097379d80c9e74046b68 (diff) | |
download | FreeBSD-src-688aa540894a868ea0e6707dc122e4d2a55d4ec3.zip FreeBSD-src-688aa540894a868ea0e6707dc122e4d2a55d4ec3.tar.gz |
Just a whitespace sync, some more style(9) conform then others.
-rw-r--r-- | sys/dev/iwn/if_iwn.c | 357 | ||||
-rw-r--r-- | sys/dev/iwn/if_iwnreg.h | 20 | ||||
-rw-r--r-- | sys/dev/iwn/if_iwnvar.h | 6 |
3 files changed, 158 insertions, 225 deletions
diff --git a/sys/dev/iwn/if_iwn.c b/sys/dev/iwn/if_iwn.c index d46afe6..84786c0 100644 --- a/sys/dev/iwn/if_iwn.c +++ b/sys/dev/iwn/if_iwn.c @@ -161,13 +161,12 @@ static void iwn_read_eeprom_band(struct iwn_softc *, int); #if 0 /* HT */ static void iwn_read_eeprom_ht40(struct iwn_softc *, int); #endif -static void iwn_read_eeprom_channels(struct iwn_softc *, int, - uint32_t); +static void iwn_read_eeprom_channels(struct iwn_softc *, int, uint32_t); static struct iwn_eeprom_chan *iwn_find_eeprom_channel(struct iwn_softc *, struct ieee80211_channel *); static int iwn_setregdomain(struct ieee80211com *, struct ieee80211_regdomain *, int, - struct ieee80211_channel []); + struct ieee80211_channel[]); static void iwn_read_eeprom_enhinfo(struct iwn_softc *); static struct ieee80211_node *iwn_node_alloc(struct ieee80211vap *, const uint8_t mac[IEEE80211_ADDR_LEN]); @@ -269,10 +268,12 @@ static void iwn_ampdu_tx_stop(struct ieee80211com *, struct ieee80211_node *, uint8_t); static void iwn4965_ampdu_tx_start(struct iwn_softc *, struct ieee80211_node *, uint8_t, uint16_t); -static void iwn4965_ampdu_tx_stop(struct iwn_softc *, uint8_t, uint16_t); +static void iwn4965_ampdu_tx_stop(struct iwn_softc *, + uint8_t, uint16_t); static void iwn5000_ampdu_tx_start(struct iwn_softc *, struct ieee80211_node *, uint8_t, uint16_t); -static void iwn5000_ampdu_tx_stop(struct iwn_softc *, uint8_t, uint16_t); +static void iwn5000_ampdu_tx_stop(struct iwn_softc *, + uint8_t, uint16_t); #endif static int iwn5000_query_calibration(struct iwn_softc *); static int iwn5000_send_calibration(struct iwn_softc *); @@ -307,11 +308,11 @@ static void iwn_init_locked(struct iwn_softc *); static void iwn_init(void *); static void iwn_stop_locked(struct iwn_softc *); static void iwn_stop(struct iwn_softc *); -static void iwn_scan_start(struct ieee80211com *); -static void iwn_scan_end(struct ieee80211com *); -static void iwn_set_channel(struct ieee80211com *); -static void iwn_scan_curchan(struct ieee80211_scan_state *, unsigned long); -static void iwn_scan_mindwell(struct ieee80211_scan_state *); +static void iwn_scan_start(struct ieee80211com *); +static void iwn_scan_end(struct ieee80211com *); +static void iwn_set_channel(struct ieee80211com *); +static void iwn_scan_curchan(struct ieee80211_scan_state *, unsigned long); +static void iwn_scan_mindwell(struct ieee80211_scan_state *); static void iwn_hw_reset(void *, int); #define IWN_DEBUG @@ -399,11 +400,12 @@ static device_method_t iwn_methods[] = { static driver_t iwn_driver = { "iwn", iwn_methods, - sizeof (struct iwn_softc) + sizeof(struct iwn_softc) }; static devclass_t iwn_devclass; DRIVER_MODULE(iwn, pci, iwn_driver, iwn_devclass, 0, 0); + MODULE_DEPEND(iwn, firmware, 1, 1, 1); MODULE_DEPEND(iwn, pci, 1, 1, 1); MODULE_DEPEND(iwn, wlan, 1, 1, 1); @@ -520,14 +522,14 @@ iwn_attach(device_t dev) sc->mem_rid = PCIR_BAR(0); sc->mem = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &sc->mem_rid, RF_ACTIVE); - if (sc->mem == NULL ) { + if (sc->mem == NULL) { device_printf(dev, "can't map mem space\n"); error = ENOMEM; return error; } - sc->sc_st = rman_get_bustag(sc->mem); sc->sc_sh = rman_get_bushandle(sc->mem); + sc->irq_rid = 0; if ((result = pci_msi_count(dev)) == 1 && pci_alloc_msi(dev, &result) == 0) @@ -550,15 +552,13 @@ iwn_attach(device_t dev) goto fail; } - error = iwn_hw_prepare(sc); - if (error != 0) { + if ((error = iwn_hw_prepare(sc)) != 0) { device_printf(dev, "hardware not ready, error %d\n", error); goto fail; } /* Allocate DMA memory for firmware transfers. */ - error = iwn_alloc_fwmem(sc); - if (error != 0) { + if ((error = iwn_alloc_fwmem(sc)) != 0) { device_printf(dev, "could not allocate memory for firmware, error %d\n", error); @@ -566,8 +566,7 @@ iwn_attach(device_t dev) } /* Allocate "Keep Warm" page. */ - error = iwn_alloc_kw(sc); - if (error != 0) { + if ((error = iwn_alloc_kw(sc)) != 0) { device_printf(dev, "could not allocate keep warm page, error %d\n", error); goto fail; @@ -582,18 +581,15 @@ iwn_attach(device_t dev) } /* Allocate TX scheduler "rings". */ - error = iwn_alloc_sched(sc); - if (error != 0) { + if ((error = iwn_alloc_sched(sc)) != 0) { device_printf(dev, - "could not allocate TX scheduler rings, error %d\n", - error); + "could not allocate TX scheduler rings, error %d\n", error); goto fail; } /* Allocate TX rings (16 on 4965AGN, 20 on >=5000). */ for (i = 0; i < hal->ntxqs; i++) { - error = iwn_alloc_tx_ring(sc, &sc->txq[i], i); - if (error != 0) { + if ((error = iwn_alloc_tx_ring(sc, &sc->txq[i], i)) != 0) { device_printf(dev, "could not allocate TX ring %d, error %d\n", i, error); @@ -602,8 +598,7 @@ iwn_attach(device_t dev) } /* Allocate RX ring. */ - error = iwn_alloc_rx_ring(sc, &sc->rxq); - if (error != 0 ){ + if ((error = iwn_alloc_rx_ring(sc, &sc->rxq)) != 0) { device_printf(dev, "could not allocate RX ring, error %d\n", error); goto fail; @@ -632,8 +627,8 @@ iwn_attach(device_t dev) device_printf(dev, "can not allocate ifnet structure\n"); goto fail; } - ic = ifp->if_l2com; + ic = ifp->if_l2com; ic->ic_ifp = ifp; ic->ic_phytype = IEEE80211_T_OFDM; /* not only, but not used */ ic->ic_opmode = IEEE80211_M_STA; /* default to BSS mode */ @@ -684,8 +679,7 @@ iwn_attach(device_t dev) #endif /* Read MAC address, channels, etc from EEPROM. */ - error = iwn_read_eeprom(sc, macaddr); - if (error != 0) { + if ((error = iwn_read_eeprom(sc, macaddr)) != 0) { device_printf(dev, "could not read EEPROM, error %d\n", error); goto fail; @@ -735,9 +729,9 @@ iwn_attach(device_t dev) callout_init_mtx(&sc->calib_to, &sc->sc_mtx, 0); callout_init_mtx(&sc->watchdog_to, &sc->sc_mtx, 0); - TASK_INIT(&sc->sc_reinit_task, 0, iwn_hw_reset, sc ); - TASK_INIT(&sc->sc_radioon_task, 0, iwn_radio_on, sc ); - TASK_INIT(&sc->sc_radiooff_task, 0, iwn_radio_off, sc ); + TASK_INIT(&sc->sc_reinit_task, 0, iwn_hw_reset, sc); + TASK_INIT(&sc->sc_radioon_task, 0, iwn_radio_on, sc); + TASK_INIT(&sc->sc_radiooff_task, 0, iwn_radio_off, sc); iwn_sysctlattach(sc); @@ -872,9 +866,9 @@ iwn_sysctlattach(struct iwn_softc *sc) static struct ieee80211vap * iwn_vap_create(struct ieee80211com *ic, - const char name[IFNAMSIZ], int unit, int opmode, int flags, - const uint8_t bssid[IEEE80211_ADDR_LEN], - const uint8_t mac[IEEE80211_ADDR_LEN]) + const char name[IFNAMSIZ], int unit, int opmode, int flags, + const uint8_t bssid[IEEE80211_ADDR_LEN], + const uint8_t mac[IEEE80211_ADDR_LEN]) { struct iwn_vap *ivp; struct ieee80211vap *vap; @@ -1014,7 +1008,7 @@ iwn_nic_lock(struct iwn_softc *sc) /* Spin until we actually get the lock. */ for (ntries = 0; ntries < 1000; ntries++) { if ((IWN_READ(sc, IWN_GP_CNTRL) & - (IWN_GP_CNTRL_MAC_ACCESS_ENA | IWN_GP_CNTRL_SLEEP)) == + (IWN_GP_CNTRL_MAC_ACCESS_ENA | IWN_GP_CNTRL_SLEEP)) == IWN_GP_CNTRL_MAC_ACCESS_ENA) return 0; DELAY(10); @@ -1147,12 +1141,10 @@ iwn_init_otprom(struct iwn_softc *sc) int count, error; /* Wait for clock stabilization before accessing prph. */ - error = iwn_clock_wait(sc); - if (error != 0) + if ((error = iwn_clock_wait(sc)) != 0) return error; - error = iwn_nic_lock(sc); - if (error != 0) + if ((error = iwn_nic_lock(sc)) != 0) return error; iwn_prph_setbits(sc, IWN_APMG_PS, IWN_APMG_PS_RESET_REQ); DELAY(5); @@ -1274,9 +1266,10 @@ iwn_dma_contig_alloc(struct iwn_softc *sc, struct iwn_dma_info *dma, if (kvap != NULL) *kvap = dma->vaddr; + return 0; -fail: - iwn_dma_contig_free(dma); + +fail: iwn_dma_contig_free(dma); return error; } @@ -1433,11 +1426,13 @@ iwn_alloc_rx_ring(struct iwn_softc *sc, struct iwn_rx_ring *ring) /* Set physical address of RX buffer (256-byte aligned). */ ring->desc[i] = htole32(paddr >> 8); } + bus_dmamap_sync(ring->desc_dma.tag, ring->desc_dma.map, BUS_DMASYNC_PREWRITE); + return 0; -fail: - iwn_free_rx_ring(sc, ring); + +fail: iwn_free_rx_ring(sc, ring); return error; } @@ -1499,7 +1494,7 @@ iwn_alloc_tx_ring(struct iwn_softc *sc, struct iwn_tx_ring *ring, int qid) ring->cur = 0; /* Allocate TX descriptors (256-byte aligned). */ - size = IWN_TX_RING_COUNT * sizeof(struct iwn_tx_desc); + size = IWN_TX_RING_COUNT * sizeof (struct iwn_tx_desc); error = iwn_dma_contig_alloc(sc, &ring->desc_dma, (void **)&ring->desc, size, 256); if (error != 0) { @@ -1508,7 +1503,6 @@ iwn_alloc_tx_ring(struct iwn_softc *sc, struct iwn_tx_ring *ring, int qid) __func__, error); goto fail; } - /* * We only use rings 0 through 4 (4 EDCA + cmd) so there is no need * to allocate commands space for other rings. @@ -1517,7 +1511,7 @@ iwn_alloc_tx_ring(struct iwn_softc *sc, struct iwn_tx_ring *ring, int qid) if (qid > 4) return 0; - size = IWN_TX_RING_COUNT * sizeof(struct iwn_tx_cmd); + size = IWN_TX_RING_COUNT * sizeof (struct iwn_tx_cmd); error = iwn_dma_contig_alloc(sc, &ring->cmd_dma, (void **)&ring->cmd, size, 4); if (error != 0) { @@ -1528,9 +1522,9 @@ iwn_alloc_tx_ring(struct iwn_softc *sc, struct iwn_tx_ring *ring, int qid) } error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0, - BUS_SPACE_MAXADDR_32BIT, - BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES, IWN_MAX_SCATTER - 1, - MCLBYTES, BUS_DMA_NOWAIT, NULL, NULL, &ring->data_dmat); + BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES, + IWN_MAX_SCATTER - 1, MCLBYTES, BUS_DMA_NOWAIT, NULL, NULL, + &ring->data_dmat); if (error != 0) { device_printf(sc->sc_dev, "%s: could not create TX buf DMA tag, error %d\n", @@ -1555,8 +1549,8 @@ iwn_alloc_tx_ring(struct iwn_softc *sc, struct iwn_tx_ring *ring, int qid) } } return 0; -fail: - iwn_free_tx_ring(sc, ring); + +fail: iwn_free_tx_ring(sc, ring); return error; } @@ -1651,11 +1645,10 @@ iwn_read_eeprom(struct iwn_softc *sc, uint8_t macaddr[IEEE80211_ADDR_LEN]) (sc->sc_flags & IWN_FLAG_HAS_OTPROM) ? "OTPROM" : "EEPROM"); /* Adapter has to be powered on for EEPROM access to work. */ - error = iwn_apm_init(sc); - if (error != 0) { + if ((error = iwn_apm_init(sc)) != 0) { device_printf(sc->sc_dev, - "%s: could not power ON adapter, error %d\n", - __func__, error); + "%s: could not power ON adapter, error %d\n", __func__, + error); return error; } @@ -1663,17 +1656,13 @@ iwn_read_eeprom(struct iwn_softc *sc, uint8_t macaddr[IEEE80211_ADDR_LEN]) device_printf(sc->sc_dev, "%s: bad ROM signature\n", __func__); return EIO; } - error = iwn_eeprom_lock(sc); - if (error != 0) { - device_printf(sc->sc_dev, - "%s: could not lock ROM, error %d\n", + if ((error = iwn_eeprom_lock(sc)) != 0) { + device_printf(sc->sc_dev, "%s: could not lock ROM, error %d\n", __func__, error); return error; } - if (sc->sc_flags & IWN_FLAG_HAS_OTPROM) { - error = iwn_init_otprom(sc); - if (error != 0) { + if ((error = iwn_init_otprom(sc)) != 0) { device_printf(sc->sc_dev, "%s: could not initialize OTPROM, error %d\n", __func__, error); @@ -1808,8 +1797,8 @@ iwn5000_read_eeprom(struct iwn_softc *sc) base = le16toh(val); iwn_read_prom_data(sc, base, &hdr, sizeof hdr); DPRINTF(sc, IWN_DEBUG_CALIBRATE, - "%s: calib version=%u pa type=%u voltage=%u\n", - __func__, hdr.version, hdr.pa_type, le16toh(hdr.volt)); + "%s: calib version=%u pa type=%u voltage=%u\n", __func__, + hdr.version, hdr.pa_type, le16toh(hdr.volt)); sc->calib_ver = hdr.version; if (sc->hw_type == IWN_HW_REV_TYPE_5150) { @@ -1880,18 +1869,14 @@ iwn_read_eeprom_band(struct iwn_softc *sc, int n) c->ic_maxpower = 2*c->ic_maxregpower; if (n == 0) { /* 2GHz band */ - c->ic_freq = ieee80211_ieee2mhz(chan, - IEEE80211_CHAN_G); - + c->ic_freq = ieee80211_ieee2mhz(chan, IEEE80211_CHAN_G); /* G =>'s B is supported */ c->ic_flags = IEEE80211_CHAN_B | nflags; - c = &ic->ic_channels[ic->ic_nchans++]; c[0] = c[-1]; c->ic_flags = IEEE80211_CHAN_G | nflags; } else { /* 5GHz band */ - c->ic_freq = ieee80211_ieee2mhz(chan, - IEEE80211_CHAN_A); + c->ic_freq = ieee80211_ieee2mhz(chan, IEEE80211_CHAN_A); c->ic_flags = IEEE80211_CHAN_A | nflags; } @@ -1899,8 +1884,8 @@ iwn_read_eeprom_band(struct iwn_softc *sc, int n) sc->maxpwr[chan] = channels[i].maxpwr; DPRINTF(sc, IWN_DEBUG_RESET, - "add chan %d flags 0x%x maxpwr %d\n", - chan, channels[i].flags, channels[i].maxpwr); + "add chan %d flags 0x%x maxpwr %d\n", chan, + channels[i].flags, channels[i].maxpwr); #if 0 /* HT */ /* XXX no constraints on using HT20 */ @@ -2092,7 +2077,9 @@ iwn_newassoc(struct ieee80211_node *ni, int isnew) static int iwn_media_change(struct ifnet *ifp) { - int error = ieee80211_media_change(ifp); + int error; + + error = ieee80211_media_change(ifp); /* NB: only the fixed rate can change and that doesn't need a reset */ return (error == ENETRESET ? 0 : error); } @@ -2106,8 +2093,7 @@ iwn_newstate(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg) int error = 0; DPRINTF(sc, IWN_DEBUG_STATE, "%s: %s -> %s\n", __func__, - ieee80211_state_name[vap->iv_state], - ieee80211_state_name[nstate]); + ieee80211_state_name[vap->iv_state], ieee80211_state_name[nstate]); IEEE80211_UNLOCK(ic); IWN_LOCK(sc); @@ -2360,11 +2346,11 @@ iwn_rx_done(struct iwn_softc *sc, struct iwn_rx_desc *desc, /* Send the frame to the 802.11 layer. */ if (ni != NULL) { - (void) ieee80211_input(ni, m, rssi - nf, nf); + (void)ieee80211_input(ni, m, rssi - nf, nf); /* Node is no longer needed. */ ieee80211_free_node(ni); } else - (void) ieee80211_input_all(ic, m, rssi - nf, nf); + (void)ieee80211_input_all(ic, m, rssi - nf, nf); IWN_LOCK(sc); } @@ -2876,13 +2862,12 @@ iwn_fatal_intr(struct iwn_softc *sc) if (sc->errptr < IWN_FW_DATA_BASE || sc->errptr + sizeof (dump) > IWN_FW_DATA_BASE + hal->fw_data_maxsz) { - printf("%s: bad firmware error log address 0x%08x\n", - __func__, sc->errptr); + printf("%s: bad firmware error log address 0x%08x\n", __func__, + sc->errptr); return; } if (iwn_nic_lock(sc) != 0) { - printf("%s: could not read firmware error log\n", - __func__); + printf("%s: could not read firmware error log\n", __func__); return; } /* Read firmware error log from SRAM. */ @@ -2891,8 +2876,7 @@ iwn_fatal_intr(struct iwn_softc *sc) iwn_nic_unlock(sc); if (dump.valid == 0) { - printf("%s: firmware error log is empty\n", - __func__); + printf("%s: firmware error log is empty\n", __func__); return; } printf("firmware error log:\n"); @@ -3044,7 +3028,6 @@ iwn5000_update_sched(struct iwn_softc *sc, int qid, int idx, uint8_t id, uint16_t *w = &sc->sched[qid * IWN5000_SCHED_COUNT + idx]; *w = htole16(id << 12 | (len + 8)); - bus_dmamap_sync(sc->sched_dma.tag, sc->sched_dma.map, BUS_DMASYNC_PREWRITE); if (idx < IWN_SCHED_WINSZ) { @@ -3227,7 +3210,6 @@ iwn_tx_data(struct iwn_softc *sc, struct mbuf *m, struct ieee80211_node *ni) /* Tell HW to set timestamp in probe responses. */ if (subtype == IEEE80211_FC0_SUBTYPE_PROBE_RESP) flags |= IWN_TX_INSERT_TSTAMP; - if (subtype == IEEE80211_FC0_SUBTYPE_ASSOC_REQ || subtype == IEEE80211_FC0_SUBTYPE_REASSOC_REQ) tx->timeout = htole16(3); @@ -3260,7 +3242,6 @@ iwn_tx_data(struct iwn_softc *sc, struct mbuf *m, struct ieee80211_node *ni) tx->linkq = ni->ni_rates.rs_nrates - ridx - 1; flags |= IWN_TX_LINKQ; /* enable MRR */ } - /* Set physical address of "scratch area". */ tx->loaddr = htole32(IWN_LOADDR(data->scratch_paddr)); tx->hiaddr = IWN_HIADDR(data->scratch_paddr); @@ -3853,8 +3834,7 @@ iwn_add_broadcast_node(struct iwn_softc *sc, int async) IEEE80211_ADDR_COPY(node.macaddr, ifp->if_broadcastaddr); node.id = hal->broadcast_id; DPRINTF(sc, IWN_DEBUG_RESET, "%s: adding broadcast node\n", __func__); - error = hal->add_node(sc, &node, async); - if (error != 0) + if ((error = hal->add_node(sc, &node, async)) != 0) return error; /* Use the first valid TX antenna. */ @@ -3953,8 +3933,7 @@ iwn_set_critical_temp(struct iwn_softc *sc) temp = 110; memset(&crit, 0, sizeof crit); crit.tempR = htole32(temp); - DPRINTF(sc, IWN_DEBUG_RESET, "setting critical temp to %d\n", - temp); + DPRINTF(sc, IWN_DEBUG_RESET, "setting critical temp to %d\n", temp); return iwn_cmd(sc, IWN_CMD_SET_CRITICAL_TEMP, &crit, sizeof crit, 0); } @@ -4306,13 +4285,11 @@ iwn_init_sensitivity(struct iwn_softc *sc) calib->energy_cck = sc->limits->energy_cck; /* Write initial sensitivity. */ - error = iwn_send_sensitivity(sc); - if (error != 0) + if ((error = iwn_send_sensitivity(sc)) != 0) return error; /* Write initial gains. */ - error = hal->init_gains(sc); - if (error != 0) + if ((error = hal->init_gains(sc)) != 0) return error; /* Request statistics at each beacon interval. */ @@ -4505,8 +4482,7 @@ iwn_tune_sensitivity(struct iwn_softc *sc, const struct iwn_rx_stats *stats) int i, needs_update = 0; /* Check that we've been enabled long enough. */ - rxena = le32toh(stats->general.load); - if (rxena == 0) + if ((rxena = le32toh(stats->general.load)) == 0) return; /* Compute number of false alarms since last call for OFDM. */ @@ -4604,7 +4580,7 @@ iwn_tune_sensitivity(struct iwn_softc *sc, const struct iwn_rx_stats *stats) if (calib->cck_state != IWN_CCK_STATE_INIT && (((int32_t)calib->noise_ref - (int32_t)noise_ref) > 2 || - calib->low_fa > 100)) { + calib->low_fa > 100)) { inc(calib->energy_cck, 2, limits->min_energy_cck); dec(calib->cck_x4, 3, limits->min_cck_x4); dec(calib->cck_mrc_x4, 3, limits->min_cck_mrc_x4); @@ -4638,19 +4614,19 @@ iwn_send_sensitivity(struct iwn_softc *sc) memset(&cmd, 0, sizeof cmd); cmd.which = IWN_SENSITIVITY_WORKTBL; /* OFDM modulation. */ - cmd.corr_ofdm_x1 = htole16(calib->ofdm_x1); - cmd.corr_ofdm_mrc_x1 = htole16(calib->ofdm_mrc_x1); - cmd.corr_ofdm_x4 = htole16(calib->ofdm_x4); - cmd.corr_ofdm_mrc_x4 = htole16(calib->ofdm_mrc_x4); - cmd.energy_ofdm = htole16(sc->limits->energy_ofdm); - cmd.energy_ofdm_th = htole16(62); + cmd.corr_ofdm_x1 = htole16(calib->ofdm_x1); + cmd.corr_ofdm_mrc_x1 = htole16(calib->ofdm_mrc_x1); + cmd.corr_ofdm_x4 = htole16(calib->ofdm_x4); + cmd.corr_ofdm_mrc_x4 = htole16(calib->ofdm_mrc_x4); + cmd.energy_ofdm = htole16(sc->limits->energy_ofdm); + cmd.energy_ofdm_th = htole16(62); /* CCK modulation. */ - cmd.corr_cck_x4 = htole16(calib->cck_x4); - cmd.corr_cck_mrc_x4 = htole16(calib->cck_mrc_x4); - cmd.energy_cck = htole16(calib->energy_cck); + cmd.corr_cck_x4 = htole16(calib->cck_x4); + cmd.corr_cck_mrc_x4 = htole16(calib->cck_mrc_x4); + cmd.energy_cck = htole16(calib->energy_cck); /* Barker modulation: use default values. */ - cmd.corr_barker = htole16(190); - cmd.corr_barker_mrc = htole16(390); + cmd.corr_barker = htole16(190); + cmd.corr_barker_mrc = htole16(390); DPRINTF(sc, IWN_DEBUG_CALIBRATE, "%s: set sensitivity %d/%d/%d/%d/%d/%d/%d\n", __func__, @@ -4808,36 +4784,32 @@ iwn_config(struct iwn_softc *sc) DPRINTF(sc, IWN_DEBUG_RESET, "%s: setting configuration\n", __func__); error = iwn_cmd(sc, IWN_CMD_RXON, &sc->rxon, hal->rxonsz, 0); if (error != 0) { - device_printf(sc->sc_dev, - "%s: RXON command failed\n", __func__); + device_printf(sc->sc_dev, "%s: RXON command failed\n", + __func__); return error; } - error = iwn_add_broadcast_node(sc, 0); - if (error != 0) { - device_printf(sc->sc_dev, - "%s: could not add broadcast node\n", __func__); + if ((error = iwn_add_broadcast_node(sc, 0)) != 0) { + device_printf(sc->sc_dev, "%s: could not add broadcast node\n", + __func__); return error; } /* Configuration has changed, set TX power accordingly. */ - error = hal->set_txpower(sc, ic->ic_curchan, 0); - if (error != 0) { - device_printf(sc->sc_dev, - "%s: could not set TX power\n", __func__); + if ((error = hal->set_txpower(sc, ic->ic_curchan, 0)) != 0) { + device_printf(sc->sc_dev, "%s: could not set TX power\n", + __func__); return error; } - error = iwn_set_critical_temp(sc); - if (error != 0) { + if ((error = iwn_set_critical_temp(sc)) != 0) { device_printf(sc->sc_dev, "%s: could not set critical temperature\n", __func__); return error; } /* Set power saving level to CAM during initialization. */ - error = iwn_set_pslevel(sc, 0, 0, 0); - if (error != 0) { + if ((error = iwn_set_pslevel(sc, 0, 0, 0)) != 0) { device_printf(sc->sc_dev, "%s: could not set power saving level\n", __func__); return error; @@ -4870,8 +4842,9 @@ iwn_scan(struct iwn_softc *sc) struct ieee80211_frame *wh; struct ieee80211_rateset *rs; struct ieee80211_channel *c; - uint8_t *buf, *frm, txant; + uint8_t *buf, *frm; uint16_t rxchain; + uint8_t txant; int buflen, error; buf = malloc(IWN_SCAN_MAXSZ, M_DEVBUF, M_NOWAIT | M_ZERO); @@ -4882,7 +4855,6 @@ iwn_scan(struct iwn_softc *sc) return ENOMEM; } hdr = (struct iwn_scan_hdr *)buf; - /* * Move to the next channel if no frames are received within 10ms * after sending the probe request. @@ -4930,7 +4902,6 @@ iwn_scan(struct iwn_softc *sc) essid[0].len = ss->ss_ssid[0].len; memcpy(essid[0].data, ss->ss_ssid[0].ssid, ss->ss_ssid[0].len); } - /* * Build a probe request frame. Most of the following code is a * copy & paste of what is done in net80211. @@ -5047,14 +5018,13 @@ iwn_auth(struct iwn_softc *sc, struct ieee80211vap *vap) sc->rxon.ofdm_mask); error = iwn_cmd(sc, IWN_CMD_RXON, &sc->rxon, hal->rxonsz, 1); if (error != 0) { - device_printf(sc->sc_dev, - "%s: RXON command failed, error %d\n", __func__, error); + device_printf(sc->sc_dev, "%s: RXON command failed, error %d\n", + __func__, error); return error; } /* Configuration has changed, set TX power accordingly. */ - error = hal->set_txpower(sc, ni->ni_chan, 1); - if (error != 0) { + if ((error = hal->set_txpower(sc, ni->ni_chan, 1)) != 0) { device_printf(sc->sc_dev, "%s: could not set TX power, error %d\n", __func__, error); return error; @@ -5063,11 +5033,10 @@ iwn_auth(struct iwn_softc *sc, struct ieee80211vap *vap) * Reconfiguring RXON clears the firmware nodes table so we must * add the broadcast node again. */ - error = iwn_add_broadcast_node(sc, 1); - if (error != 0) { + if ((error = iwn_add_broadcast_node(sc, 1)) != 0) { device_printf(sc->sc_dev, - "%s: could not add broadcast node, error %d\n", - __func__, error); + "%s: could not add broadcast node, error %d\n", __func__, + error); return error; } return 0; @@ -5089,8 +5058,7 @@ iwn_run(struct iwn_softc *sc, struct ieee80211vap *vap) iwn_set_led(sc, IWN_LED_LINK, 5, 5); return 0; } - error = iwn_set_timing(sc, ni); - if (error != 0) { + if ((error = iwn_set_timing(sc, ni)) != 0) { device_printf(sc->sc_dev, "%s: could not set timing, error %d\n", __func__, error); return error; @@ -5144,14 +5112,13 @@ iwn_run(struct iwn_softc *sc, struct ieee80211vap *vap) error = iwn_cmd(sc, IWN_CMD_RXON, &sc->rxon, hal->rxonsz, 1); if (error != 0) { device_printf(sc->sc_dev, - "%s: could not update configuration, error %d\n", - __func__, error); + "%s: could not update configuration, error %d\n", __func__, + error); return error; } /* Configuration has changed, set TX power accordingly. */ - error = hal->set_txpower(sc, ni->ni_chan, 1); - if (error != 0) { + if ((error = hal->set_txpower(sc, ni->ni_chan, 1)) != 0) { device_printf(sc->sc_dev, "%s: could not set TX power, error %d\n", __func__, error); return error; @@ -5178,22 +5145,19 @@ iwn_run(struct iwn_softc *sc, struct ieee80211vap *vap) } DPRINTF(sc, IWN_DEBUG_STATE, "%s: setting link quality for node %d\n", __func__, node.id); - error = iwn_set_link_quality(sc, ni); - if (error != 0) { + if ((error = iwn_set_link_quality(sc, ni)) != 0) { device_printf(sc->sc_dev, "%s: could not setup link quality for node %d, error %d\n", __func__, node.id, error); return error; } - error = iwn_init_sensitivity(sc); - if (error != 0) { + if ((error = iwn_init_sensitivity(sc)) != 0) { device_printf(sc->sc_dev, - "%s: could not set sensitivity, error %d\n", - __func__, error); + "%s: could not set sensitivity, error %d\n", __func__, + error); return error; } - /* Start periodic calibration timer. */ sc->calib.state = IWN_CALIB_STATE_ASSOC; sc->calib_cnt = 0; @@ -5202,7 +5166,6 @@ iwn_run(struct iwn_softc *sc, struct ieee80211vap *vap) /* Link LED always on while associated. */ iwn_set_led(sc, IWN_LED_LINK, 0, 1); - return 0; #undef MS } @@ -5292,10 +5255,8 @@ iwn_ampdu_tx_stop(struct ieee80211com *ic, struct ieee80211_node *ni, { struct ieee80211_tx_ba *ba = &ni->ni_tx_ba[tid]; struct iwn_softc *sc = ic->ic_softc; - int error; - error = iwn_nic_lock(sc); - if (error != 0) + if (iwn_nic_lock(sc) != 0) return; sc->sc_hal->ampdu_tx_stop(sc, tid, ba->ba_winstart); iwn_nic_unlock(sc); @@ -5602,8 +5563,7 @@ iwn5000_post_alive(struct iwn_softc *sc) /* Switch to using ICT interrupt mode. */ iwn5000_ict_reset(sc); - error = iwn_nic_lock(sc); - if (error != 0) + if ((error = iwn_nic_lock(sc)) != 0) return error; /* Clear TX scheduler state in SRAM. */ @@ -5671,7 +5631,6 @@ iwn5000_post_alive(struct iwn_softc *sc) __func__, error); return error; } - /* * We have the calibration results now, reboot with the * runtime firmware (call ourselves recursively!) @@ -5696,8 +5655,7 @@ iwn4965_load_bootcode(struct iwn_softc *sc, const uint8_t *ucode, int size) size /= sizeof (uint32_t); - error = iwn_nic_lock(sc); - if (error != 0) + if ((error = iwn_nic_lock(sc)) != 0) return error; /* Copy microcode image into NIC memory. */ @@ -5747,8 +5705,7 @@ iwn4965_load_firmware(struct iwn_softc *sc) bus_dmamap_sync(dma->tag, dma->map, BUS_DMASYNC_PREWRITE); /* Tell adapter where to find initialization sections. */ - error = iwn_nic_lock(sc); - if (error != 0) + if ((error = iwn_nic_lock(sc)) != 0) return error; iwn_prph_write(sc, IWN_BSM_DRAM_DATA_ADDR, dma->paddr >> 4); iwn_prph_write(sc, IWN_BSM_DRAM_DATA_SIZE, fw->init.datasz); @@ -5768,8 +5725,7 @@ iwn4965_load_firmware(struct iwn_softc *sc) IWN_WRITE(sc, IWN_RESET, 0); /* Wait at most one second for first alive notification. */ - error = msleep(sc, &sc->sc_mtx, PCATCH, "iwninit", hz); - if (error) { + if ((error = msleep(sc, &sc->sc_mtx, PCATCH, "iwninit", hz)) != 0) { device_printf(sc->sc_dev, "%s: timeout waiting for adapter to initialize, error %d\n", __func__, error); @@ -5788,10 +5744,8 @@ iwn4965_load_firmware(struct iwn_softc *sc) bus_dmamap_sync(dma->tag, dma->map, BUS_DMASYNC_PREWRITE); /* Tell adapter where to find runtime sections. */ - error = iwn_nic_lock(sc); - if (error != 0) + if ((error = iwn_nic_lock(sc)) != 0) return error; - iwn_prph_write(sc, IWN_BSM_DRAM_DATA_ADDR, dma->paddr >> 4); iwn_prph_write(sc, IWN_BSM_DRAM_DATA_SIZE, fw->main.datasz); iwn_prph_write(sc, IWN_BSM_DRAM_TEXT_ADDR, @@ -5814,8 +5768,7 @@ iwn5000_load_firmware_section(struct iwn_softc *sc, uint32_t dst, memcpy(dma->vaddr, section, size); bus_dmamap_sync(dma->tag, dma->map, BUS_DMASYNC_PREWRITE); - error = iwn_nic_lock(sc); - if (error != 0) + if ((error = iwn_nic_lock(sc)) != 0) return error; IWN_WRITE(sc, IWN_FH_TX_CONFIG(IWN_SRVC_DMACHNL), @@ -5922,7 +5875,6 @@ iwn_read_firmware_leg(struct iwn_softc *sc, struct iwn_fw_info *fw) fw->init.text = fw->main.data + fw->main.datasz; fw->init.data = fw->init.text + fw->init.textsz; fw->boot.text = fw->init.data + fw->init.datasz; - return 0; } @@ -6007,7 +5959,7 @@ iwn_read_firmware_tlv(struct iwn_softc *sc, struct iwn_fw_info *fw, "TLV type %d not handled\n", le16toh(tlv->type)); break; } -next: /* TLV fields are 32-bit aligned. */ + next: /* TLV fields are 32-bit aligned. */ ptr += (len + 3) & ~3; } return 0; @@ -6125,14 +6077,11 @@ iwn_apm_init(struct iwn_softc *sc) IWN_SETBITS(sc, IWN_ANA_PLL, IWN_ANA_PLL_INIT); /* Wait for clock stabilization before accessing prph. */ - error = iwn_clock_wait(sc); - if (error != 0) + if ((error = iwn_clock_wait(sc)) != 0) return error; - error = iwn_nic_lock(sc); - if (error != 0) + if ((error = iwn_nic_lock(sc)) != 0) return error; - if (sc->hw_type == IWN_HW_REV_TYPE_4965) { /* Enable DMA and BSM (Bootstrap State Machine). */ iwn_prph_write(sc, IWN_APMG_CLK_EN, @@ -6144,7 +6093,6 @@ iwn_apm_init(struct iwn_softc *sc) IWN_APMG_CLK_CTRL_DMA_CLK_RQT); } DELAY(20); - /* Disable L1-Active. */ iwn_prph_setbits(sc, IWN_APMG_PCI_STT, IWN_APMG_PCI_STT_L1A_DIS); iwn_nic_unlock(sc); @@ -6164,8 +6112,7 @@ iwn_apm_stop_master(struct iwn_softc *sc) return; DELAY(10); } - device_printf(sc->sc_dev, "%s: timeout waiting for master\n", - __func__); + device_printf(sc->sc_dev, "%s: timeout waiting for master\n", __func__); } static void @@ -6214,8 +6161,7 @@ iwn5000_nic_config(struct iwn_softc *sc) IWN_SETBITS(sc, IWN_HW_IF_CONFIG, IWN_HW_IF_CONFIG_RADIO_SI | IWN_HW_IF_CONFIG_MAC_SI); - error = iwn_nic_lock(sc); - if (error != 0) + if ((error = iwn_nic_lock(sc)) != 0) return error; iwn_prph_setbits(sc, IWN_APMG_PS, IWN_APMG_PS_EARLY_PWROFF_DIS); @@ -6292,29 +6238,25 @@ iwn_hw_init(struct iwn_softc *sc) /* Clear pending interrupts. */ IWN_WRITE(sc, IWN_INT, 0xffffffff); - error = iwn_apm_init(sc); - if (error != 0) { + if ((error = iwn_apm_init(sc)) != 0) { device_printf(sc->sc_dev, - "%s: could not power ON adapter, error %d\n", - __func__, error); + "%s: could not power ON adapter, error %d\n", __func__, + error); return error; } /* Select VMAIN power source. */ - error = iwn_nic_lock(sc); - if (error != 0) + if ((error = iwn_nic_lock(sc)) != 0) return error; iwn_prph_clrbits(sc, IWN_APMG_PS, IWN_APMG_PS_PWR_SRC_MASK); iwn_nic_unlock(sc); /* Perform adapter-specific initialization. */ - error = hal->nic_config(sc); - if (error != 0) + if ((error = hal->nic_config(sc)) != 0) return error; /* Initialize RX ring. */ - error = iwn_nic_lock(sc); - if (error != 0) + if ((error = iwn_nic_lock(sc)) != 0) return error; IWN_WRITE(sc, IWN_FH_RX_CONFIG, 0); IWN_WRITE(sc, IWN_FH_RX_WPTR, 0); @@ -6333,8 +6275,7 @@ iwn_hw_init(struct iwn_softc *sc) iwn_nic_unlock(sc); IWN_WRITE(sc, IWN_FH_RX_WPTR, (IWN_RX_RING_COUNT - 1) & ~7); - error = iwn_nic_lock(sc); - if (error != 0) + if ((error = iwn_nic_lock(sc)) != 0) return error; /* Initialize TX scheduler. */ @@ -6375,16 +6316,14 @@ iwn_hw_init(struct iwn_softc *sc) IWN_WRITE(sc, IWN_UCODE_GP1_CLR, IWN_UCODE_GP1_RFKILL); IWN_WRITE(sc, IWN_UCODE_GP1_CLR, IWN_UCODE_GP1_RFKILL); - error = hal->load_firmware(sc); - if (error != 0) { + if ((error = hal->load_firmware(sc)) != 0) { device_printf(sc->sc_dev, - "%s: could not load firmware, error %d\n", - __func__, error); + "%s: could not load firmware, error %d\n", __func__, + error); return error; } /* Wait at most one second for firmware alive notification. */ - error = msleep(sc, &sc->sc_mtx, PCATCH, "iwninit", hz); - if (error != 0) { + if ((error = msleep(sc, &sc->sc_mtx, PCATCH, "iwninit", hz)) != 0) { device_printf(sc->sc_dev, "%s: timeout waiting for adapter to initialize, error %d\n", __func__, error); @@ -6441,7 +6380,6 @@ iwn_hw_stop(struct iwn_softc *sc) iwn_nic_unlock(sc); } DELAY(5); - /* Power OFF adapter. */ iwn_apm_stop(sc); } @@ -6487,8 +6425,7 @@ iwn_init_locked(struct iwn_softc *sc) IWN_LOCK_ASSERT(sc); - error = iwn_hw_prepare(sc); - if (error != 0) { + if ((error = iwn_hw_prepare(sc)) != 0) { device_printf(sc->sc_dev, "%s: hardware not ready, error %d\n", __func__, error); goto fail; @@ -6502,7 +6439,6 @@ iwn_init_locked(struct iwn_softc *sc) if (!(IWN_READ(sc, IWN_GP_CNTRL) & IWN_GP_CNTRL_RFKILL)) { device_printf(sc->sc_dev, "radio is disabled by hardware switch\n"); - /* Enable interrupts to get RF toggle notifications. */ IWN_WRITE(sc, IWN_INT, 0xffffffff); IWN_WRITE(sc, IWN_INT_MASK, sc->int_mask); @@ -6510,11 +6446,10 @@ iwn_init_locked(struct iwn_softc *sc) } /* Read firmware images from the filesystem. */ - error = iwn_read_firmware(sc); - if (error != 0) { + if ((error = iwn_read_firmware(sc)) != 0) { device_printf(sc->sc_dev, - "%s: could not read firmware, error %d\n", - __func__, error); + "%s: could not read firmware, error %d\n", __func__, + error); goto fail; } @@ -6524,17 +6459,16 @@ iwn_init_locked(struct iwn_softc *sc) sc->fw_fp = NULL; if (error != 0) { device_printf(sc->sc_dev, - "%s: could not initialize hardware, error %d\n", - __func__, error); + "%s: could not initialize hardware, error %d\n", __func__, + error); goto fail; } /* Configure adapter now that it is ready. */ - error = iwn_config(sc); - if (error != 0) { + if ((error = iwn_config(sc)) != 0) { device_printf(sc->sc_dev, - "%s: could not configure device, error %d\n", - __func__, error); + "%s: could not configure device, error %d\n", __func__, + error); goto fail; } @@ -6544,8 +6478,7 @@ iwn_init_locked(struct iwn_softc *sc) callout_reset(&sc->watchdog_to, hz, iwn_watchdog, sc); return; -fail: - iwn_stop_locked(sc); +fail: iwn_stop_locked(sc); } static void diff --git a/sys/dev/iwn/if_iwnreg.h b/sys/dev/iwn/if_iwnreg.h index 043e1d0..13c6a93 100644 --- a/sys/dev/iwn/if_iwnreg.h +++ b/sys/dev/iwn/if_iwnreg.h @@ -79,10 +79,10 @@ #define IWN_MEM_WADDR 0x410 #define IWN_MEM_WDATA 0x418 #define IWN_MEM_RDATA 0x41c -#define IWN_PRPH_WADDR 0x444 -#define IWN_PRPH_RADDR 0x448 -#define IWN_PRPH_WDATA 0x44c -#define IWN_PRPH_RDATA 0x450 +#define IWN_PRPH_WADDR 0x444 +#define IWN_PRPH_RADDR 0x448 +#define IWN_PRPH_WDATA 0x44c +#define IWN_PRPH_RDATA 0x450 #define IWN_HBUS_TARG_WRPTR 0x460 /* @@ -1428,8 +1428,8 @@ static const struct iwn_chan_band { { 11, { 36, 44, 52, 60, 100, 108, 116, 124, 132, 149, 157 } } }; -#define IWN1000_OTP_NBLOCKS 3 -#define IWN6000_OTP_NBLOCKS 4 +#define IWN1000_OTP_NBLOCKS 3 +#define IWN6000_OTP_NBLOCKS 4 #define IWN6050_OTP_NBLOCKS 7 /* HW rate indices. */ @@ -1618,13 +1618,13 @@ static const struct iwn_sensitivity_limits iwn5150_sensitivity_limits = { static const struct iwn_sensitivity_limits iwn1000_sensitivity_limits = { 120, 155, 240, 290, - 90, 120, + 90, 120, 170, 210, 125, 200, 170, 400, - 95, - 95, - 95 + 95, + 95, + 95 }; static const struct iwn_sensitivity_limits iwn6000_sensitivity_limits = { diff --git a/sys/dev/iwn/if_iwnvar.h b/sys/dev/iwn/if_iwnvar.h index d5641e1..9222ed7 100644 --- a/sys/dev/iwn/if_iwnvar.h +++ b/sys/dev/iwn/if_iwnvar.h @@ -201,7 +201,7 @@ struct iwn_vap { #define IWN_VAP(_vap) ((struct iwn_vap *)(_vap)) struct iwn_softc { - device_t sc_dev; + device_t sc_dev; struct ifnet *sc_ifp; int sc_debug; @@ -244,7 +244,7 @@ struct iwn_softc { struct iwn_rx_ring rxq; int mem_rid; - struct resource *mem; + struct resource *mem; bus_space_tag_t sc_st; bus_space_handle_t sc_sh; int irq_rid; @@ -254,7 +254,7 @@ struct iwn_softc { int sc_cap_off; /* PCIe Capabilities. */ /* Tasks used by the driver */ - struct task sc_reinit_task; + struct task sc_reinit_task; struct task sc_radioon_task; struct task sc_radiooff_task; |