Use per softc debug level instead of a global one.
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Fri, 8 Feb 2008 09:42:30 +0000 (09:42 +0000)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Fri, 8 Feb 2008 09:42:30 +0000 (09:42 +0000)
sys/dev/netif/ral/rt2560.c
sys/dev/netif/ral/rt2560var.h
sys/dev/netif/ral/rt2661.c
sys/dev/netif/ral/rt2661var.h

index 75b8401..9afd32b 100644 (file)
@@ -15,7 +15,7 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
  * $FreeBSD: src/sys/dev/ral/rt2560.c,v 1.3 2006/03/21 21:15:43 damien Exp $
- * $DragonFly: src/sys/dev/netif/ral/rt2560.c,v 1.34 2008/01/25 15:44:49 sephe Exp $
+ * $DragonFly: src/sys/dev/netif/ral/rt2560.c,v 1.35 2008/02/08 09:42:29 sephe Exp $
  */
 
 /*
         ((rssi) - RT2560_NOISE_FLOOR - (sc)->rssi_corr) : 0)
 
 #ifdef RAL_DEBUG
-#define DPRINTF(x)     do { if (ral_debug > 0) kprintf x; } while (0)
-#define DPRINTFN(n, x) do { if (ral_debug >= (n)) kprintf x; } while (0)
-extern int ral_debug;
+#define DPRINTF(sc, x)         \
+       do { if ((sc)->sc_debug > 0) kprintf x; } while (0)
+#define DPRINTFN(sc, n, x)     \
+       do { if ((sc)->sc_debug >= (n)) kprintf x; } while (0)
 #else
-#define DPRINTF(x)
-#define DPRINTFN(n, x)
+#define DPRINTF(sc, x)
+#define DPRINTFN(sc, n, x)
 #endif
 
 static void            rt2560_dma_map_addr(void *, bus_dma_segment_t *, int,
@@ -193,6 +194,9 @@ rt2560_attach(device_t dev, int id)
 
        callout_init(&sc->scan_ch);
        callout_init(&sc->calib_ch);
+#ifdef RAL_DEBUG
+       sc->sc_debug = 1;
+#endif
 
        sc->sc_irq_rid = 0;
        sc->sc_irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &sc->sc_irq_rid,
@@ -370,6 +374,12 @@ rt2560_attach(device_t dev, int id)
            CTLFLAG_RW, &sc->sc_dwelltime, 0,
            "channel dwell time (ms) for AP/station scanning");
 
+#ifdef RAL_DEBUG
+       SYSCTL_ADD_INT(&sc->sysctl_ctx,
+           SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO, "debug",
+           CTLFLAG_RW, &sc->sc_debug, 0, "debug level");
+#endif
+
        SYSCTL_ADD_PROC(&sc->sysctl_ctx,
                        SYSCTL_CHILDREN(sc->sysctl_tree),
                        OID_AUTO, "rx_sensitivity", CTLTYPE_INT | CTLFLAG_RW,
@@ -1005,7 +1015,7 @@ rt2560_encryption_intr(struct rt2560_softc *sc)
                desc->flags |= htole32(RT2560_TX_VALID);
                desc->flags |= htole32(RT2560_TX_BUSY);
 
-               DPRINTFN(15, ("encryption done idx=%u\n",
+               DPRINTFN(sc, 15, ("encryption done idx=%u\n",
                    sc->txq.next_encrypt));
 
                sc->txq.next_encrypt =
@@ -1056,20 +1066,20 @@ rt2560_tx_intr(struct rt2560_softc *sc)
                failed = 0;
                switch (flags & RT2560_TX_RESULT_MASK) {
                case RT2560_TX_SUCCESS:
-                       DPRINTFN(10, ("data frame sent successfully\n"));
+                       DPRINTFN(sc, 10, ("data frame sent successfully\n"));
                        ifp->if_opackets++;
                        data_retries = 0;
                        break;
 
                case RT2560_TX_SUCCESS_RETRY:
                        data_retries = (flags >> 5) & 0x7;
-                       DPRINTFN(9, ("data frame sent after %u retries\n",
+                       DPRINTFN(sc, 9, ("data frame sent after %u retries\n",
                                 data_retries));
                        ifp->if_opackets++;
                        break;
 
                case RT2560_TX_FAIL_RETRY:
-                       DPRINTFN(9, ("sending data frame failed (too much "
+                       DPRINTFN(sc, 9, ("sending data frame failed (too much "
                            "retries)\n"));
                        ifp->if_oerrors++;
                        data_retries = 7;
@@ -1106,7 +1116,7 @@ rt2560_tx_intr(struct rt2560_softc *sc)
                /* descriptor is no longer valid */
                desc->flags &= ~htole32(RT2560_TX_VALID);
 
-               DPRINTFN(15, ("tx done idx=%u\n", sc->txq.next));
+               DPRINTFN(sc, 15, ("tx done idx=%u\n", sc->txq.next));
 
                sc->txq.queued--;
                sc->txq.next = (sc->txq.next + 1) % RT2560_TX_RING_COUNT;
