forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
carl9170: import 1.9.4 firmware headers
This patch imports all shared header changes from carl9170fw.git. * update copyright boilerplate * add some more strategic __aligned(4). * WoWLAN Signed-off-by: Christian Lamparter <[email protected]> Signed-off-by: John W. Linville <[email protected]>
- Loading branch information
Showing
6 changed files
with
63 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,7 +4,7 @@ | |
* Firmware command interface definitions | ||
* | ||
* Copyright 2008, Johannes Berg <[email protected]> | ||
* Copyright 2009, 2010, Christian Lamparter <[email protected]> | ||
* Copyright 2009-2011 Christian Lamparter <[email protected]> | ||
* | ||
* 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 | ||
|
@@ -54,6 +54,7 @@ enum carl9170_cmd_oids { | |
CARL9170_CMD_BCN_CTRL = 0x05, | ||
CARL9170_CMD_READ_TSF = 0x06, | ||
CARL9170_CMD_RX_FILTER = 0x07, | ||
CARL9170_CMD_WOL = 0x08, | ||
|
||
/* CAM */ | ||
CARL9170_CMD_EKEY = 0x10, | ||
|
@@ -180,6 +181,21 @@ struct carl9170_bcn_ctrl_cmd { | |
#define CARL9170_BCN_CTRL_DRAIN 0 | ||
#define CARL9170_BCN_CTRL_CAB_TRIGGER 1 | ||
|
||
struct carl9170_wol_cmd { | ||
__le32 flags; | ||
u8 mac[6]; | ||
u8 bssid[6]; | ||
__le32 null_interval; | ||
__le32 free_for_use2; | ||
__le32 mask; | ||
u8 pattern[32]; | ||
} __packed; | ||
|
||
#define CARL9170_WOL_CMD_SIZE 60 | ||
|
||
#define CARL9170_WOL_DISCONNECT 1 | ||
#define CARL9170_WOL_MAGIC_PKT 2 | ||
|
||
struct carl9170_cmd_head { | ||
union { | ||
struct { | ||
|
@@ -203,6 +219,7 @@ struct carl9170_cmd { | |
struct carl9170_write_reg wreg; | ||
struct carl9170_rf_init rf_init; | ||
struct carl9170_psm psm; | ||
struct carl9170_wol_cmd wol; | ||
struct carl9170_bcn_ctrl_cmd bcn_ctrl; | ||
struct carl9170_rx_filter_cmd rx_filter; | ||
u8 data[CARL9170_MAX_CMD_PAYLOAD_LEN]; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,7 +3,7 @@ | |
* | ||
* Firmware descriptor format | ||
* | ||
* Copyright 2009, 2010, Christian Lamparter <[email protected]> | ||
* Copyright 2009-2011 Christian Lamparter <[email protected]> | ||
* | ||
* 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 | ||
|
@@ -72,6 +72,9 @@ enum carl9170fw_feature_list { | |
/* Wake up on WLAN */ | ||
CARL9170FW_WOL, | ||
|
||
/* Firmware supports PSM in the 5GHZ Band */ | ||
CARL9170FW_FIXED_5GHZ_PSM, | ||
|
||
/* KEEP LAST */ | ||
__CARL9170FW_FEATURE_NUM | ||
}; | ||
|
@@ -82,6 +85,7 @@ enum carl9170fw_feature_list { | |
#define DBG_MAGIC "DBG\0" | ||
#define CHK_MAGIC "CHK\0" | ||
#define TXSQ_MAGIC "TXSQ" | ||
#define WOL_MAGIC "WOL\0" | ||
#define LAST_MAGIC "LAST" | ||
|
||
#define CARL9170FW_SET_DAY(d) (((d) - 1) % 31) | ||
|
@@ -104,7 +108,7 @@ struct carl9170fw_desc_head { | |
(sizeof(struct carl9170fw_desc_head)) | ||
|
||
#define CARL9170FW_OTUS_DESC_MIN_VER 6 | ||
#define CARL9170FW_OTUS_DESC_CUR_VER 6 | ||
#define CARL9170FW_OTUS_DESC_CUR_VER 7 | ||
struct carl9170fw_otus_desc { | ||
struct carl9170fw_desc_head head; | ||
__le32 feature_set; | ||
|
@@ -186,6 +190,16 @@ struct carl9170fw_txsq_desc { | |
#define CARL9170FW_TXSQ_DESC_SIZE \ | ||
(sizeof(struct carl9170fw_txsq_desc)) | ||
|
||
#define CARL9170FW_WOL_DESC_MIN_VER 1 | ||
#define CARL9170FW_WOL_DESC_CUR_VER 1 | ||
struct carl9170fw_wol_desc { | ||
struct carl9170fw_desc_head head; | ||
|
||
__le32 supported_triggers; /* CARL9170_WOL_ */ | ||
} __packed; | ||
#define CARL9170FW_WOL_DESC_SIZE \ | ||
(sizeof(struct carl9170fw_wol_desc)) | ||
|
||
#define CARL9170FW_LAST_DESC_MIN_VER 1 | ||
#define CARL9170FW_LAST_DESC_CUR_VER 2 | ||
struct carl9170fw_last_desc { | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,7 +4,7 @@ | |
* Register map, hardware-specific definitions | ||
* | ||
* Copyright 2008, Johannes Berg <[email protected]> | ||
* Copyright 2009, 2010, Christian Lamparter <[email protected]> | ||
* Copyright 2009-2011 Christian Lamparter <[email protected]> | ||
* | ||
* 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 | ||
|
@@ -357,7 +357,18 @@ | |
|
||
#define AR9170_MAC_REG_DMA_WLAN_STATUS (AR9170_MAC_REG_BASE + 0xd38) | ||
#define AR9170_MAC_REG_DMA_STATUS (AR9170_MAC_REG_BASE + 0xd3c) | ||
|
||
#define AR9170_MAC_REG_DMA_TXQ_LAST_ADDR (AR9170_MAC_REG_BASE + 0xd40) | ||
#define AR9170_MAC_REG_DMA_TXQ0_LAST_ADDR (AR9170_MAC_REG_BASE + 0xd40) | ||
#define AR9170_MAC_REG_DMA_TXQ1_LAST_ADDR (AR9170_MAC_REG_BASE + 0xd44) | ||
#define AR9170_MAC_REG_DMA_TXQ2_LAST_ADDR (AR9170_MAC_REG_BASE + 0xd48) | ||
#define AR9170_MAC_REG_DMA_TXQ3_LAST_ADDR (AR9170_MAC_REG_BASE + 0xd4c) | ||
#define AR9170_MAC_REG_DMA_TXQ4_LAST_ADDR (AR9170_MAC_REG_BASE + 0xd50) | ||
#define AR9170_MAC_REG_DMA_TXQ0Q1_LEN (AR9170_MAC_REG_BASE + 0xd54) | ||
#define AR9170_MAC_REG_DMA_TXQ2Q3_LEN (AR9170_MAC_REG_BASE + 0xd58) | ||
#define AR9170_MAC_REG_DMA_TXQ4_LEN (AR9170_MAC_REG_BASE + 0xd5c) | ||
|
||
#define AR9170_MAC_REG_DMA_TXQX_LAST_ADDR (AR9170_MAC_REG_BASE + 0xd74) | ||
#define AR9170_MAC_REG_DMA_TXQX_FAIL_ADDR (AR9170_MAC_REG_BASE + 0xd78) | ||
#define AR9170_MAC_REG_TXRX_MPI (AR9170_MAC_REG_BASE + 0xd7c) | ||
#define AR9170_MAC_TXRX_MPI_TX_MPI_MASK 0x0000000f | ||
#define AR9170_MAC_TXRX_MPI_TX_TO_MASK 0x0000fff0 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
#ifndef __CARL9170_SHARED_VERSION_H | ||
#define __CARL9170_SHARED_VERSION_H | ||
#define CARL9170FW_VERSION_YEAR 11 | ||
#define CARL9170FW_VERSION_MONTH 1 | ||
#define CARL9170FW_VERSION_DAY 22 | ||
#define CARL9170FW_VERSION_GIT "1.9.2" | ||
#define CARL9170FW_VERSION_MONTH 6 | ||
#define CARL9170FW_VERSION_DAY 30 | ||
#define CARL9170FW_VERSION_GIT "1.9.4" | ||
#endif /* __CARL9170_SHARED_VERSION_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,7 +4,7 @@ | |
* RX/TX meta descriptor format | ||
* | ||
* Copyright 2008, Johannes Berg <[email protected]> | ||
* Copyright 2009, 2010, Christian Lamparter <[email protected]> | ||
* Copyright 2009-2011 Christian Lamparter <[email protected]> | ||
* | ||
* 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 | ||
|
@@ -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 | ||
|
||
|