carl9170: import hw/fw header updates
This patch imports all shared header changes from carl9170fw.git. * add some strategic __aligned(4). This allows the compiler generate optimized code for architectures which can't access (unaligned/packed) data efficiently. ("ath9k_hw: optimize all descriptor access functions") * add a forgotten __CARL9170FW__ ifdef around a private firmware-internal struct. * GET_VAL macro helper Very useful for extracting data out of the bit-packed PHY registers. * cosmetic changes e.g.: _CCA_MINCCA_ to just _CCA_MIN_. * version bump 1.8.8.3 -> 1.9.0. Signed-off-by: Christian Lamparter <chunkeey@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
bdd7bd1643
commit
3f1240e4f4
@@ -97,13 +97,13 @@ struct carl9170_set_key_cmd {
|
||||
__le16 type;
|
||||
u8 macAddr[6];
|
||||
u32 key[4];
|
||||
} __packed;
|
||||
} __packed __aligned(4);
|
||||
#define CARL9170_SET_KEY_CMD_SIZE 28
|
||||
|
||||
struct carl9170_disable_key_cmd {
|
||||
__le16 user;
|
||||
__le16 padding;
|
||||
} __packed;
|
||||
} __packed __aligned(4);
|
||||
#define CARL9170_DISABLE_KEY_CMD_SIZE 4
|
||||
|
||||
struct carl9170_u32_list {
|
||||
@@ -206,7 +206,7 @@ struct carl9170_cmd {
|
||||
struct carl9170_rx_filter_cmd rx_filter;
|
||||
u8 data[CARL9170_MAX_CMD_PAYLOAD_LEN];
|
||||
} __packed;
|
||||
} __packed;
|
||||
} __packed __aligned(4);
|
||||
|
||||
#define CARL9170_TX_STATUS_QUEUE 3
|
||||
#define CARL9170_TX_STATUS_QUEUE_S 0
|
||||
@@ -216,6 +216,7 @@ struct carl9170_cmd {
|
||||
#define CARL9170_TX_STATUS_TRIES (7 << CARL9170_TX_STATUS_TRIES_S)
|
||||
#define CARL9170_TX_STATUS_SUCCESS 0x80
|
||||
|
||||
#ifdef __CARL9170FW__
|
||||
/*
|
||||
* NOTE:
|
||||
* Both structs [carl9170_tx_status and _carl9170_tx_status]
|
||||
@@ -232,6 +233,8 @@ struct carl9170_tx_status {
|
||||
u8 tries:3;
|
||||
u8 success:1;
|
||||
} __packed;
|
||||
#endif /* __CARL9170FW__ */
|
||||
|
||||
struct _carl9170_tx_status {
|
||||
/*
|
||||
* This version should be immune to all alignment bugs.
|
||||
@@ -272,13 +275,15 @@ struct carl9170_rsp {
|
||||
struct carl9170_rf_init_result rf_init_res;
|
||||
struct carl9170_u32_list rreg_res;
|
||||
struct carl9170_u32_list echo;
|
||||
#ifdef __CARL9170FW__
|
||||
struct carl9170_tx_status tx_status[0];
|
||||
#endif /* __CARL9170FW__ */
|
||||
struct _carl9170_tx_status _tx_status[0];
|
||||
struct carl9170_gpio gpio;
|
||||
struct carl9170_tsf_rsp tsf;
|
||||
struct carl9170_psm psm;
|
||||
u8 data[CARL9170_MAX_CMD_PAYLOAD_LEN];
|
||||
} __packed;
|
||||
} __packed;
|
||||
} __packed __aligned(4);
|
||||
|
||||
#endif /* __CARL9170_SHARED_FWCMD_H */
|
||||
|
Reference in New Issue
Block a user