@@ -1148,16 +1158,16 @@ rt2560_prio_intr(struct rt2560_softc *sc)
 
                switch (le32toh(desc->flags) & RT2560_TX_RESULT_MASK) {
                case RT2560_TX_SUCCESS:
-                       DPRINTFN(10, ("mgt frame sent successfully\n"));
+                       DPRINTFN(sc, 10, ("mgt frame sent successfully\n"));
                        break;
 
                case RT2560_TX_SUCCESS_RETRY:
-                       DPRINTFN(9, ("mgt frame sent after %u retries\n",
+                       DPRINTFN(sc, 9, ("mgt frame sent after %u retries\n",
                            (le32toh(desc->flags) >> 5) & 0x7));
                        break;
 
                case RT2560_TX_FAIL_RETRY:
-                       DPRINTFN(9, ("sending mgt frame failed (too much "
+                       DPRINTFN(sc, 9, ("sending mgt frame failed (too much "
                            "retries)\n"));
                        break;
 
@@ -1179,7 +1189,7 @@ rt2560_prio_intr(struct rt2560_softc *sc)
                /* descriptor is no longer valid */
                desc->flags &= ~htole32(RT2560_TX_VALID);
 
-               DPRINTFN(15, ("prio done idx=%u\n", sc->prioq.next));
+               DPRINTFN(sc, 15, ("prio done idx=%u\n", sc->prioq.next));
 
                sc->prioq.queued--;
                sc->prioq.next = (sc->prioq.next + 1) % RT2560_PRIO_RING_COUNT;
@@ -1332,7 +1342,8 @@ rt2560_decryption_intr(struct rt2560_softc *sc)
 
 skip:          desc->flags = htole32(RT2560_RX_BUSY);
 
-               DPRINTFN(15, ("decryption done idx=%u\n", sc->rxq.cur_decrypt));
+               DPRINTFN(sc, 15, ("decryption done idx=%u\n",
+                        sc->rxq.cur_decrypt));
 
                sc->rxq.cur_decrypt =
                    (sc->rxq.cur_decrypt + 1) % RT2560_RX_RING_COUNT;
@@ -1371,20 +1382,20 @@ rt2560_rx_intr(struct rt2560_softc *sc)
                         * This should not happen since we did not request
                         * to receive those frames when we filled RXCSR0.
                         */
-                       DPRINTFN(5, ("PHY or CRC error flags 0x%08x\n",
+                       DPRINTFN(sc, 5, ("PHY or CRC error flags 0x%08x\n",
                            le32toh(desc->flags)));
                        data->drop = 1;
                }
 
                if (((le32toh(desc->flags) >> 16) & 0xfff) > MCLBYTES) {
-                       DPRINTFN(5, ("bad length\n"));
+                       DPRINTFN(sc, 5, ("bad length\n"));
                        data->drop = 1;
                }
 
                /* mark the frame for decryption */
                desc->flags |= htole32(RT2560_RX_CIPHER_BUSY);
 
-               DPRINTFN(15, ("rx done idx=%u\n", sc->rxq.cur));
+               DPRINTFN(sc, 15, ("rx done idx=%u\n", sc->rxq.cur));
 
                sc->rxq.cur = (sc->rxq.cur + 1) % RT2560_RX_RING_COUNT;
        }
@@ -1422,7 +1433,7 @@ rt2560_beacon_expire(struct rt2560_softc *sc)
 
        rt2560_tx_bcn(sc, data->m, data->ni);
 
-       DPRINTFN(15, ("beacon expired\n"));
+       DPRINTFN(sc, 15, ("beacon expired\n"));
 
        sc->bcnq.next = (sc->bcnq.next + 1) % RT2560_BEACON_RING_COUNT;
 }
@@ -1431,7 +1442,7 @@ rt2560_beacon_expire(struct rt2560_softc *sc)
 static void
 rt2560_wakeup_expire(struct rt2560_softc *sc)
 {
-       DPRINTFN(2, ("wakeup expired\n"));
+       DPRINTFN(sc, 2, ("wakeup expired\n"));
 }
 
 static void
@@ -1637,7 +1648,7 @@ rt2560_tx_bcn(struct rt2560_softc *sc, struct mbuf *m0,
        rt2560_setup_tx_desc(sc, desc, RT2560_TX_IFS_NEWBACKOFF |
            RT2560_TX_TIMESTAMP, m0->m_pkthdr.len, rate, 0, paddr);
 
-       DPRINTFN(10, ("sending beacon frame len=%u idx=%u rate=%u\n",
+       DPRINTFN(sc, 10, ("sending beacon frame len=%u idx=%u rate=%u\n",
            m0->m_pkthdr.len, sc->bcnq.cur, rate));
 
        bus_dmamap_sync(sc->bcnq.data_dmat, data->map, BUS_DMASYNC_PREWRITE);
@@ -1715,7 +1726,7 @@ rt2560_tx_mgt(struct rt2560_softc *sc, struct mbuf *m0,
        bus_dmamap_sync(sc->prioq.desc_dmat, sc->prioq.desc_map,
            BUS_DMASYNC_PREWRITE);
 
-       DPRINTFN(10, ("sending mgt frame len=%u idx=%u rate=%u\n",
+       DPRINTFN(sc, 10, ("sending mgt frame len=%u idx=%u rate=%u\n",
            m0->m_pkthdr.len, sc->prioq.cur, rate));
 
        /* kick prio */
@@ -1913,7 +1924,7 @@ rt2560_tx_data(struct rt2560_softc *sc, struct mbuf *m0,
        bus_dmamap_sync(sc->txq.desc_dmat, sc->txq.desc_map,
            BUS_DMASYNC_PREWRITE);
 
-       DPRINTFN(10, ("sending data frame len=%u idx=%u rate=%u\n",
+       DPRINTFN(sc, 10, ("sending data frame len=%u idx=%u rate=%u\n",
            m0->m_pkthdr.len, sc->txq.cur_encrypt, rate));
 
        /* kick encrypt */
@@ -2096,11 +2107,11 @@ rt2560_bbp_write(struct rt2560_softc *sc, uint8_t reg, uint8_t val)
        tmp = RT2560_BBP_WRITE | RT2560_BBP_BUSY | reg << 8 | val;
        RAL_WRITE(sc, RT2560_BBPCSR, tmp);
 
-       DPRINTFN(15, ("BBP R%u <- 0x%02x\n", reg, val));
+       DPRINTFN(sc, 15, ("BBP R%u <- 0x%02x\n", reg, val));
 
        /* XXX */
        if (reg == 17) {
-               DPRINTF(("%s record bbp17 %#x\n", __func__, val));
+               DPRINTF(sc, ("%s record bbp17 %#x\n", __func__, val));
                sc->sc_bbp17 = val;
        }
 }
@@ -2158,7 +2169,7 @@ rt2560_rf_write(struct rt2560_softc *sc, uint8_t reg, uint32_t val)
        /* remember last written value in sc */
        sc->rf_regs[reg] = val;
 
-       DPRINTFN(15, ("RF R[%u] <- 0x%05x\n", reg & 0x3, val & 0xfffff));
+       DPRINTFN(sc, 15, ("RF R[%u] <- 0x%05x\n", reg & 0x3, val & 0xfffff));
 }
 
 static void
@@ -2185,7 +2196,8 @@ rt2560_set_chan(struct rt2560_softc *sc, struct ieee80211_channel *c)
 
        power = sc->sc_curtxpow;
 
-       DPRINTFN(2, ("setting channel to %u, txpower to %u\n", chan, power));
+       DPRINTFN(sc, 2, ("setting channel to %u, txpower to %u\n",
+                chan, power));
 
        switch (sc->rf_rev) {
        case RT2560_RF_2522:
@@ -2299,7 +2311,7 @@ rt2560_enable_tsf_sync(struct rt2560_softc *sc)
                       RT2560_ENABLE_BEACON_GENERATOR;
        RAL_WRITE(sc, RT2560_CSR14, tmp);
 
-       DPRINTF(("enabling TSF synchronization\n"));
+       DPRINTF(sc, ("enabling TSF synchronization\n"));
 }
 
 static void
@@ -2322,7 +2334,7 @@ rt2560_update_plcp(struct rt2560_softc *sc)
                RAL_WRITE(sc, RT2560_PLCP11MCSR,  0x000b840b);
        }
 
-       DPRINTF(("updating PLCP for %s preamble\n",
+       DPRINTF(sc, ("updating PLCP for %s preamble\n",
            (ic->ic_flags & IEEE80211_F_SHPREAMBLE) ? "short" : "long"));
 }
 
@@ -2377,7 +2389,7 @@ rt2560_update_slot(struct ifnet *ifp)
        tmp = eifs << 16 | tx_difs;
        RAL_WRITE(sc, RT2560_CSR19, tmp);
 
-       DPRINTF(("setting slottime to %uus\n", slottime));
+       DPRINTF(sc, ("setting slottime to %uus\n", slottime));
 }
 
 static void
@@ -2419,7 +2431,7 @@ rt2560_set_bssid(struct rt2560_softc *sc, uint8_t *bssid)
        tmp = bssid[4] | bssid[5] << 8;
        RAL_WRITE(sc, RT2560_CSR6, tmp);
 
-       DPRINTF(("setting BSSID to %6D\n", bssid, ":"));
+       DPRINTF(sc, ("setting BSSID to %6D\n", bssid, ":"));
 }
 
 static void
@@ -2433,7 +2445,7 @@ rt2560_set_macaddr(struct rt2560_softc *sc, uint8_t *addr)
        tmp = addr[4] | addr[5] << 8;
        RAL_WRITE(sc, RT2560_CSR4, tmp);
 
-       DPRINTF(("setting MAC address to %6D\n", addr, ":"));
+       DPRINTF(sc, ("setting MAC address to %6D\n", addr, ":"));
 }
 
 static void
@@ -2466,7 +2478,7 @@ rt2560_update_promisc(struct rt2560_softc *sc)
 
        RAL_WRITE(sc, RT2560_RXCSR0, tmp);
 
-       DPRINTF(("%s promiscuous mode\n", (ifp->if_flags & IFF_PROMISC) ?
+       DPRINTF(sc, ("%s promiscuous mode\n", (ifp->if_flags & IFF_PROMISC) ?
            "entering" : "leaving"));
 }
 
@@ -2506,7 +2518,7 @@ rt2560_read_config(struct rt2560_softc *sc)
                        continue;
                sc->bbp_prom[i].reg = val >> 8;
                sc->bbp_prom[i].val = val & 0xff;
-               DPRINTF(("rom bbp reg:%u val:%#x\n",
+               DPRINTF(sc, ("rom bbp reg:%u val:%#x\n",
                         sc->bbp_prom[i].reg, sc->bbp_prom[i].val));
 
                if (sc->bbp_prom[i].reg == 17) {
@@ -2531,7 +2543,7 @@ rt2560_read_config(struct rt2560_softc *sc)
        for (i = 0; i < 14; ++i) {
                if (sc->txpow[i] > 31)
                        sc->txpow[i] = RT2560_DEFAULT_TXPOWER;
-               DPRINTF(("tx power chan %d: %u\n", i + 1, sc->txpow[i]));
+               DPRINTF(sc, ("tx power chan %d: %u\n", i + 1, sc->txpow[i]));
        }
 
        val = rt2560_eeprom_read(sc, RT2560_EEPROM_CALIBRATE);
@@ -2539,14 +2551,14 @@ rt2560_read_config(struct rt2560_softc *sc)
                sc->rssi_corr = RT2560_DEFAULT_RSSI_CORR;
        else
                sc->rssi_corr = val & 0xff;
-       DPRINTF(("rssi correction %d, calibrate 0x%02x\n",
+       DPRINTF(sc, ("rssi correction %d, calibrate 0x%02x\n",
                 sc->rssi_corr, val));
 
        val = rt2560_eeprom_read(sc, RT2560_EEPROM_CONFIG1);
        if (val == 0xffff)
                val = 0;
        if ((val & 0x2) == 0 && sc->asic_rev >= RT2560_ASICREV_D) {
-               DPRINTF(("capable of RX sensitivity calibration\n"));
+               DPRINTF(sc, ("capable of RX sensitivity calibration\n"));
                sc->sc_flags |= RT2560_FLAG_RXSNS;
        }
 }
@@ -2818,7 +2830,7 @@ rt2560_calib_rxsensitivity(struct rt2560_softc *sc, uint32_t false_cca)
                return;
 
        rssi_dbm = sc->sc_avgrssi + RT2560_NOISE_FLOOR;
-       DPRINTF(("rssi dbm %d\n", rssi_dbm));
+       DPRINTF(sc, ("rssi dbm %d\n", rssi_dbm));
 
        /*
         * Rx sensitivity is reduced, if bbp17 is increased, and vice versa.
@@ -2873,7 +2885,7 @@ rt2560_calibrate(void *xsc)
        lwkt_serialize_enter(ifp->if_serializer);
 
        false_cca = RAL_READ(sc, RT2560_CNT3) & 0xffff;
-       DPRINTF(("false CCA %u\n", false_cca));
+       DPRINTF(sc, ("false CCA %u\n", false_cca));
 
        if (sc->sc_calib_rxsns)
                rt2560_calib_rxsensitivity(sc, false_cca);
index e298792..3505d78 100644 (file)
@@ -15,7 +15,7 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
  * $FreeBSD: src/sys/dev/ral/rt2560var.h,v 1.1 2006/03/05 20:36:56 damien Exp $
- * $DragonFly: src/sys/dev/netif/ral/rt2560var.h,v 1.11 2008/01/25 14:43:10 sephe Exp $
+ * $DragonFly: src/sys/dev/netif/ral/rt2560var.h,v 1.12 2008/02/08 09:42:30 sephe Exp $
  */
 
 struct rt2560_rx_radiotap_header {
@@ -172,6 +172,8 @@ struct rt2560_softc {
        struct sysctl_ctx_list  sysctl_ctx;
        struct sysctl_oid       *sysctl_tree;
 
+       int                     sc_debug;
+
        struct ieee80211_onoe_param sc_onoe_param;
        struct ieee80211_sample_param sc_sample_param;
        uint32_t                sc_flags;
index 6afaedd..56d618f 100644 (file)
@@ -15,7 +15,7 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
  * $FreeBSD: src/sys/dev/ral/rt2661.c,v 1.4 2006/03/21 21:15:43 damien Exp $
- * $DragonFly: src/sys/dev/netif/ral/rt2661.c,v 1.28 2008/01/17 13:33:11 sephe Exp $
+ * $DragonFly: src/sys/dev/netif/ral/rt2661.c,v 1.29 2008/02/08 09:42:30 sephe Exp $
  */
 
 /*
 #include <dev/netif/ral/rt2661_ucode.h>
 
 #ifdef RAL_DEBUG
-#define DPRINTF(x)     do { if (ral_debug > 0) kprintf x; } while (0)
-#define DPRINTFN(n, x) do { if (ral_debug >= (n)) kprintf x; } while (0)
-int ral_debug = 1;
-SYSCTL_INT(_debug, OID_AUTO, ral, CTLFLAG_RW, &ral_debug, 0, "ral debug level");
+#define DPRINTF(sc, x)         \
+       do { if ((sc)->sc_debug > 0) kprintf x; } while (0)
+#define DPRINTFN(sc, n, x)     \
+       do { if ((sc)->sc_debug >= (n)) kprintf x; } while (0)
 #else
-#define DPRINTF(x)
-#define DPRINTFN(n, x)
+#define DPRINTF(sc, x)
+#define DPRINTFN(sc, n, x)
 #endif
 
 MALLOC_DEFINE(M_RT2661, "rt2661_ratectl", "rt2661 rate control data");
@@ -273,6 +273,9 @@ rt2661_attach(device_t dev, int id)
 
        callout_init(&sc->scan_ch);
        callout_init(&sc->calib_ch);
+#ifdef RAL_DEBUG
+       sc->sc_debug = 1;
+#endif
 
        sc->sc_irq_rid = 0;
        sc->sc_irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &sc->sc_irq_rid,
@@ -496,6 +499,12 @@ rt2661_attach(device_t dev, int id)
            CTLFLAG_RW, &sc->sc_dwelltime, 0,
            "Channel dwell time (ms) for AP/station scanning");
 
+#ifdef RAL_DEBUG
+       SYSCTL_ADD_INT(&sc->sysctl_ctx,
+           SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO, "debug",
+           CTLFLAG_RW, &sc->sc_debug, 0, "debug level");
+#endif
+
        SYSCTL_ADD_INT(&sc->sysctl_ctx,
            SYSCTL_CHILDREN(sc->sysctl_tree), OID_AUTO, "txpwr_corr",
            CTLFLAG_RW, &sc->sc_txpwr_corr, 0,
@@ -1119,12 +1128,12 @@ rt2661_tx_intr(struct rt2661_softc *sc)
                switch (result) {
                case RT2661_TX_SUCCESS:
                        retrycnt = RT2661_TX_RETRYCNT(val);
-                       DPRINTFN(10, ("data frame sent successfully after "
+                       DPRINTFN(sc, 10, ("data frame sent successfully after "
                            "%d retries\n", retrycnt));
                        break;
 
                case RT2661_TX_RETRY_FAIL:
-                       DPRINTFN(9, ("sending data frame failed (too much "
+                       DPRINTFN(sc, 9, ("sending data frame failed (too much "
                            "retries)\n"));
                        break;
 
@@ -1171,7 +1180,7 @@ rt2661_tx_dma_intr(struct rt2661_softc *sc, struct rt2661_tx_ring *txq)
                /* descriptor is no longer valid */
                desc->flags &= ~htole32(RT2661_TX_VALID);
 
-               DPRINTFN(15, ("tx dma done q=%p idx=%u\n", txq, txq->next));
+               DPRINTFN(sc, 15, ("tx dma done q=%p idx=%u\n", txq, txq->next));
 
                txq->queued--;
                if (++txq->next >= txq->count)  /* faster than % count */
@@ -1221,13 +1230,13 @@ rt2661_rx_intr(struct rt2661_softc *sc)
                         * This should not happen since we did not request
                         * to receive those frames when we filled TXRX_CSR0.
                         */
-                       DPRINTFN(5, ("CRC error flags 0x%08x\n", flags));
+                       DPRINTFN(sc, 5, ("CRC error flags 0x%08x\n", flags));
                        ifp->if_ierrors++;
                        goto skip;
                }
 
                if (flags & RT2661_RX_CIPHER_MASK) {
-                       DPRINTFN(5, ("cipher error 0x%08x\n", flags));
+                       DPRINTFN(sc, 5, ("cipher error 0x%08x\n", flags));
                        ifp->if_ierrors++;
                        goto skip;
                }
@@ -1286,7 +1295,7 @@ rt2661_rx_intr(struct rt2661_softc *sc)
 
                wh = mtod(m, struct ieee80211_frame_min *);
                if (wh->i_fc[1] & IEEE80211_FC1_WEP)
-                       DPRINTFN(5, ("keyix %d\n", RT2661_RX_KEYIX(flags)));
+                       DPRINTFN(sc, 5, ("keyix %d\n", RT2661_RX_KEYIX(flags)));
 
                ni = ieee80211_find_rxnode(ic, wh);
 
@@ -1329,7 +1338,7 @@ rt2661_rx_intr(struct rt2661_softc *sc)
 
 skip:          desc->flags |= htole32(RT2661_RX_BUSY);
 
-               DPRINTFN(15, ("rx intr idx=%u\n", sc->rxq.cur));
+               DPRINTFN(sc, 15, ("rx intr idx=%u\n", sc->rxq.cur));
 
                sc->rxq.cur = (sc->rxq.cur + 1) % RT2661_RX_RING_COUNT;
        }
@@ -1647,7 +1656,7 @@ rt2661_tx_mgt(struct rt2661_softc *sc, struct mbuf *m0,
        bus_dmamap_sync(sc->mgtq.desc_dmat, sc->mgtq.desc_map,
            BUS_DMASYNC_PREWRITE);
 
-       DPRINTFN(10, ("sending mgt frame len=%u idx=%u rate=%u\n",
+       DPRINTFN(sc, 10, ("sending mgt frame len=%u idx=%u rate=%u\n",
            m0->m_pkthdr.len, sc->mgtq.cur, rate));
 
        /* kick mgt */
@@ -1870,7 +1879,7 @@ rt2661_tx_data(struct rt2661_softc *sc, struct mbuf *m0,
        bus_dmamap_sync(txq->data_dmat, data->map, BUS_DMASYNC_PREWRITE);
        bus_dmamap_sync(txq->desc_dmat, txq->desc_map, BUS_DMASYNC_PREWRITE);
 
-       DPRINTFN(10, ("sending data frame len=%u idx=%u rate=%u\n",
+       DPRINTFN(sc, 10, ("sending data frame len=%u idx=%u rate=%u\n",
            m0->m_pkthdr.len, txq->cur, rate));
 
        /* kick Tx */
@@ -2072,11 +2081,11 @@ rt2661_bbp_write(struct rt2661_softc *sc, uint8_t reg, uint8_t val)
        tmp = RT2661_BBP_BUSY | (reg & 0x7f) << 8 | val;
        RAL_WRITE(sc, RT2661_PHY_CSR3, tmp);
 
-       DPRINTFN(15, ("BBP R%u <- 0x%02x\n", reg, val));
+       DPRINTFN(sc, 15, ("BBP R%u <- 0x%02x\n", reg, val));
 
        /* XXX */
        if (reg == 17) {
-               DPRINTF(("record bbp17 %#x\n", val));
+               DPRINTF(sc, ("record bbp17 %#x\n", val));
                sc->bbp17 = val;
        }
 }
@@ -2134,7 +2143,7 @@ rt2661_rf_write(struct rt2661_softc *sc, uint8_t reg, uint32_t val)
        /* remember last written value in sc */
        sc->rf_regs[reg] = val;
 
-       DPRINTFN(15, ("RF R[%u] <- 0x%05x\n", reg & 3, val & 0x1fffff));
+       DPRINTFN(sc, 15, ("RF R[%u] <- 0x%05x\n", reg & 3, val & 0x1fffff));
 }
 
 static int
@@ -2249,7 +2258,7 @@ rt2661_set_ackrates(struct rt2661_softc *sc, const struct ieee80211_rateset *rs)
 
        RAL_WRITE(sc, RT2661_TXRX_CSR5, mask);
 
-       DPRINTF(("Setting ack rate mask to 0x%x\n", mask));
+       DPRINTF(sc, ("Setting ack rate mask to 0x%x\n", mask));
 #undef RV
 }
 
@@ -2427,7 +2436,7 @@ rt2661_update_promisc(struct rt2661_softc *sc)
 
        RAL_WRITE(sc, RT2661_TXRX_CSR0, tmp);
 
-       DPRINTF(("%s promiscuous mode\n", (ifp->if_flags & IFF_PROMISC) ?
+       DPRINTF(sc, ("%s promiscuous mode\n", (ifp->if_flags & IFF_PROMISC) ?
            "entering" : "leaving"));
 }
 
@@ -2534,15 +2543,15 @@ rt2661_read_config(struct rt2661_softc *sc)
        sc->tx_ant   = (val >> 2)  & 0x3;
        sc->nb_ant   = val & 0x3;
 
-       DPRINTF(("RF revision=%d\n", sc->rf_rev));
-       DPRINTF(("Number of ant %d, rxant %d, txant %d\n",
+       DPRINTF(sc, ("RF revision=%d\n", sc->rf_rev));
+       DPRINTF(sc, ("Number of ant %d, rxant %d, txant %d\n",
                 sc->nb_ant, sc->rx_ant, sc->tx_ant));
 
        val = rt2661_eeprom_read(sc, RT2661_EEPROM_CONFIG2);
        sc->ext_5ghz_lna = (val >> 6) & 0x1;
        sc->ext_2ghz_lna = (val >> 4) & 0x1;
 
-       DPRINTF(("External 2GHz LNA=%d\nExternal 5GHz LNA=%d\n",
+       DPRINTF(sc, ("External 2GHz LNA=%d\nExternal 5GHz LNA=%d\n",
            sc->ext_2ghz_lna, sc->ext_5ghz_lna));
 
        if (sc->ext_2ghz_lna) {
@@ -2579,7 +2588,7 @@ rt2661_read_config(struct rt2661_softc *sc)
        if (sc->ext_5ghz_lna)
                sc->rssi_5ghz_corr -= 14;
 
-       DPRINTF(("RSSI 2GHz corr0=%d corr1=%d\nRSSI 5GHz corr=%d\n",
+       DPRINTF(sc, ("RSSI 2GHz corr0=%d corr1=%d\nRSSI 5GHz corr=%d\n",
            sc->rssi_2ghz_corr[0], sc->rssi_2ghz_corr[1], sc->rssi_5ghz_corr));
 
        val = rt2661_eeprom_read(sc, RT2661_EEPROM_FREQ_OFFSET);
@@ -2588,7 +2597,7 @@ rt2661_read_config(struct rt2661_softc *sc)
        if ((val & 0xff) != 0xff)
                sc->rffreq = val & 0xff;
 
-       DPRINTF(("RF prog=%d\nRF freq=%d\n", rfprog, sc->rffreq));
+       DPRINTF(sc, ("RF prog=%d\nRF freq=%d\n", rfprog, sc->rffreq));
 
        sc->rfprog = rfprog == 0 ? rt2661_rf5225_1 : rt2661_rf5225_2;
 
@@ -2612,12 +2621,12 @@ rt2661_read_config(struct rt2661_softc *sc)
                        continue;       /* skip invalid entries */
                sc->bbp_prom[i].reg = val >> 8;
                sc->bbp_prom[i].val = val & 0xff;
-               DPRINTF(("BBP R%d=%02x\n", sc->bbp_prom[i].reg,
+               DPRINTF(sc, ("BBP R%d=%02x\n", sc->bbp_prom[i].reg,
                    sc->bbp_prom[i].val));
        }
 
        val = rt2661_eeprom_read(sc, RT2661_EEPROM_LED_OFFSET);
-       DPRINTF(("LED %02x\n", val));
+       DPRINTF(sc, ("LED %02x\n", val));
        if (val == 0xffff) {
                sc->mcu_led = RT2661_MCU_LED_DEFAULT;
        } else {
@@ -2641,7 +2650,7 @@ rt2661_read_config(struct rt2661_softc *sc)
        val = rt2661_eeprom_read(sc, RT2661_EEPROM_2GHZ_TSSI2);
        sc->tssi_2ghz_down[1] = val & 0xff;
        sc->tssi_2ghz_down[0] = val >> 8;
-       DPRINTF(("2GHZ tssi down 0:%u 1:%u 2:%u 3:%u\n",
+       DPRINTF(sc, ("2GHZ tssi down 0:%u 1:%u 2:%u 3:%u\n",
                 sc->tssi_2ghz_down[0], sc->tssi_2ghz_down[1],
                 sc->tssi_2ghz_down[2], sc->tssi_2ghz_down[3]));
 
@@ -2652,7 +2661,7 @@ rt2661_read_config(struct rt2661_softc *sc)
        val = rt2661_eeprom_read(sc, RT2661_EEPROM_2GHZ_TSSI4);
        sc->tssi_2ghz_up[2] = val & 0xff;
        sc->tssi_2ghz_up[3] = val >> 8;
-       DPRINTF(("2GHZ tssi up 0:%u 1:%u 2:%u 3:%u\n",
+       DPRINTF(sc, ("2GHZ tssi up 0:%u 1:%u 2:%u 3:%u\n",
                 sc->tssi_2ghz_up[0], sc->tssi_2ghz_up[1],
                 sc->tssi_2ghz_up[2], sc->tssi_2ghz_up[3]));
 
@@ -2660,12 +2669,12 @@ rt2661_read_config(struct rt2661_softc *sc)
        val = rt2661_eeprom_read(sc, RT2661_EEPROM_2GHZ_TSSI5);
        sc->tssi_2ghz_ref = val & 0xff;
        sc->tssi_2ghz_step = val >> 8;
-       DPRINTF(("2GHZ tssi ref %u, step %d\n",
+       DPRINTF(sc, ("2GHZ tssi ref %u, step %d\n",
                 sc->tssi_2ghz_ref, sc->tssi_2ghz_step));
 
        if (sc->tssi_2ghz_ref == 0xff)
                sc->auto_txagc = 0;
-       DPRINTF(("Auto TX AGC %d\n", sc->auto_txagc));
+       DPRINTF(sc, ("Auto TX AGC %d\n", sc->auto_txagc));
 }
 
 static int
@@ -3070,7 +3079,7 @@ rt2661_led_newstate(struct rt2661_softc *sc, enum ieee80211_state nstate)
        uint32_t mail = sc->mcu_led;
 
        if (RAL_READ(sc, RT2661_H2M_MAILBOX_CSR) & RT2661_H2M_BUSY) {
-               DPRINTF(("%s failed\n", __func__));
+               DPRINTF(sc, ("%s failed\n", __func__));
                return;
        }
 
@@ -3127,7 +3136,7 @@ rt2661_read_txpower_config(struct rt2661_softc *sc, uint8_t txpwr_ofs,
                                tx_power = RT2661_TXPOWER_DEFAULT;
 
                        sc->txpow[chan_idx] = tx_power;
-                       DPRINTF(("Channel=%d Tx power=%d\n",
+                       DPRINTF(sc, ("Channel=%d Tx power=%d\n",
                            rt2661_rf5225_1[chan_idx].chan, sc->txpow[chan_idx]));
 
                        ++chan_idx;
@@ -3142,15 +3151,15 @@ rt2661_key_alloc(struct ieee80211com *ic, const struct ieee80211_key *key,
 {
        struct rt2661_softc *sc = ic->ic_if.if_softc;
 
-       DPRINTF(("%s: ", __func__));
+       DPRINTF(sc, ("%s: ", __func__));
 
        if (key->wk_flags & IEEE80211_KEY_SWCRYPT) {
-               DPRINTF(("alloc sw key\n"));
+               DPRINTF(sc, ("alloc sw key\n"));
                return sc->sc_key_alloc(ic, key, keyix, rxkeyix);
        }
 
        if (key->wk_flags & IEEE80211_KEY_GROUP) {      /* Global key */
-               DPRINTF(("alloc group key\n"));
+               DPRINTF(sc, ("alloc group key\n"));
 
                KASSERT(key >= &ic->ic_nw_keys[0] &&
                        key < &ic->ic_nw_keys[IEEE80211_WEP_NKID],
@@ -3161,7 +3170,7 @@ rt2661_key_alloc(struct ieee80211com *ic, const struct ieee80211_key *key,
        } else {                                        /* Pairwise key */
                int i;
 
-               DPRINTF(("alloc pairwise key\n"));
+               DPRINTF(sc, ("alloc pairwise key\n"));
 
                for (i = IEEE80211_WEP_NKID; i < RT2661_KEY_MAX; ++i) {
                        if (!RT2661_KEY_ISSET(sc, i))
@@ -3187,21 +3196,21 @@ rt2661_key_delete(struct ieee80211com *ic, const struct ieee80211_key *key)
        struct rt2661_softc *sc = ic->ic_if.if_softc;
        uint32_t val;
 
-       DPRINTF(("%s: keyix %d, rxkeyix %d, ", __func__,
+       DPRINTF(sc, ("%s: keyix %d, rxkeyix %d, ", __func__,
                 key->wk_keyix, key->wk_rxkeyix));
 
        if (key->wk_flags & IEEE80211_KEY_SWCRYPT) {
-               DPRINTF(("delete sw key\n"));
+               DPRINTF(sc, ("delete sw key\n"));
                return sc->sc_key_delete(ic, key);
        }
 
        if (key->wk_keyix < IEEE80211_WEP_NKID) {       /* Global key */
-               DPRINTF(("delete global key\n"));
+               DPRINTF(sc, ("delete global key\n"));
                val = RAL_READ(sc, RT2661_SEC_CSR0);
                val &= ~(1 << key->wk_keyix);
                RAL_WRITE(sc, RT2661_SEC_CSR0, val);
        } else {                                        /* Pairwise key */
-               DPRINTF(("delete pairwise key\n"));
+               DPRINTF(sc, ("delete pairwise key\n"));
 
                RT2661_KEY_CLR(sc, key->wk_keyix);
                if (key->wk_keyix < 32) {
@@ -3224,18 +3233,18 @@ rt2661_key_set(struct ieee80211com *ic, const struct ieee80211_key *key,
        struct rt2661_softc *sc = ic->ic_if.if_softc;
        uint32_t addr, val;
 
-       DPRINTF(("%s: keyix %d, rxkeyix %d, flags 0x%04x, ", __func__,
+       DPRINTF(sc, ("%s: keyix %d, rxkeyix %d, flags 0x%04x, ", __func__,
                 key->wk_keyix, key->wk_rxkeyix, key->wk_flags));
 
        if (key->wk_flags & IEEE80211_KEY_SWCRYPT) {
-               DPRINTF(("set sw key\n"));
+               DPRINTF(sc, ("set sw key\n"));
                return sc->sc_key_set(ic, key, mac);
        }
 
        if (key->wk_keyix < IEEE80211_WEP_NKID) {       /* Global Key */
                int cipher, keyix_shift;
 
-               DPRINTF(("set global key\n"));
+               DPRINTF(sc, ("set global key\n"));
 
                /*
                 * Install key content.
@@ -3264,7 +3273,7 @@ rt2661_key_set(struct ieee80211com *ic, const struct ieee80211_key *key,
        } else {                                        /* Pairwise key */
                uint8_t mac_cipher[IEEE80211_ADDR_LEN + 1];
 
-               DPRINTF(("set pairwise key\n"));
+               DPRINTF(sc, ("set pairwise key\n"));
 
                /*
                 * Install key content.
@@ -3384,7 +3393,7 @@ rt2661_calib_txpower(struct rt2661_softc *sc)
         * Adjust TX power according to RSSI
         */
        rssi_dbm = rt2661_avgrssi(sc);
-       DPRINTF(("dbm %d, txpower %d\n", rssi_dbm, txpower));
+       DPRINTF(sc, ("dbm %d, txpower %d\n", rssi_dbm, txpower));
 
        if (rssi_dbm > -30) {
                if (txpower > 16)
@@ -3439,7 +3448,7 @@ rt2661_calib_rxsensibility(struct rt2661_softc *sc, uint32_t false_cca)
                return;
        }
 
-       DPRINTF(("calibrate according to false CCA\n"));
+       DPRINTF(sc, ("calibrate according to false CCA\n"));
 
        if (false_cca > 512 && sc->bbp17 > sc->bbp17_2ghz_min)
                rt2661_bbp_write(sc, 17, sc->bbp17 - 1);
@@ -3459,7 +3468,7 @@ rt2661_calibrate(void *xsc)
        lwkt_serialize_enter(ifp->if_serializer);
 
        false_cca = (RAL_READ(sc, RT2661_STA_CSR1) >> 16);
-       DPRINTF(("false cca %u\n", false_cca));
+       DPRINTF(sc, ("false cca %u\n", false_cca));
 
        if (sc->sc_calib_rxsns)
                rt2661_calib_rxsensibility(sc, false_cca);
index 3203be1..4dcc924 100644 (file)
@@ -15,7 +15,7 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  *
  * $FreeBSD: src/sys/dev/ral/rt2661var.h,v 1.1 2006/03/05 20:36:56 damien Exp $
- * $DragonFly: src/sys/dev/netif/ral/rt2661var.h,v 1.11 2008/01/17 13:33:11 sephe Exp $
+ * $DragonFly: src/sys/dev/netif/ral/rt2661var.h,v 1.12 2008/02/08 09:42:30 sephe Exp $
  */
 
 #define RT2661_TSSI_LIMSZ      4
@@ -204,6 +204,7 @@ struct rt2661_softc {
        int                             sc_calib_txpwr;
        int                             sc_calib_rxsns;
        int                             sc_dwelltime;
+       int                             sc_debug;
 
        struct ieee80211_onoe_param     sc_onoe_param;
        struct ieee80211_sample_param   sc_sample_param;