Commit 3dd0923d authored by Bruno Randolf's avatar Bruno Randolf Committed by John W. Linville

ath5k: Optimize descriptor alignment

Similar to Felix Fietkau <nbd@openwrt.org> "ath9k_hw: optimize all descriptor
access functions" (13db2a80244908833502189a24de82a856668b8a).
Signed-off-by: default avatarBruno Randolf <br1@einfach.org>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 123f5b8e
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
struct ath5k_hw_rx_ctl { struct ath5k_hw_rx_ctl {
u32 rx_control_0; /* RX control word 0 */ u32 rx_control_0; /* RX control word 0 */
u32 rx_control_1; /* RX control word 1 */ u32 rx_control_1; /* RX control word 1 */
} __packed; } __packed __aligned(4);
/* RX control word 1 fields/flags */ /* RX control word 1 fields/flags */
#define AR5K_DESC_RX_CTL1_BUF_LEN 0x00000fff /* data buffer length */ #define AR5K_DESC_RX_CTL1_BUF_LEN 0x00000fff /* data buffer length */
...@@ -39,7 +39,7 @@ struct ath5k_hw_rx_ctl { ...@@ -39,7 +39,7 @@ struct ath5k_hw_rx_ctl {
struct ath5k_hw_rx_status { struct ath5k_hw_rx_status {
u32 rx_status_0; /* RX status word 0 */ u32 rx_status_0; /* RX status word 0 */
u32 rx_status_1; /* RX status word 1 */ u32 rx_status_1; /* RX status word 1 */
} __packed; } __packed __aligned(4);
/* 5210/5211 */ /* 5210/5211 */
/* RX status word 0 fields/flags */ /* RX status word 0 fields/flags */
...@@ -129,7 +129,7 @@ enum ath5k_phy_error_code { ...@@ -129,7 +129,7 @@ enum ath5k_phy_error_code {
struct ath5k_hw_2w_tx_ctl { struct ath5k_hw_2w_tx_ctl {
u32 tx_control_0; /* TX control word 0 */ u32 tx_control_0; /* TX control word 0 */
u32 tx_control_1; /* TX control word 1 */ u32 tx_control_1; /* TX control word 1 */
} __packed; } __packed __aligned(4);
/* TX control word 0 fields/flags */ /* TX control word 0 fields/flags */
#define AR5K_2W_TX_DESC_CTL0_FRAME_LEN 0x00000fff /* frame length */ #define AR5K_2W_TX_DESC_CTL0_FRAME_LEN 0x00000fff /* frame length */
...@@ -185,7 +185,7 @@ struct ath5k_hw_4w_tx_ctl { ...@@ -185,7 +185,7 @@ struct ath5k_hw_4w_tx_ctl {
u32 tx_control_1; /* TX control word 1 */ u32 tx_control_1; /* TX control word 1 */
u32 tx_control_2; /* TX control word 2 */ u32 tx_control_2; /* TX control word 2 */
u32 tx_control_3; /* TX control word 3 */ u32 tx_control_3; /* TX control word 3 */
} __packed; } __packed __aligned(4);
/* TX control word 0 fields/flags */ /* TX control word 0 fields/flags */
#define AR5K_4W_TX_DESC_CTL0_FRAME_LEN 0x00000fff /* frame length */ #define AR5K_4W_TX_DESC_CTL0_FRAME_LEN 0x00000fff /* frame length */
...@@ -244,7 +244,7 @@ struct ath5k_hw_4w_tx_ctl { ...@@ -244,7 +244,7 @@ struct ath5k_hw_4w_tx_ctl {
struct ath5k_hw_tx_status { struct ath5k_hw_tx_status {
u32 tx_status_0; /* TX status word 0 */ u32 tx_status_0; /* TX status word 0 */
u32 tx_status_1; /* TX status word 1 */ u32 tx_status_1; /* TX status word 1 */
} __packed; } __packed __aligned(4);
/* TX status word 0 fields/flags */ /* TX status word 0 fields/flags */
#define AR5K_DESC_TX_STATUS0_FRAME_XMIT_OK 0x00000001 /* TX success */ #define AR5K_DESC_TX_STATUS0_FRAME_XMIT_OK 0x00000001 /* TX success */
...@@ -282,7 +282,7 @@ struct ath5k_hw_tx_status { ...@@ -282,7 +282,7 @@ struct ath5k_hw_tx_status {
struct ath5k_hw_5210_tx_desc { struct ath5k_hw_5210_tx_desc {
struct ath5k_hw_2w_tx_ctl tx_ctl; struct ath5k_hw_2w_tx_ctl tx_ctl;
struct ath5k_hw_tx_status tx_stat; struct ath5k_hw_tx_status tx_stat;
} __packed; } __packed __aligned(4);
/* /*
* 5212 hardware TX descriptor * 5212 hardware TX descriptor
...@@ -290,7 +290,7 @@ struct ath5k_hw_5210_tx_desc { ...@@ -290,7 +290,7 @@ struct ath5k_hw_5210_tx_desc {
struct ath5k_hw_5212_tx_desc { struct ath5k_hw_5212_tx_desc {
struct ath5k_hw_4w_tx_ctl tx_ctl; struct ath5k_hw_4w_tx_ctl tx_ctl;
struct ath5k_hw_tx_status tx_stat; struct ath5k_hw_tx_status tx_stat;
} __packed; } __packed __aligned(4);
/* /*
* Common hardware RX descriptor * Common hardware RX descriptor
...@@ -298,7 +298,7 @@ struct ath5k_hw_5212_tx_desc { ...@@ -298,7 +298,7 @@ struct ath5k_hw_5212_tx_desc {
struct ath5k_hw_all_rx_desc { struct ath5k_hw_all_rx_desc {
struct ath5k_hw_rx_ctl rx_ctl; struct ath5k_hw_rx_ctl rx_ctl;
struct ath5k_hw_rx_status rx_stat; struct ath5k_hw_rx_status rx_stat;
} __packed; } __packed __aligned(4);
/* /*
* Atheros hardware DMA descriptor * Atheros hardware DMA descriptor
...@@ -313,7 +313,7 @@ struct ath5k_desc { ...@@ -313,7 +313,7 @@ struct ath5k_desc {
struct ath5k_hw_5212_tx_desc ds_tx5212; struct ath5k_hw_5212_tx_desc ds_tx5212;
struct ath5k_hw_all_rx_desc ds_rx; struct ath5k_hw_all_rx_desc ds_rx;
} ud; } ud;
} __packed; } __packed __aligned(4);
#define AR5K_RXDESC_INTREQ 0x0020 #define AR5K_RXDESC_INTREQ 0x0020
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment