📄 iwl-hw.h
字号:
#define SCD_MODE_REG (SCD_BASE + 0x000)#define SCD_ARASTAT_REG (SCD_BASE + 0x004)#define SCD_TXFACT_REG (SCD_BASE + 0x010)#define SCD_TXF4MF_REG (SCD_BASE + 0x014)#define SCD_TXF5MF_REG (SCD_BASE + 0x020)#define SCD_SBYP_MODE_1_REG (SCD_BASE + 0x02C)#define SCD_SBYP_MODE_2_REG (SCD_BASE + 0x030)/*=== FH (data Flow Handler) ===*/#define FH_BASE (0x800)#define FH_CBCC_TABLE (FH_BASE+0x140)#define FH_TFDB_TABLE (FH_BASE+0x180)#define FH_RCSR_TABLE (FH_BASE+0x400)#define FH_RSSR_TABLE (FH_BASE+0x4c0)#define FH_TCSR_TABLE (FH_BASE+0x500)#define FH_TSSR_TABLE (FH_BASE+0x680)/* TFDB (Transmit Frame Buffer Descriptor) */#define FH_TFDB(_channel, buf) \ (FH_TFDB_TABLE+((_channel)*2+(buf))*0x28)#define ALM_FH_TFDB_CHNL_BUF_CTRL_REG(_channel) \ (FH_TFDB_TABLE + 0x50 * _channel)/* CBCC _channel is [0,2] */#define FH_CBCC(_channel) (FH_CBCC_TABLE+(_channel)*0x8)#define FH_CBCC_CTRL(_channel) (FH_CBCC(_channel)+0x00)#define FH_CBCC_BASE(_channel) (FH_CBCC(_channel)+0x04)/* RCSR _channel is [0,2] */#define FH_RCSR(_channel) (FH_RCSR_TABLE+(_channel)*0x40)#define FH_RCSR_CONFIG(_channel) (FH_RCSR(_channel)+0x00)#define FH_RCSR_RBD_BASE(_channel) (FH_RCSR(_channel)+0x04)#define FH_RCSR_WPTR(_channel) (FH_RCSR(_channel)+0x20)#define FH_RCSR_RPTR_ADDR(_channel) (FH_RCSR(_channel)+0x24)#if IWL == 3945#define FH_RSCSR_CHNL0_WPTR (FH_RCSR_WPTR(0))#elif IWL == 4965#define FH_RSCSR_CHNL0_WPTR (FH_RSCSR_CHNL0_RBDCB_WPTR_REG)#endif/* RSSR */#define FH_RSSR_CTRL (FH_RSSR_TABLE+0x000)#define FH_RSSR_STATUS (FH_RSSR_TABLE+0x004)/* TCSR */#define FH_TCSR(_channel) (FH_TCSR_TABLE+(_channel)*0x20)#define FH_TCSR_CONFIG(_channel) (FH_TCSR(_channel)+0x00)#define FH_TCSR_CREDIT(_channel) (FH_TCSR(_channel)+0x04)#define FH_TCSR_BUFF_STTS(_channel) (FH_TCSR(_channel)+0x08)/* TSSR */#define FH_TSSR_CBB_BASE (FH_TSSR_TABLE+0x000)#define FH_TSSR_MSG_CONFIG (FH_TSSR_TABLE+0x008)#define FH_TSSR_TX_STATUS (FH_TSSR_TABLE+0x010)/* 18 - reserved *//* card static random access memory (SRAM) for processor data and instructs */#define RTC_INST_LOWER_BOUND (0x000000)#define RTC_DATA_LOWER_BOUND (0x800000)/* DBM */#define ALM_FH_SRVC_CHNL (6)#define ALM_FH_RCSR_RX_CONFIG_REG_POS_RBDC_SIZE (20)#define ALM_FH_RCSR_RX_CONFIG_REG_POS_IRQ_RBTH (4)#define ALM_FH_RCSR_RX_CONFIG_REG_BIT_WR_STTS_EN (0x08000000)#define ALM_FH_RCSR_RX_CONFIG_REG_VAL_DMA_CHNL_EN_ENABLE (0x80000000)#define ALM_FH_RCSR_RX_CONFIG_REG_VAL_RDRBD_EN_ENABLE (0x20000000)#define ALM_FH_RCSR_RX_CONFIG_REG_VAL_MAX_FRAG_SIZE_128 (0x01000000)#define ALM_FH_RCSR_RX_CONFIG_REG_VAL_IRQ_DEST_INT_HOST (0x00001000)#define ALM_FH_RCSR_RX_CONFIG_REG_VAL_MSG_MODE_FH (0x00000000)#define ALM_FH_TCSR_TX_CONFIG_REG_VAL_MSG_MODE_TXF (0x00000000)#define ALM_FH_TCSR_TX_CONFIG_REG_VAL_MSG_MODE_DRIVER (0x00000001)#define ALM_FH_TCSR_TX_CONFIG_REG_VAL_DMA_CREDIT_DISABLE_VAL (0x00000000)#define ALM_FH_TCSR_TX_CONFIG_REG_VAL_DMA_CREDIT_ENABLE_VAL (0x00000008)#define ALM_FH_TCSR_TX_CONFIG_REG_VAL_CIRQ_HOST_IFTFD (0x00200000)#define ALM_FH_TCSR_TX_CONFIG_REG_VAL_CIRQ_RTC_NOINT (0x00000000)#define ALM_FH_TCSR_TX_CONFIG_REG_VAL_DMA_CHNL_PAUSE (0x00000000)#define ALM_FH_TCSR_TX_CONFIG_REG_VAL_DMA_CHNL_ENABLE (0x80000000)#define ALM_FH_TCSR_CHNL_TX_BUF_STS_REG_VAL_TFDB_VALID (0x00004000)#define ALM_FH_TCSR_CHNL_TX_BUF_STS_REG_BIT_TFDB_WPTR (0x00000001)#define ALM_FH_TSSR_TX_MSG_CONFIG_REG_VAL_SNOOP_RD_TXPD_ON (0xFF000000)#define ALM_FH_TSSR_TX_MSG_CONFIG_REG_VAL_ORDER_RD_TXPD_ON (0x00FF0000)#define ALM_FH_TSSR_TX_MSG_CONFIG_REG_VAL_MAX_FRAG_SIZE_128B (0x00000400)#define ALM_FH_TSSR_TX_MSG_CONFIG_REG_VAL_SNOOP_RD_TFD_ON (0x00000100)#define ALM_FH_TSSR_TX_MSG_CONFIG_REG_VAL_ORDER_RD_CBB_ON (0x00000080)#define ALM_FH_TSSR_TX_MSG_CONFIG_REG_VAL_ORDER_RSP_WAIT_TH (0x00000020)#define ALM_FH_TSSR_TX_MSG_CONFIG_REG_VAL_RSP_WAIT_TH (0x00000005)#define ALM_TB_MAX_BYTES_COUNT (0xFFF0)#define ALM_FH_TSSR_TX_STATUS_REG_BIT_BUFS_EMPTY(_channel) \ ((1LU << _channel) << 24)#define ALM_FH_TSSR_TX_STATUS_REG_BIT_NO_PEND_REQ(_channel) \ ((1LU << _channel) << 16)#define ALM_FH_TSSR_TX_STATUS_REG_MSK_CHNL_IDLE(_channel) \ (ALM_FH_TSSR_TX_STATUS_REG_BIT_BUFS_EMPTY(_channel) | \ ALM_FH_TSSR_TX_STATUS_REG_BIT_NO_PEND_REQ(_channel))#define PCI_CFG_REV_ID_BIT_BASIC_SKU (0x40) /* bit 6 */#define PCI_CFG_REV_ID_BIT_RTP (0x80) /* bit 7 */#define HBUS_TARG_MBX_C_REG_BIT_CMD_BLOCKED (0x00000004)#define TFD_QUEUE_MIN 0#define TFD_QUEUE_MAX 6#define TFD_QUEUE_SIZE_MAX (256)/* spectrum and channel data structures */#define IWL_NUM_SCAN_RATES (2)#define IWL_SCAN_FLAG_24GHZ (1<<0)#define IWL_SCAN_FLAG_52GHZ (1<<1)#define IWL_SCAN_FLAG_ACTIVE (1<<2)#define IWL_SCAN_FLAG_DIRECT (1<<3)#define IWL_MAX_CMD_SIZE 1024#define IWL_DEFAULT_TX_RETRY 15#define IWL_MAX_TX_RETRY 16/*********************************************/#define RFD_SIZE 4#define NUM_TFD_CHUNKS 4#define RX_QUEUE_SIZE 256#define RX_QUEUE_MASK 255#define RX_QUEUE_SIZE_LOG 8/* QoS definitions */#define CW_MIN_OFDM 15#define CW_MAX_OFDM 1023#define CW_MIN_CCK 31#define CW_MAX_CCK 1023#define QOS_TX0_CW_MIN_OFDM CW_MIN_OFDM#define QOS_TX1_CW_MIN_OFDM CW_MIN_OFDM#define QOS_TX2_CW_MIN_OFDM ((CW_MIN_OFDM + 1) / 2 - 1)#define QOS_TX3_CW_MIN_OFDM ((CW_MIN_OFDM + 1) / 4 - 1)#define QOS_TX0_CW_MIN_CCK CW_MIN_CCK#define QOS_TX1_CW_MIN_CCK CW_MIN_CCK#define QOS_TX2_CW_MIN_CCK ((CW_MIN_CCK + 1) / 2 - 1)#define QOS_TX3_CW_MIN_CCK ((CW_MIN_CCK + 1) / 4 - 1)#define QOS_TX0_CW_MAX_OFDM CW_MAX_OFDM#define QOS_TX1_CW_MAX_OFDM CW_MAX_OFDM#define QOS_TX2_CW_MAX_OFDM CW_MIN_OFDM#define QOS_TX3_CW_MAX_OFDM ((CW_MIN_OFDM + 1) / 2 - 1)#define QOS_TX0_CW_MAX_CCK CW_MAX_CCK#define QOS_TX1_CW_MAX_CCK CW_MAX_CCK#define QOS_TX2_CW_MAX_CCK CW_MIN_CCK#define QOS_TX3_CW_MAX_CCK ((CW_MIN_CCK + 1) / 2 - 1)#define QOS_TX0_AIFS 3#define QOS_TX1_AIFS 7#define QOS_TX2_AIFS 2#define QOS_TX3_AIFS 2#define QOS_TX0_ACM 0#define QOS_TX1_ACM 0#define QOS_TX2_ACM 0#define QOS_TX3_ACM 0#define QOS_TX0_TXOP_LIMIT_CCK 0#define QOS_TX1_TXOP_LIMIT_CCK 0#define QOS_TX2_TXOP_LIMIT_CCK 6016#define QOS_TX3_TXOP_LIMIT_CCK 3264#define QOS_TX0_TXOP_LIMIT_OFDM 0#define QOS_TX1_TXOP_LIMIT_OFDM 0#define QOS_TX2_TXOP_LIMIT_OFDM 3008#define QOS_TX3_TXOP_LIMIT_OFDM 1504#define DEF_TX0_CW_MIN_OFDM CW_MIN_OFDM#define DEF_TX1_CW_MIN_OFDM CW_MIN_OFDM#define DEF_TX2_CW_MIN_OFDM CW_MIN_OFDM#define DEF_TX3_CW_MIN_OFDM CW_MIN_OFDM#define DEF_TX0_CW_MIN_CCK CW_MIN_CCK#define DEF_TX1_CW_MIN_CCK CW_MIN_CCK#define DEF_TX2_CW_MIN_CCK CW_MIN_CCK#define DEF_TX3_CW_MIN_CCK CW_MIN_CCK#define DEF_TX0_CW_MAX_OFDM CW_MAX_OFDM#define DEF_TX1_CW_MAX_OFDM CW_MAX_OFDM#define DEF_TX2_CW_MAX_OFDM CW_MAX_OFDM#define DEF_TX3_CW_MAX_OFDM CW_MAX_OFDM#define DEF_TX0_CW_MAX_CCK CW_MAX_CCK#define DEF_TX1_CW_MAX_CCK CW_MAX_CCK#define DEF_TX2_CW_MAX_CCK CW_MAX_CCK#define DEF_TX3_CW_MAX_CCK CW_MAX_CCK#define DEF_TX0_AIFS (2)#define DEF_TX1_AIFS (2)#define DEF_TX2_AIFS (2)#define DEF_TX3_AIFS (2)#define DEF_TX0_ACM 0#define DEF_TX1_ACM 0#define DEF_TX2_ACM 0#define DEF_TX3_ACM 0#define DEF_TX0_TXOP_LIMIT_CCK 0#define DEF_TX1_TXOP_LIMIT_CCK 0#define DEF_TX2_TXOP_LIMIT_CCK 0#define DEF_TX3_TXOP_LIMIT_CCK 0#define DEF_TX0_TXOP_LIMIT_OFDM 0#define DEF_TX1_TXOP_LIMIT_OFDM 0#define DEF_TX2_TXOP_LIMIT_OFDM 0#define DEF_TX3_TXOP_LIMIT_OFDM 0#define QOS_QOS_SETS 3#define QOS_PARAM_SET_ACTIVE 0#define QOS_PARAM_SET_DEF_CCK 1#define QOS_PARAM_SET_DEF_OFDM 2#define CTRL_QOS_NO_ACK (0x0020)#define DCT_FLAG_EXT_QOS_ENABLED (0x10)#define U32_PAD(n) ((4-(n))&0x3)/* * Generic queue structure * * Contains common data for Rx and Tx queues */#define TFD_CTL_COUNT_SET(n) (n<<24)#define TFD_CTL_COUNT_GET(ctl) ((ctl>>24) & 7)#define TFD_CTL_PAD_SET(n) (n<<28)#define TFD_CTL_PAD_GET(ctl) (ctl>>28)#define TFD_TX_CMD_SLOTS 256#define TFD_CMD_SLOTS 32#define TFD_MAX_PAYLOAD_SIZE (sizeof(struct iwl_cmd) - \ sizeof(struct iwl_cmd_meta))/* * RX related structures and functions */#define RX_FREE_BUFFERS 64#define RX_LOW_WATERMARK 8#endif /* __iwlwifi_hw_h__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -