X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=include%2Fshared%2Fwlan.h;h=9c6b7ffb92286f0d0d0c2d345401e66fa1c98e0e;hb=e017a914b2679d669e201cc76f812b641aa7eea3;hp=9e1324b67e08e19cc0bea538b74ed9ab0b5fb924;hpb=19e4d682fca010ef72e0a304335910f670c2268a;p=carl9170fw.git diff --git a/include/shared/wlan.h b/include/shared/wlan.h index 9e1324b..9c6b7ff 100644 --- a/include/shared/wlan.h +++ b/include/shared/wlan.h @@ -4,7 +4,7 @@ * RX/TX meta descriptor format * * Copyright 2008, Johannes Berg - * Copyright 2009, 2010, Christian Lamparter + * Copyright 2009-2011 Christian Lamparter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -278,7 +278,7 @@ struct ar9170_tx_frame { struct carl9170_tx_superframe { struct carl9170_tx_superdesc s; struct ar9170_tx_frame f; -} __packed; +} __packed __aligned(4); #endif /* __CARL9170FW__ */ @@ -328,7 +328,7 @@ struct _carl9170_tx_superframe { struct _carl9170_tx_superdesc s; struct _ar9170_tx_hwdesc f; u8 frame_data[0]; -} __packed; +} __packed __aligned(4); #define CARL9170_TX_SUPERDESC_LEN 24 #define AR9170_TX_HWDESC_LEN 8 @@ -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