Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src-draft/trunk]: src/sys/dev/pci Initial 11n support for iwn.



details:   https://anonhg.NetBSD.org/src-all/rev/4eb2de3fda8c
branches:  trunk
changeset: 990775:4eb2de3fda8c
user:      Nathanial Sloss <nat%netbsd.org@localhost>
date:      Sat May 23 01:09:55 2020 +1000

description:
Initial 11n support for iwn.
Packet aggregation is disabled for now.

diffstat:

 sys/dev/pci/if_iwn.c    |  20 +++++++++++++++++++-
 sys/dev/pci/if_iwnvar.h |   3 ---
 2 files changed, 19 insertions(+), 4 deletions(-)

diffs (149 lines):

diff -r 59e032bbdfb1 -r 4eb2de3fda8c sys/dev/pci/if_iwn.c
--- a/sys/dev/pci/if_iwn.c      Sat May 23 00:02:11 2020 +1000
+++ b/sys/dev/pci/if_iwn.c      Sat May 23 01:09:55 2020 +1000
@@ -274,9 +274,11 @@
 static void    iwn_rx_done(struct ieee80211vap *, struct iwn_rx_desc *,
                    struct iwn_rx_data *);
 #ifndef IEEE80211_NO_HT
+#ifdef notyet
 static void    iwn_rx_compressed_ba(struct iwn_softc *, struct iwn_rx_desc *,
                    struct iwn_rx_data *);
 #endif
+#endif
 static void    iwn5000_rx_calib_results(struct iwn_softc *,
                    struct iwn_rx_desc *, struct iwn_rx_data *);
 static void    iwn_rx_statistics(struct ieee80211vap *, struct iwn_rx_desc *,
@@ -358,6 +360,7 @@
 #endif
 static int     iwn_wme_update(struct ieee80211com *);
 #ifndef IEEE80211_NO_HT
+#ifdef notyet
 static int     iwn_ampdu_rx_start(struct ieee80211com *,
                    struct ieee80211_node *, uint8_t);
 static void    iwn_ampdu_rx_stop(struct ieee80211com *,
@@ -375,6 +378,7 @@
 static void    iwn5000_ampdu_tx_stop(struct iwn_softc *,
                    uint8_t, uint16_t);
 #endif
+#endif
 static int     iwn5000_query_calibration(struct iwn_softc *);
 static int     iwn5000_send_calibration(struct iwn_softc *);
 static int     iwn5000_send_wimax_coex(struct iwn_softc *);
@@ -721,7 +725,7 @@
        ic->ic_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
 
        /* Set supported legacy rates. */
-#ifndef IEEE80211_NO_HT
+#ifdef notused
        if (sc->sc_flags & IWN_FLAG_HAS_11N) {
                /* Set supported HT rates. */
                ic->ic_sup_mcs[0] = 0xff;               /* MCS 0-7 */
@@ -760,11 +764,13 @@
 #endif
        ic->ic_wme.wme_update = iwn_wme_update;
 #ifndef IEEE80211_NO_HT
+#ifdef notyet
        ic->ic_ampdu_rx_start = iwn_ampdu_rx_start;
        ic->ic_ampdu_rx_stop = iwn_ampdu_rx_stop;
        ic->ic_ampdu_tx_start = iwn_ampdu_tx_start;
        ic->ic_ampdu_tx_stop = iwn_ampdu_tx_stop;
 #endif
+#endif
 
 #if 0
        /* XXX media locking needs revisiting */
@@ -1009,9 +1015,11 @@
        ops->add_node = iwn4965_add_node;
        ops->tx_done = iwn4965_tx_done;
 #ifndef IEEE80211_NO_HT
+#ifdef notyet
        ops->ampdu_tx_start = iwn4965_ampdu_tx_start;
        ops->ampdu_tx_stop = iwn4965_ampdu_tx_stop;
 #endif
+#endif
        sc->ntxqs = IWN4965_NTXQUEUES;
        sc->ndmachnls = IWN4965_NDMACHNLS;
        sc->broadcast_id = IWN4965_ID_BROADCAST;
@@ -1049,9 +1057,11 @@
        ops->add_node = iwn5000_add_node;
        ops->tx_done = iwn5000_tx_done;
 #ifndef IEEE80211_NO_HT
+#ifdef notyet
        ops->ampdu_tx_start = iwn5000_ampdu_tx_start;
        ops->ampdu_tx_stop = iwn5000_ampdu_tx_stop;
 #endif
+#endif
        sc->ntxqs = IWN5000_NTXQUEUES;
        sc->ndmachnls = IWN5000_NDMACHNLS;
        sc->broadcast_id = IWN5000_ID_BROADCAST;
@@ -2574,6 +2584,7 @@
 }
 
 #ifndef IEEE80211_NO_HT
+#ifdef notyet
 /* Process an incoming Compressed BlockAck. */
 static void
 iwn_rx_compressed_ba(struct iwn_softc *sc, struct iwn_rx_desc *desc,
@@ -2589,6 +2600,7 @@
        /* XXX TBD */
 }
 #endif
+#endif
 
 /*
  * Process a CALIBRATION_RESULT notification sent by the initialization
@@ -2860,11 +2872,13 @@
                        iwn_rx_done(vap, desc, data);
                        break;
 #ifndef IEEE80211_NO_HT
+#ifdef notyet
                case IWN_RX_COMPRESSED_BA:
                        /* A Compressed BlockAck has been received. */
                        iwn_rx_compressed_ba(sc, desc, data);
                        break;
 #endif
+#endif
                case IWN_TX_DONE:
                        /* An 802.11 frame has been transmitted. */
                        ops->tx_done(sc, desc, data);
@@ -5233,9 +5247,11 @@
        frm = ieee80211_add_ssid(frm, NULL, 0);
        frm = ieee80211_add_rates(frm, rs);
 #ifndef IEEE80211_NO_HT
+#ifdef notyet
        if (ic->ic_flags & IEEE80211_F_HTON)
                frm = ieee80211_add_htcaps(frm, ic);
 #endif
+#endif
        if (rs->rs_nrates > IEEE80211_RATE_SIZE)
                frm = ieee80211_add_xrates(frm, rs);
 
@@ -5577,6 +5593,7 @@
 }
 
 #ifndef IEEE80211_NO_HT
+#ifdef notyet
 /*
  * This function is called by upper layer when an ADDBA request is received
  * from another STA and before the ADDBA response is sent.
@@ -5790,6 +5807,7 @@
        iwn_prph_write(sc, IWN5000_SCHED_QUEUE_STATUS(qid),
            IWN5000_TXQ_STATUS_INACTIVE | iwn_tid2fifo[tid]);
 }
+#endif
 #endif /* !IEEE80211_NO_HT */
 
 /*
diff -r 59e032bbdfb1 -r 4eb2de3fda8c sys/dev/pci/if_iwnvar.h
--- a/sys/dev/pci/if_iwnvar.h   Sat May 23 00:02:11 2020 +1000
+++ b/sys/dev/pci/if_iwnvar.h   Sat May 23 01:09:55 2020 +1000
@@ -18,9 +18,6 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* XXX Added for NetBSD */
-#define IEEE80211_NO_HT
-
 struct iwn_rx_radiotap_header {
        struct ieee80211_radiotap_header wr_ihdr;
        uint64_t        wr_tsft;



Home | Main Index | Thread Index | Old Index