Commit 2f7a3863 authored by Luca Coelho's avatar Luca Coelho

iwlwifi: rename the temporary name of A000 to the official 22000

The family name A000 was just a place-holder when we didn't know what
the official name would be yet.  Now we know that the family name is
22000, so rename all occurrences accordingly.
Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
parent 9834781c
...@@ -9,7 +9,7 @@ iwlwifi-objs += iwl-phy-db.o iwl-nvm-parse.o ...@@ -9,7 +9,7 @@ iwlwifi-objs += iwl-phy-db.o iwl-nvm-parse.o
iwlwifi-objs += pcie/drv.o pcie/rx.o pcie/tx.o pcie/trans.o iwlwifi-objs += pcie/drv.o pcie/rx.o pcie/tx.o pcie/trans.o
iwlwifi-objs += pcie/ctxt-info.o pcie/trans-gen2.o pcie/tx-gen2.o iwlwifi-objs += pcie/ctxt-info.o pcie/trans-gen2.o pcie/tx-gen2.o
iwlwifi-$(CONFIG_IWLDVM) += cfg/1000.o cfg/2000.o cfg/5000.o cfg/6000.o iwlwifi-$(CONFIG_IWLDVM) += cfg/1000.o cfg/2000.o cfg/5000.o cfg/6000.o
iwlwifi-$(CONFIG_IWLMVM) += cfg/7000.o cfg/8000.o cfg/9000.o cfg/a000.o iwlwifi-$(CONFIG_IWLMVM) += cfg/7000.o cfg/8000.o cfg/9000.o cfg/22000.o
iwlwifi-objs += iwl-trans.o iwlwifi-objs += iwl-trans.o
iwlwifi-objs += fw/notif-wait.o iwlwifi-objs += fw/notif-wait.o
iwlwifi-$(CONFIG_IWLMVM) += fw/paging.o fw/smem.o fw/init.o fw/dbg.o iwlwifi-$(CONFIG_IWLMVM) += fw/paging.o fw/smem.o fw/init.o fw/dbg.o
......
...@@ -55,45 +55,45 @@ ...@@ -55,45 +55,45 @@
#include "iwl-agn-hw.h" #include "iwl-agn-hw.h"
/* Highest firmware API version supported */ /* Highest firmware API version supported */
#define IWL_A000_UCODE_API_MAX 34 #define IWL_22000_UCODE_API_MAX 34
/* Lowest firmware API version supported */ /* Lowest firmware API version supported */
#define IWL_A000_UCODE_API_MIN 24 #define IWL_22000_UCODE_API_MIN 24
/* NVM versions */ /* NVM versions */
#define IWL_A000_NVM_VERSION 0x0a1d #define IWL_22000_NVM_VERSION 0x0a1d
#define IWL_A000_TX_POWER_VERSION 0xffff /* meaningless */ #define IWL_22000_TX_POWER_VERSION 0xffff /* meaningless */
/* Memory offsets and lengths */ /* Memory offsets and lengths */
#define IWL_A000_DCCM_OFFSET 0x800000 /* LMAC1 */ #define IWL_22000_DCCM_OFFSET 0x800000 /* LMAC1 */
#define IWL_A000_DCCM_LEN 0x10000 /* LMAC1 */ #define IWL_22000_DCCM_LEN 0x10000 /* LMAC1 */
#define IWL_A000_DCCM2_OFFSET 0x880000 #define IWL_22000_DCCM2_OFFSET 0x880000
#define IWL_A000_DCCM2_LEN 0x8000 #define IWL_22000_DCCM2_LEN 0x8000
#define IWL_A000_SMEM_OFFSET 0x400000 #define IWL_22000_SMEM_OFFSET 0x400000
#define IWL_A000_SMEM_LEN 0xD0000 #define IWL_22000_SMEM_LEN 0xD0000
#define IWL_A000_JF_FW_PRE "iwlwifi-Qu-a0-jf-b0-" #define IWL_22000_JF_FW_PRE "iwlwifi-Qu-a0-jf-b0-"
#define IWL_A000_HR_FW_PRE "iwlwifi-Qu-a0-hr-a0-" #define IWL_22000_HR_FW_PRE "iwlwifi-Qu-a0-hr-a0-"
#define IWL_A000_HR_CDB_FW_PRE "iwlwifi-QuIcp-z0-hrcdb-a0-" #define IWL_22000_HR_CDB_FW_PRE "iwlwifi-QuIcp-z0-hrcdb-a0-"
#define IWL_A000_HR_F0_FW_PRE "iwlwifi-QuQnj-f0-hr-a0-" #define IWL_22000_HR_F0_FW_PRE "iwlwifi-QuQnj-f0-hr-a0-"
#define IWL_A000_JF_B0_FW_PRE "iwlwifi-QuQnj-a0-jf-b0-" #define IWL_22000_JF_B0_FW_PRE "iwlwifi-QuQnj-a0-jf-b0-"
#define IWL_A000_HR_A0_FW_PRE "iwlwifi-QuQnj-a0-hr-a0-" #define IWL_22000_HR_A0_FW_PRE "iwlwifi-QuQnj-a0-hr-a0-"
#define IWL_A000_HR_MODULE_FIRMWARE(api) \ #define IWL_22000_HR_MODULE_FIRMWARE(api) \
IWL_A000_HR_FW_PRE "-" __stringify(api) ".ucode" IWL_22000_HR_FW_PRE "-" __stringify(api) ".ucode"
#define IWL_A000_JF_MODULE_FIRMWARE(api) \ #define IWL_22000_JF_MODULE_FIRMWARE(api) \
IWL_A000_JF_FW_PRE "-" __stringify(api) ".ucode" IWL_22000_JF_FW_PRE "-" __stringify(api) ".ucode"
#define IWL_A000_HR_F0_QNJ_MODULE_FIRMWARE(api) \ #define IWL_22000_HR_F0_QNJ_MODULE_FIRMWARE(api) \
IWL_A000_HR_F0_FW_PRE "-" __stringify(api) ".ucode" IWL_22000_HR_F0_FW_PRE "-" __stringify(api) ".ucode"
#define IWL_A000_JF_B0_QNJ_MODULE_FIRMWARE(api) \ #define IWL_22000_JF_B0_QNJ_MODULE_FIRMWARE(api) \
IWL_A000_JF_B0_FW_PRE "-" __stringify(api) ".ucode" IWL_22000_JF_B0_FW_PRE "-" __stringify(api) ".ucode"
#define IWL_A000_HR_A0_QNJ_MODULE_FIRMWARE(api) \ #define IWL_22000_HR_A0_QNJ_MODULE_FIRMWARE(api) \
IWL_A000_HR_A0_FW_PRE "-" __stringify(api) ".ucode" IWL_22000_HR_A0_FW_PRE "-" __stringify(api) ".ucode"
#define NVM_HW_SECTION_NUM_FAMILY_A000 10 #define NVM_HW_SECTION_NUM_FAMILY_22000 10
static const struct iwl_base_params iwl_a000_base_params = { static const struct iwl_base_params iwl_22000_base_params = {
.eeprom_size = OTP_LOW_IMAGE_SIZE_FAMILY_A000, .eeprom_size = OTP_LOW_IMAGE_SIZE_FAMILY_22000,
.num_of_queues = 512, .num_of_queues = 512,
.shadow_ram_support = true, .shadow_ram_support = true,
.led_compensation = 57, .led_compensation = 57,
...@@ -103,28 +103,28 @@ static const struct iwl_base_params iwl_a000_base_params = { ...@@ -103,28 +103,28 @@ static const struct iwl_base_params iwl_a000_base_params = {
.pcie_l1_allowed = true, .pcie_l1_allowed = true,
}; };
static const struct iwl_ht_params iwl_a000_ht_params = { static const struct iwl_ht_params iwl_22000_ht_params = {
.stbc = true, .stbc = true,
.ldpc = true, .ldpc = true,
.ht40_bands = BIT(NL80211_BAND_2GHZ) | BIT(NL80211_BAND_5GHZ), .ht40_bands = BIT(NL80211_BAND_2GHZ) | BIT(NL80211_BAND_5GHZ),
}; };
#define IWL_DEVICE_A000 \ #define IWL_DEVICE_22000 \
.ucode_api_max = IWL_A000_UCODE_API_MAX, \ .ucode_api_max = IWL_22000_UCODE_API_MAX, \
.ucode_api_min = IWL_A000_UCODE_API_MIN, \ .ucode_api_min = IWL_22000_UCODE_API_MIN, \
.device_family = IWL_DEVICE_FAMILY_A000, \ .device_family = IWL_DEVICE_FAMILY_22000, \
.max_inst_size = IWL60_RTC_INST_SIZE, \ .max_inst_size = IWL60_RTC_INST_SIZE, \
.max_data_size = IWL60_RTC_DATA_SIZE, \ .max_data_size = IWL60_RTC_DATA_SIZE, \
.base_params = &iwl_a000_base_params, \ .base_params = &iwl_22000_base_params, \
.led_mode = IWL_LED_RF_STATE, \ .led_mode = IWL_LED_RF_STATE, \
.nvm_hw_section_num = NVM_HW_SECTION_NUM_FAMILY_A000, \ .nvm_hw_section_num = NVM_HW_SECTION_NUM_FAMILY_22000, \
.non_shared_ant = ANT_A, \ .non_shared_ant = ANT_A, \
.dccm_offset = IWL_A000_DCCM_OFFSET, \ .dccm_offset = IWL_22000_DCCM_OFFSET, \
.dccm_len = IWL_A000_DCCM_LEN, \ .dccm_len = IWL_22000_DCCM_LEN, \
.dccm2_offset = IWL_A000_DCCM2_OFFSET, \ .dccm2_offset = IWL_22000_DCCM2_OFFSET, \
.dccm2_len = IWL_A000_DCCM2_LEN, \ .dccm2_len = IWL_22000_DCCM2_LEN, \
.smem_offset = IWL_A000_SMEM_OFFSET, \ .smem_offset = IWL_22000_SMEM_OFFSET, \
.smem_len = IWL_A000_SMEM_LEN, \ .smem_len = IWL_22000_SMEM_LEN, \
.features = IWL_TX_CSUM_NETIF_FLAGS | NETIF_F_RXCSUM, \ .features = IWL_TX_CSUM_NETIF_FLAGS | NETIF_F_RXCSUM, \
.apmg_not_supported = true, \ .apmg_not_supported = true, \
.mq_rx_supported = true, \ .mq_rx_supported = true, \
...@@ -138,79 +138,79 @@ static const struct iwl_ht_params iwl_a000_ht_params = { ...@@ -138,79 +138,79 @@ static const struct iwl_ht_params iwl_a000_ht_params = {
.tx_cmd_queue_size = 32, \ .tx_cmd_queue_size = 32, \
.min_umac_error_event_table = 0x400000 .min_umac_error_event_table = 0x400000
const struct iwl_cfg iwla000_2ac_cfg_hr = { const struct iwl_cfg iwl22000_2ac_cfg_hr = {
.name = "Intel(R) Dual Band Wireless AC a000", .name = "Intel(R) Dual Band Wireless AC 22000",
.fw_name_pre = IWL_A000_HR_FW_PRE, .fw_name_pre = IWL_22000_HR_FW_PRE,
IWL_DEVICE_A000, IWL_DEVICE_22000,
.ht_params = &iwl_a000_ht_params, .ht_params = &iwl_22000_ht_params,
.nvm_ver = IWL_A000_NVM_VERSION, .nvm_ver = IWL_22000_NVM_VERSION,
.nvm_calib_ver = IWL_A000_TX_POWER_VERSION, .nvm_calib_ver = IWL_22000_TX_POWER_VERSION,
.max_ht_ampdu_exponent = IEEE80211_HT_MAX_AMPDU_64K, .max_ht_ampdu_exponent = IEEE80211_HT_MAX_AMPDU_64K,
}; };
const struct iwl_cfg iwla000_2ac_cfg_hr_cdb = { const struct iwl_cfg iwl22000_2ac_cfg_hr_cdb = {
.name = "Intel(R) Dual Band Wireless AC a000", .name = "Intel(R) Dual Band Wireless AC 22000",
.fw_name_pre = IWL_A000_HR_CDB_FW_PRE, .fw_name_pre = IWL_22000_HR_CDB_FW_PRE,
IWL_DEVICE_A000, IWL_DEVICE_22000,
.ht_params = &iwl_a000_ht_params, .ht_params = &iwl_22000_ht_params,
.nvm_ver = IWL_A000_NVM_VERSION, .nvm_ver = IWL_22000_NVM_VERSION,
.nvm_calib_ver = IWL_A000_TX_POWER_VERSION, .nvm_calib_ver = IWL_22000_TX_POWER_VERSION,
.max_ht_ampdu_exponent = IEEE80211_HT_MAX_AMPDU_64K, .max_ht_ampdu_exponent = IEEE80211_HT_MAX_AMPDU_64K,
.cdb = true, .cdb = true,
}; };
const struct iwl_cfg iwla000_2ac_cfg_jf = { const struct iwl_cfg iwl22000_2ac_cfg_jf = {
.name = "Intel(R) Dual Band Wireless AC a000", .name = "Intel(R) Dual Band Wireless AC 22000",
.fw_name_pre = IWL_A000_JF_FW_PRE, .fw_name_pre = IWL_22000_JF_FW_PRE,
IWL_DEVICE_A000, IWL_DEVICE_22000,
.ht_params = &iwl_a000_ht_params, .ht_params = &iwl_22000_ht_params,
.nvm_ver = IWL_A000_NVM_VERSION, .nvm_ver = IWL_22000_NVM_VERSION,
.nvm_calib_ver = IWL_A000_TX_POWER_VERSION, .nvm_calib_ver = IWL_22000_TX_POWER_VERSION,
.max_ht_ampdu_exponent = IEEE80211_HT_MAX_AMPDU_64K, .max_ht_ampdu_exponent = IEEE80211_HT_MAX_AMPDU_64K,
}; };
const struct iwl_cfg iwla000_2ax_cfg_hr = { const struct iwl_cfg iwl22000_2ax_cfg_hr = {
.name = "Intel(R) Dual Band Wireless AX a000", .name = "Intel(R) Dual Band Wireless AX 22000",
.fw_name_pre = IWL_A000_HR_FW_PRE, .fw_name_pre = IWL_22000_HR_FW_PRE,
IWL_DEVICE_A000, IWL_DEVICE_22000,
.ht_params = &iwl_a000_ht_params, .ht_params = &iwl_22000_ht_params,
.nvm_ver = IWL_A000_NVM_VERSION, .nvm_ver = IWL_22000_NVM_VERSION,
.nvm_calib_ver = IWL_A000_TX_POWER_VERSION, .nvm_calib_ver = IWL_22000_TX_POWER_VERSION,
.max_ht_ampdu_exponent = IEEE80211_HT_MAX_AMPDU_64K, .max_ht_ampdu_exponent = IEEE80211_HT_MAX_AMPDU_64K,
}; };
const struct iwl_cfg iwla000_2ax_cfg_qnj_hr_f0 = { const struct iwl_cfg iwl22000_2ax_cfg_qnj_hr_f0 = {
.name = "Intel(R) Dual Band Wireless AX a000", .name = "Intel(R) Dual Band Wireless AX 22000",
.fw_name_pre = IWL_A000_HR_F0_FW_PRE, .fw_name_pre = IWL_22000_HR_F0_FW_PRE,
IWL_DEVICE_A000, IWL_DEVICE_22000,
.ht_params = &iwl_a000_ht_params, .ht_params = &iwl_22000_ht_params,
.nvm_ver = IWL_A000_NVM_VERSION, .nvm_ver = IWL_22000_NVM_VERSION,
.nvm_calib_ver = IWL_A000_TX_POWER_VERSION, .nvm_calib_ver = IWL_22000_TX_POWER_VERSION,
.max_ht_ampdu_exponent = IEEE80211_HT_MAX_AMPDU_64K, .max_ht_ampdu_exponent = IEEE80211_HT_MAX_AMPDU_64K,
}; };
const struct iwl_cfg iwla000_2ax_cfg_qnj_jf_b0 = { const struct iwl_cfg iwl22000_2ax_cfg_qnj_jf_b0 = {
.name = "Intel(R) Dual Band Wireless AX a000", .name = "Intel(R) Dual Band Wireless AX 22000",
.fw_name_pre = IWL_A000_JF_B0_FW_PRE, .fw_name_pre = IWL_22000_JF_B0_FW_PRE,
IWL_DEVICE_A000, IWL_DEVICE_22000,
.ht_params = &iwl_a000_ht_params, .ht_params = &iwl_22000_ht_params,
.nvm_ver = IWL_A000_NVM_VERSION, .nvm_ver = IWL_22000_NVM_VERSION,
.nvm_calib_ver = IWL_A000_TX_POWER_VERSION, .nvm_calib_ver = IWL_22000_TX_POWER_VERSION,
.max_ht_ampdu_exponent = IEEE80211_HT_MAX_AMPDU_64K, .max_ht_ampdu_exponent = IEEE80211_HT_MAX_AMPDU_64K,
}; };
const struct iwl_cfg iwla000_2ax_cfg_qnj_hr_a0 = { const struct iwl_cfg iwl22000_2ax_cfg_qnj_hr_a0 = {
.name = "Intel(R) Dual Band Wireless AX a000", .name = "Intel(R) Dual Band Wireless AX 22000",
.fw_name_pre = IWL_A000_HR_A0_FW_PRE, .fw_name_pre = IWL_22000_HR_A0_FW_PRE,
IWL_DEVICE_A000, IWL_DEVICE_22000,
.ht_params = &iwl_a000_ht_params, .ht_params = &iwl_22000_ht_params,
.nvm_ver = IWL_A000_NVM_VERSION, .nvm_ver = IWL_22000_NVM_VERSION,
.nvm_calib_ver = IWL_A000_TX_POWER_VERSION, .nvm_calib_ver = IWL_22000_TX_POWER_VERSION,
.max_ht_ampdu_exponent = IEEE80211_HT_MAX_AMPDU_64K, .max_ht_ampdu_exponent = IEEE80211_HT_MAX_AMPDU_64K,
}; };
MODULE_FIRMWARE(IWL_A000_HR_MODULE_FIRMWARE(IWL_A000_UCODE_API_MAX)); MODULE_FIRMWARE(IWL_22000_HR_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX));
MODULE_FIRMWARE(IWL_A000_JF_MODULE_FIRMWARE(IWL_A000_UCODE_API_MAX)); MODULE_FIRMWARE(IWL_22000_JF_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX));
MODULE_FIRMWARE(IWL_A000_HR_F0_QNJ_MODULE_FIRMWARE(IWL_A000_UCODE_API_MAX)); MODULE_FIRMWARE(IWL_22000_HR_F0_QNJ_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX));
MODULE_FIRMWARE(IWL_A000_JF_B0_QNJ_MODULE_FIRMWARE(IWL_A000_UCODE_API_MAX)); MODULE_FIRMWARE(IWL_22000_JF_B0_QNJ_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX));
MODULE_FIRMWARE(IWL_A000_HR_A0_QNJ_MODULE_FIRMWARE(IWL_A000_UCODE_API_MAX)); MODULE_FIRMWARE(IWL_22000_HR_A0_QNJ_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX));
...@@ -215,7 +215,7 @@ enum iwl_legacy_cmds { ...@@ -215,7 +215,7 @@ enum iwl_legacy_cmds {
/** /**
* @SCD_QUEUE_CFG: &struct iwl_scd_txq_cfg_cmd for older hardware, * @SCD_QUEUE_CFG: &struct iwl_scd_txq_cfg_cmd for older hardware,
* &struct iwl_tx_queue_cfg_cmd with &struct iwl_tx_queue_cfg_rsp * &struct iwl_tx_queue_cfg_cmd with &struct iwl_tx_queue_cfg_rsp
* for newer (A000) hardware. * for newer (22000) hardware.
*/ */
SCD_QUEUE_CFG = 0x1d, SCD_QUEUE_CFG = 0x1d,
......
...@@ -121,7 +121,7 @@ enum iwl_tx_flags { ...@@ -121,7 +121,7 @@ enum iwl_tx_flags {
}; /* TX_FLAGS_BITS_API_S_VER_1 */ }; /* TX_FLAGS_BITS_API_S_VER_1 */
/** /**
* enum iwl_tx_cmd_flags - bitmasks for tx_flags in TX command for a000 * enum iwl_tx_cmd_flags - bitmasks for tx_flags in TX command for 22000
* @IWL_TX_FLAGS_CMD_RATE: use rate from the TX command * @IWL_TX_FLAGS_CMD_RATE: use rate from the TX command
* @IWL_TX_FLAGS_ENCRYPT_DIS: frame should not be encrypted, even if it belongs * @IWL_TX_FLAGS_ENCRYPT_DIS: frame should not be encrypted, even if it belongs
* to a secured STA * to a secured STA
...@@ -301,7 +301,7 @@ struct iwl_dram_sec_info { ...@@ -301,7 +301,7 @@ struct iwl_dram_sec_info {
} __packed; /* DRAM_SEC_INFO_API_S_VER_1 */ } __packed; /* DRAM_SEC_INFO_API_S_VER_1 */
/** /**
* struct iwl_tx_cmd_gen2 - TX command struct to FW for a000 devices * struct iwl_tx_cmd_gen2 - TX command struct to FW for 22000 devices
* ( TX_CMD = 0x1c ) * ( TX_CMD = 0x1c )
* @len: in bytes of the payload, see below for details * @len: in bytes of the payload, see below for details
* @offload_assist: TX offload configuration * @offload_assist: TX offload configuration
......
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
#include "runtime.h" #include "runtime.h"
#include "fw/api/commands.h" #include "fw/api/commands.h"
static void iwl_parse_shared_mem_a000(struct iwl_fw_runtime *fwrt, static void iwl_parse_shared_mem_22000(struct iwl_fw_runtime *fwrt,
struct iwl_rx_packet *pkt) struct iwl_rx_packet *pkt)
{ {
struct iwl_shared_mem_cfg *mem_cfg = (void *)pkt->data; struct iwl_shared_mem_cfg *mem_cfg = (void *)pkt->data;
...@@ -143,8 +143,8 @@ void iwl_get_shared_mem_conf(struct iwl_fw_runtime *fwrt) ...@@ -143,8 +143,8 @@ void iwl_get_shared_mem_conf(struct iwl_fw_runtime *fwrt)
return; return;
pkt = cmd.resp_pkt; pkt = cmd.resp_pkt;
if (fwrt->trans->cfg->device_family == IWL_DEVICE_FAMILY_A000) if (fwrt->trans->cfg->device_family == IWL_DEVICE_FAMILY_22000)
iwl_parse_shared_mem_a000(fwrt, pkt); iwl_parse_shared_mem_22000(fwrt, pkt);
else else
iwl_parse_shared_mem(fwrt, pkt); iwl_parse_shared_mem(fwrt, pkt);
......
...@@ -89,7 +89,7 @@ enum iwl_device_family { ...@@ -89,7 +89,7 @@ enum iwl_device_family {
IWL_DEVICE_FAMILY_7000, IWL_DEVICE_FAMILY_7000,
IWL_DEVICE_FAMILY_8000, IWL_DEVICE_FAMILY_8000,
IWL_DEVICE_FAMILY_9000, IWL_DEVICE_FAMILY_9000,
IWL_DEVICE_FAMILY_A000, IWL_DEVICE_FAMILY_22000,
}; };
/* /*
...@@ -266,7 +266,7 @@ struct iwl_tt_params { ...@@ -266,7 +266,7 @@ struct iwl_tt_params {
#define OTP_LOW_IMAGE_SIZE_FAMILY_7000 (16 * 512 * sizeof(u16)) /* 16 KB */ #define OTP_LOW_IMAGE_SIZE_FAMILY_7000 (16 * 512 * sizeof(u16)) /* 16 KB */
#define OTP_LOW_IMAGE_SIZE_FAMILY_8000 (32 * 512 * sizeof(u16)) /* 32 KB */ #define OTP_LOW_IMAGE_SIZE_FAMILY_8000 (32 * 512 * sizeof(u16)) /* 32 KB */
#define OTP_LOW_IMAGE_SIZE_FAMILY_9000 OTP_LOW_IMAGE_SIZE_FAMILY_8000 #define OTP_LOW_IMAGE_SIZE_FAMILY_9000 OTP_LOW_IMAGE_SIZE_FAMILY_8000
#define OTP_LOW_IMAGE_SIZE_FAMILY_A000 OTP_LOW_IMAGE_SIZE_FAMILY_9000 #define OTP_LOW_IMAGE_SIZE_FAMILY_22000 OTP_LOW_IMAGE_SIZE_FAMILY_9000
struct iwl_eeprom_params { struct iwl_eeprom_params {
const u8 regulatory_bands[7]; const u8 regulatory_bands[7];
...@@ -330,7 +330,7 @@ struct iwl_pwr_tx_backoff { ...@@ -330,7 +330,7 @@ struct iwl_pwr_tx_backoff {
* @vht_mu_mimo_supported: VHT MU-MIMO support * @vht_mu_mimo_supported: VHT MU-MIMO support
* @rf_id: need to read rf_id to determine the firmware image * @rf_id: need to read rf_id to determine the firmware image
* @integrated: discrete or integrated * @integrated: discrete or integrated
* @gen2: a000 and on transport operation * @gen2: 22000 and on transport operation
* @cdb: CDB support * @cdb: CDB support
* @nvm_type: see &enum iwl_nvm_type * @nvm_type: see &enum iwl_nvm_type
* @tx_cmd_queue_size: size of the cmd queue. If zero, use the same value as * @tx_cmd_queue_size: size of the cmd queue. If zero, use the same value as
...@@ -472,13 +472,13 @@ extern const struct iwl_cfg iwl9260_2ac_cfg; ...@@ -472,13 +472,13 @@ extern const struct iwl_cfg iwl9260_2ac_cfg;
extern const struct iwl_cfg iwl9270_2ac_cfg; extern const struct iwl_cfg iwl9270_2ac_cfg;
extern const struct iwl_cfg iwl9460_2ac_cfg; extern const struct iwl_cfg iwl9460_2ac_cfg;
extern const struct iwl_cfg iwl9560_2ac_cfg; extern const struct iwl_cfg iwl9560_2ac_cfg;
extern const struct iwl_cfg iwla000_2ac_cfg_hr; extern const struct iwl_cfg iwl22000_2ac_cfg_hr;
extern const struct iwl_cfg iwla000_2ac_cfg_hr_cdb; extern const struct iwl_cfg iwl22000_2ac_cfg_hr_cdb;
extern const struct iwl_cfg iwla000_2ac_cfg_jf; extern const struct iwl_cfg iwl22000_2ac_cfg_jf;
extern const struct iwl_cfg iwla000_2ax_cfg_hr; extern const struct iwl_cfg iwl22000_2ax_cfg_hr;
extern const struct iwl_cfg iwla000_2ax_cfg_qnj_hr_f0; extern const struct iwl_cfg iwl22000_2ax_cfg_qnj_hr_f0;
extern const struct iwl_cfg iwla000_2ax_cfg_qnj_jf_b0; extern const struct iwl_cfg iwl22000_2ax_cfg_qnj_jf_b0;
extern const struct iwl_cfg iwla000_2ax_cfg_qnj_hr_a0; extern const struct iwl_cfg iwl22000_2ax_cfg_qnj_hr_a0;
#endif /* CONFIG_IWLMVM */ #endif /* CONFIG_IWLMVM */
#endif /* __IWL_CONFIG_H__ */ #endif /* __IWL_CONFIG_H__ */
...@@ -121,7 +121,7 @@ ...@@ -121,7 +121,7 @@
#define FH_MEM_CBBC_16_19_UPPER_BOUND (FH_MEM_LOWER_BOUND + 0xC00) #define FH_MEM_CBBC_16_19_UPPER_BOUND (FH_MEM_LOWER_BOUND + 0xC00)
#define FH_MEM_CBBC_20_31_LOWER_BOUND (FH_MEM_LOWER_BOUND + 0xB20) #define FH_MEM_CBBC_20_31_LOWER_BOUND (FH_MEM_LOWER_BOUND + 0xB20)
#define FH_MEM_CBBC_20_31_UPPER_BOUND (FH_MEM_LOWER_BOUND + 0xB80) #define FH_MEM_CBBC_20_31_UPPER_BOUND (FH_MEM_LOWER_BOUND + 0xB80)
/* a000 TFD table address, 64 bit */ /* 22000 TFD table address, 64 bit */
#define TFH_TFDQ_CBB_TABLE (0x1C00) #define TFH_TFDQ_CBB_TABLE (0x1C00)
/* Find TFD CB base pointer for given queue */ /* Find TFD CB base pointer for given queue */
...@@ -140,7 +140,7 @@ static inline unsigned int FH_MEM_CBBC_QUEUE(struct iwl_trans *trans, ...@@ -140,7 +140,7 @@ static inline unsigned int FH_MEM_CBBC_QUEUE(struct iwl_trans *trans,
return FH_MEM_CBBC_20_31_LOWER_BOUND + 4 * (chnl - 20); return FH_MEM_CBBC_20_31_LOWER_BOUND + 4 * (chnl - 20);
} }
/* a000 configuration registers */ /* 22000 configuration registers */
/* /*
* TFH Configuration register. * TFH Configuration register.
...@@ -697,8 +697,8 @@ struct iwl_tfh_tb { ...@@ -697,8 +697,8 @@ struct iwl_tfh_tb {
* Each Tx queue uses a circular buffer of 256 TFDs stored in host DRAM. * Each Tx queue uses a circular buffer of 256 TFDs stored in host DRAM.
* Both driver and device share these circular buffers, each of which must be * Both driver and device share these circular buffers, each of which must be
* contiguous 256 TFDs. * contiguous 256 TFDs.
* For pre a000 HW it is 256 x 128 bytes-per-TFD = 32 KBytes * For pre 22000 HW it is 256 x 128 bytes-per-TFD = 32 KBytes
* For a000 HW and on it is 256 x 256 bytes-per-TFD = 65 KBytes * For 22000 HW and on it is 256 x 256 bytes-per-TFD = 65 KBytes
* *
* Driver must indicate the physical address of the base of each * Driver must indicate the physical address of the base of each
* circular buffer via the FH_MEM_CBBC_QUEUE registers. * circular buffer via the FH_MEM_CBBC_QUEUE registers.
...@@ -750,10 +750,10 @@ struct iwl_tfh_tfd { ...@@ -750,10 +750,10 @@ struct iwl_tfh_tfd {
/** /**
* struct iwlagn_schedq_bc_tbl scheduler byte count table * struct iwlagn_schedq_bc_tbl scheduler byte count table
* base physical address provided by SCD_DRAM_BASE_ADDR * base physical address provided by SCD_DRAM_BASE_ADDR
* For devices up to a000: * For devices up to 22000:
* @tfd_offset 0-12 - tx command byte count * @tfd_offset 0-12 - tx command byte count
* 12-16 - station index * 12-16 - station index
* For a000 and on: * For 22000 and on:
* @tfd_offset 0-12 - tx command byte count * @tfd_offset 0-12 - tx command byte count
* 12-13 - number of 64 byte chunks * 12-13 - number of 64 byte chunks
* 14-16 - reserved * 14-16 - reserved
......
...@@ -549,7 +549,7 @@ struct iwl_trans_ops { ...@@ -549,7 +549,7 @@ struct iwl_trans_ops {
unsigned int queue_wdg_timeout); unsigned int queue_wdg_timeout);
void (*txq_disable)(struct iwl_trans *trans, int queue, void (*txq_disable)(struct iwl_trans *trans, int queue,
bool configure_scd); bool configure_scd);
/* a000 functions */ /* 22000 functions */
int (*txq_alloc)(struct iwl_trans *trans, int (*txq_alloc)(struct iwl_trans *trans,
struct iwl_tx_queue_cfg_cmd *cmd, struct iwl_tx_queue_cfg_cmd *cmd,
int cmd_id, int cmd_id,
......
...@@ -297,7 +297,7 @@ static int iwl_mvm_load_ucode_wait_alive(struct iwl_mvm *mvm, ...@@ -297,7 +297,7 @@ static int iwl_mvm_load_ucode_wait_alive(struct iwl_mvm *mvm,
if (ret) { if (ret) {
struct iwl_trans *trans = mvm->trans; struct iwl_trans *trans = mvm->trans;
if (trans->cfg->device_family == IWL_DEVICE_FAMILY_A000) if (trans->cfg->device_family == IWL_DEVICE_FAMILY_22000)
IWL_ERR(mvm, IWL_ERR(mvm,
"SecBoot CPU1 Status: 0x%x, CPU2 Status: 0x%x\n", "SecBoot CPU1 Status: 0x%x, CPU2 Status: 0x%x\n",
iwl_read_prph(trans, UMAG_SB_CPU_1_STATUS), iwl_read_prph(trans, UMAG_SB_CPU_1_STATUS),
...@@ -998,9 +998,9 @@ int iwl_mvm_up(struct iwl_mvm *mvm) ...@@ -998,9 +998,9 @@ int iwl_mvm_up(struct iwl_mvm *mvm)
goto error; goto error;
/* Init RSS configuration */ /* Init RSS configuration */
/* TODO - remove a000 disablement when we have RXQ config API */ /* TODO - remove 22000 disablement when we have RXQ config API */
if (iwl_mvm_has_new_rx_api(mvm) && if (iwl_mvm_has_new_rx_api(mvm) &&
mvm->trans->cfg->device_family != IWL_DEVICE_FAMILY_A000) { mvm->trans->cfg->device_family != IWL_DEVICE_FAMILY_22000) {
ret = iwl_send_rss_cfg_cmd(mvm); ret = iwl_send_rss_cfg_cmd(mvm);
if (ret) { if (ret) {
IWL_ERR(mvm, "Failed to configure RSS queues: %d\n", IWL_ERR(mvm, "Failed to configure RSS queues: %d\n",
......
...@@ -4281,7 +4281,7 @@ void iwl_mvm_sync_rx_queues_internal(struct iwl_mvm *mvm, ...@@ -4281,7 +4281,7 @@ void iwl_mvm_sync_rx_queues_internal(struct iwl_mvm *mvm,
mvm->trans->num_rx_queues); mvm->trans->num_rx_queues);
/* TODO - remove this when we have RXQ config API */ /* TODO - remove this when we have RXQ config API */
if (mvm->trans->cfg->device_family == IWL_DEVICE_FAMILY_A000) { if (mvm->trans->cfg->device_family == IWL_DEVICE_FAMILY_22000) {
qmask = BIT(0); qmask = BIT(0);
if (notif->sync) if (notif->sync)
atomic_set(&mvm->queue_sync_counter, 1); atomic_set(&mvm->queue_sync_counter, 1);
......
...@@ -1239,7 +1239,7 @@ static inline bool iwl_mvm_has_new_tx_api(struct iwl_mvm *mvm) ...@@ -1239,7 +1239,7 @@ static inline bool iwl_mvm_has_new_tx_api(struct iwl_mvm *mvm)
static inline bool iwl_mvm_has_unified_ucode(struct iwl_mvm *mvm) static inline bool iwl_mvm_has_unified_ucode(struct iwl_mvm *mvm)
{ {
/* TODO - better define this */ /* TODO - better define this */
return mvm->trans->cfg->device_family >= IWL_DEVICE_FAMILY_A000; return mvm->trans->cfg->device_family >= IWL_DEVICE_FAMILY_22000;
} }
static inline bool iwl_mvm_is_cdb_supported(struct iwl_mvm *mvm) static inline bool iwl_mvm_is_cdb_supported(struct iwl_mvm *mvm)
......
...@@ -1760,7 +1760,7 @@ int iwl_mvm_add_aux_sta(struct iwl_mvm *mvm) ...@@ -1760,7 +1760,7 @@ int iwl_mvm_add_aux_sta(struct iwl_mvm *mvm)
} }
/* /*
* For a000 firmware and on we cannot add queue to a station unknown * For 22000 firmware and on we cannot add queue to a station unknown
* to firmware so enable queue here - after the station was added * to firmware so enable queue here - after the station was added
*/ */
if (iwl_mvm_has_new_tx_api(mvm)) if (iwl_mvm_has_new_tx_api(mvm))
...@@ -1858,7 +1858,7 @@ int iwl_mvm_send_add_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif) ...@@ -1858,7 +1858,7 @@ int iwl_mvm_send_add_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
return ret; return ret;
/* /*
* For a000 firmware and on we cannot add queue to a station unknown * For 22000 firmware and on we cannot add queue to a station unknown
* to firmware so enable queue here - after the station was added * to firmware so enable queue here - after the station was added
*/ */
if (iwl_mvm_has_new_tx_api(mvm)) { if (iwl_mvm_has_new_tx_api(mvm)) {
...@@ -2037,7 +2037,7 @@ int iwl_mvm_add_mcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif) ...@@ -2037,7 +2037,7 @@ int iwl_mvm_add_mcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
/* /*
* Enable cab queue after the ADD_STA command is sent. * Enable cab queue after the ADD_STA command is sent.
* This is needed for a000 firmware which won't accept SCD_QUEUE_CFG * This is needed for 22000 firmware which won't accept SCD_QUEUE_CFG
* command with unknown station id, and for FW that doesn't support * command with unknown station id, and for FW that doesn't support
* station API since the cab queue is not included in the * station API since the cab queue is not included in the
* tfd_queue_mask. * tfd_queue_mask.
...@@ -2503,7 +2503,7 @@ int iwl_mvm_sta_tx_agg_start(struct iwl_mvm *mvm, struct ieee80211_vif *vif, ...@@ -2503,7 +2503,7 @@ int iwl_mvm_sta_tx_agg_start(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
tid_data->next_reclaimed); tid_data->next_reclaimed);
/* /*
* In A000 HW, the next_reclaimed index is only 8 bit, so we'll need * In 22000 HW, the next_reclaimed index is only 8 bit, so we'll need
* to align the wrap around of ssn so we compare relevant values. * to align the wrap around of ssn so we compare relevant values.
*/ */
normalized_ssn = tid_data->ssn; normalized_ssn = tid_data->ssn;
...@@ -3588,7 +3588,7 @@ u16 iwl_mvm_tid_queued(struct iwl_mvm *mvm, struct iwl_mvm_tid_data *tid_data) ...@@ -3588,7 +3588,7 @@ u16 iwl_mvm_tid_queued(struct iwl_mvm *mvm, struct iwl_mvm_tid_data *tid_data)
u16 sn = IEEE80211_SEQ_TO_SN(tid_data->seq_number); u16 sn = IEEE80211_SEQ_TO_SN(tid_data->seq_number);
/* /*
* In A000 HW, the next_reclaimed index is only 8 bit, so we'll need * In 22000 HW, the next_reclaimed index is only 8 bit, so we'll need
* to align the wrap around of ssn so we compare relevant values. * to align the wrap around of ssn so we compare relevant values.
*/ */
if (mvm->trans->cfg->gen2) if (mvm->trans->cfg->gen2)
......
...@@ -1131,7 +1131,7 @@ static void iwl_mvm_check_ratid_empty(struct iwl_mvm *mvm, ...@@ -1131,7 +1131,7 @@ static void iwl_mvm_check_ratid_empty(struct iwl_mvm *mvm,
} }
/* /*
* In A000 HW, the next_reclaimed index is only 8 bit, so we'll need * In 22000 HW, the next_reclaimed index is only 8 bit, so we'll need
* to align the wrap around of ssn so we compare relevant values. * to align the wrap around of ssn so we compare relevant values.
*/ */
normalized_ssn = tid_data->ssn; normalized_ssn = tid_data->ssn;
......
...@@ -577,19 +577,19 @@ static const struct pci_device_id iwl_hw_card_ids[] = { ...@@ -577,19 +577,19 @@ static const struct pci_device_id iwl_hw_card_ids[] = {
{IWL_PCI_DEVICE(0xA370, 0x0060, iwl9460_2ac_cfg)}, {IWL_PCI_DEVICE(0xA370, 0x0060, iwl9460_2ac_cfg)},
{IWL_PCI_DEVICE(0xA370, 0x1030, iwl9560_2ac_cfg)}, {IWL_PCI_DEVICE(0xA370, 0x1030, iwl9560_2ac_cfg)},
/* a000 Series */ /* 22000 Series */
{IWL_PCI_DEVICE(0x2720, 0x0A10, iwla000_2ac_cfg_hr_cdb)}, {IWL_PCI_DEVICE(0x2720, 0x0A10, iwl22000_2ac_cfg_hr_cdb)},
{IWL_PCI_DEVICE(0x34F0, 0x0310, iwla000_2ac_cfg_jf)}, {IWL_PCI_DEVICE(0x34F0, 0x0310, iwl22000_2ac_cfg_jf)},
{IWL_PCI_DEVICE(0x2720, 0x0000, iwla000_2ax_cfg_hr)}, {IWL_PCI_DEVICE(0x2720, 0x0000, iwl22000_2ax_cfg_hr)},
{IWL_PCI_DEVICE(0x34F0, 0x0070, iwla000_2ax_cfg_hr)}, {IWL_PCI_DEVICE(0x34F0, 0x0070, iwl22000_2ax_cfg_hr)},
{IWL_PCI_DEVICE(0x2720, 0x0078, iwla000_2ax_cfg_hr)}, {IWL_PCI_DEVICE(0x2720, 0x0078, iwl22000_2ax_cfg_hr)},
{IWL_PCI_DEVICE(0x2720, 0x0070, iwla000_2ac_cfg_hr_cdb)}, {IWL_PCI_DEVICE(0x2720, 0x0070, iwl22000_2ac_cfg_hr_cdb)},
{IWL_PCI_DEVICE(0x2720, 0x0030, iwla000_2ac_cfg_hr_cdb)}, {IWL_PCI_DEVICE(0x2720, 0x0030, iwl22000_2ac_cfg_hr_cdb)},
{IWL_PCI_DEVICE(0x2720, 0x1080, iwla000_2ax_cfg_hr)}, {IWL_PCI_DEVICE(0x2720, 0x1080, iwl22000_2ax_cfg_hr)},
{IWL_PCI_DEVICE(0x2720, 0x0090, iwla000_2ac_cfg_hr_cdb)}, {IWL_PCI_DEVICE(0x2720, 0x0090, iwl22000_2ac_cfg_hr_cdb)},
{IWL_PCI_DEVICE(0x2720, 0x0310, iwla000_2ac_cfg_hr_cdb)}, {IWL_PCI_DEVICE(0x2720, 0x0310, iwl22000_2ac_cfg_hr_cdb)},
{IWL_PCI_DEVICE(0x40C0, 0x0000, iwla000_2ax_cfg_hr)}, {IWL_PCI_DEVICE(0x40C0, 0x0000, iwl22000_2ax_cfg_hr)},
{IWL_PCI_DEVICE(0x40C0, 0x0A10, iwla000_2ax_cfg_hr)}, {IWL_PCI_DEVICE(0x40C0, 0x0A10, iwl22000_2ax_cfg_hr)},
#endif /* CONFIG_IWLMVM */ #endif /* CONFIG_IWLMVM */
...@@ -631,7 +631,7 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -631,7 +631,7 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
iwl_trans->cfg = cfg_7265d; iwl_trans->cfg = cfg_7265d;
} }
if (iwl_trans->cfg->rf_id && cfg == &iwla000_2ac_cfg_hr_cdb && if (iwl_trans->cfg->rf_id && cfg == &iwl22000_2ac_cfg_hr_cdb &&
iwl_trans->hw_rev != CSR_HW_REV_TYPE_HR_CDB) { iwl_trans->hw_rev != CSR_HW_REV_TYPE_HR_CDB) {
u32 rf_id_chp = CSR_HW_RF_ID_TYPE_CHIP_ID(iwl_trans->hw_rf_id); u32 rf_id_chp = CSR_HW_RF_ID_TYPE_CHIP_ID(iwl_trans->hw_rf_id);
u32 jf_chp_id = CSR_HW_RF_ID_TYPE_CHIP_ID(CSR_HW_RF_ID_TYPE_JF); u32 jf_chp_id = CSR_HW_RF_ID_TYPE_CHIP_ID(CSR_HW_RF_ID_TYPE_JF);
...@@ -639,14 +639,14 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -639,14 +639,14 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
if (rf_id_chp == jf_chp_id) { if (rf_id_chp == jf_chp_id) {
if (iwl_trans->hw_rev == CSR_HW_REV_TYPE_QNJ) if (iwl_trans->hw_rev == CSR_HW_REV_TYPE_QNJ)
cfg = &iwla000_2ax_cfg_qnj_jf_b0; cfg = &iwl22000_2ax_cfg_qnj_jf_b0;
else else
cfg = &iwla000_2ac_cfg_jf; cfg = &iwl22000_2ac_cfg_jf;
} else if (rf_id_chp == hr_chp_id) { } else if (rf_id_chp == hr_chp_id) {
if (iwl_trans->hw_rev == CSR_HW_REV_TYPE_QNJ) if (iwl_trans->hw_rev == CSR_HW_REV_TYPE_QNJ)
cfg = &iwla000_2ax_cfg_qnj_hr_a0; cfg = &iwl22000_2ax_cfg_qnj_hr_a0;
else else
cfg = &iwla000_2ac_cfg_hr; cfg = &iwl22000_2ac_cfg_hr;
} }
iwl_trans->cfg = cfg; iwl_trans->cfg = cfg;
} }
......
...@@ -3240,9 +3240,9 @@ struct iwl_trans *iwl_trans_pcie_alloc(struct pci_dev *pdev, ...@@ -3240,9 +3240,9 @@ struct iwl_trans *iwl_trans_pcie_alloc(struct pci_dev *pdev,
hw_status = iwl_read_prph(trans, UMAG_GEN_HW_STATUS); hw_status = iwl_read_prph(trans, UMAG_GEN_HW_STATUS);
if (hw_status & UMAG_GEN_HW_IS_FPGA) if (hw_status & UMAG_GEN_HW_IS_FPGA)
trans->cfg = &iwla000_2ax_cfg_qnj_hr_f0; trans->cfg = &iwl22000_2ax_cfg_qnj_hr_f0;
else else
trans->cfg = &iwla000_2ac_cfg_hr; trans->cfg = &iwl22000_2ac_cfg_hr;
} }
#endif #endif
......
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