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/eff81584f98b
branches:  trunk
changeset: 950519:eff81584f98b
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 18d075902bff -r eff81584f98b 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
@@ -193,9 +193,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 *,
@@ -277,6 +279,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 *,
@@ -294,6 +297,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 *);
@@ -648,7 +652,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 */
@@ -687,11 +691,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 */
@@ -936,9 +942,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;
@@ -976,9 +984,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;
@@ -2501,6 +2511,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,
@@ -2516,6 +2527,7 @@
        /* XXX TBD */
 }
 #endif
+#endif
 
 /*
  * Process a CALIBRATION_RESULT notification sent by the initialization
@@ -2787,11 +2799,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);
@@ -5160,9 +5174,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);
 
@@ -5504,6 +5520,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.
@@ -5717,6 +5734,7 @@
        iwn_prph_write(sc, IWN5000_SCHED_QUEUE_STATUS(qid),
            IWN5000_TXQ_STATUS_INACTIVE | iwn_tid2fifo[tid]);
 }
+#endif
 #endif /* !IEEE80211_NO_HT */
 
 /*
diff -r 18d075902bff -r eff81584f98b 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