carl9170 toolchain: update to gcc 9.1.0
[carl9170fw.git] / include / shared / wlan.h
index 16b0364331f06484b97d231b5594f75fb4bc0808..117f005f20b931a34c2201b5921e23bcc80de026 100644 (file)
@@ -273,7 +273,7 @@ struct ar9170_tx_frame {
                struct ieee80211_hdr i3e;
                u8 payload[0];
        } data;
-} __packed;
+} __packed __aligned(4);
 
 struct carl9170_tx_superframe {
        struct carl9170_tx_superdesc s;
@@ -370,24 +370,24 @@ struct ar9170_rx_frame_single {
        struct ieee80211_hdr i3e;
        struct ar9170_rx_phystatus phy_tail;
        struct ar9170_rx_macstatus macstatus;
-} __packed;
+} __packed __aligned(4);
 
 struct ar9170_rx_frame_head {
        struct ar9170_rx_head phy_head;
        struct ieee80211_hdr i3e;
        struct ar9170_rx_macstatus macstatus;
-} __packed;
+} __packed __aligned(4);
 
 struct ar9170_rx_frame_middle {
        struct ieee80211_hdr i3e;
        struct ar9170_rx_macstatus macstatus;
-} __packed;
+} __packed __aligned(4);
 
 struct ar9170_rx_frame_tail {
        struct ieee80211_hdr i3e;
        struct ar9170_rx_phystatus phy_tail;
        struct ar9170_rx_macstatus macstatus;
-} __packed;
+} __packed __aligned(4);
 
 struct ar9170_rx_frame {
        union {
@@ -395,8 +395,8 @@ struct ar9170_rx_frame {
                struct ar9170_rx_frame_head head;
                struct ar9170_rx_frame_middle middle;
                struct ar9170_rx_frame_tail tail;
-       } __packed;
-} __packed;
+       } __packed __aligned(4);
+} __packed __aligned(4);
 
 static inline u8 ar9170_get_decrypt_type(struct ar9170_rx_macstatus *t)
 {
@@ -404,16 +404,6 @@ static inline u8 ar9170_get_decrypt_type(struct ar9170_rx_macstatus *t)
               (t->DAidx & 0xc0) >> 6;
 }
 
-enum ar9170_txq {
-       AR9170_TXQ_BE,
-
-       AR9170_TXQ_VI,
-       AR9170_TXQ_VO,
-       AR9170_TXQ_BK,
-
-       __AR9170_NUM_TXQ,
-};
-
 /*
  * This is an workaround for several undocumented bugs.
  * Don't mess with the QoS/AC <-> HW Queue map, if you don't
@@ -431,7 +421,14 @@ enum ar9170_txq {
  * result, this makes the device pretty much useless
  * for any serious 802.11n setup.
  */
-static const u8 ar9170_qmap[__AR9170_NUM_TXQ] = { 2, 1, 0, 3 };
+enum ar9170_txq {
+       AR9170_TXQ_BK = 0,      /* TXQ0 */
+       AR9170_TXQ_BE,          /* TXQ1 */
+       AR9170_TXQ_VI,          /* TXQ2 */
+       AR9170_TXQ_VO,          /* TXQ3 */
+
+       __AR9170_NUM_TXQ,
+};
 
 #define        AR9170_TXQ_DEPTH                        32