Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eb2eacf7 authored by John W. Linville's avatar John W. Linville
Browse files
parents 167bf96d f991e17b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@
#include "commands.h"
#include "power.h"

static bool force_cam;
static bool force_cam = true;
module_param(force_cam, bool, 0644);
MODULE_PARM_DESC(force_cam, "force continuously aware mode (no power saving at all)");

+27 −4
Original line number Diff line number Diff line
@@ -85,6 +85,8 @@
#define IWL7260_TX_POWER_VERSION	0xffff /* meaningless */
#define IWL3160_NVM_VERSION		0x709
#define IWL3160_TX_POWER_VERSION	0xffff /* meaningless */
#define IWL3165_NVM_VERSION		0x709
#define IWL3165_TX_POWER_VERSION	0xffff /* meaningless */
#define IWL7265_NVM_VERSION		0x0a1d
#define IWL7265_TX_POWER_VERSION	0xffff /* meaningless */

@@ -94,6 +96,9 @@
#define IWL3160_FW_PRE "iwlwifi-3160-"
#define IWL3160_MODULE_FIRMWARE(api) IWL3160_FW_PRE __stringify(api) ".ucode"

#define IWL3165_FW_PRE "iwlwifi-3165-"
#define IWL3165_MODULE_FIRMWARE(api) IWL3165_FW_PRE __stringify(api) ".ucode"

#define IWL7265_FW_PRE "iwlwifi-7265-"
#define IWL7265_MODULE_FIRMWARE(api) IWL7265_FW_PRE __stringify(api) ".ucode"

@@ -126,7 +131,8 @@ static const struct iwl_ht_params iwl7000_ht_params = {
	.max_data_size = IWL60_RTC_DATA_SIZE,			\
	.base_params = &iwl7000_base_params,			\
	.led_mode = IWL_LED_RF_STATE,				\
	.nvm_hw_section_num = NVM_HW_SECTION_NUM_FAMILY_7000
	.nvm_hw_section_num = NVM_HW_SECTION_NUM_FAMILY_7000,	\
	.non_shared_ant = ANT_A


const struct iwl_cfg iwl7260_2ac_cfg = {
@@ -215,11 +221,27 @@ static const struct iwl_pwr_tx_backoff iwl7265_pwr_tx_backoffs[] = {
	{0},
};

static const struct iwl_ht_params iwl7265_ht_params = {
	.stbc = true,
	.ldpc = true,
	.ht40_bands = BIT(IEEE80211_BAND_2GHZ) | BIT(IEEE80211_BAND_5GHZ),
};

const struct iwl_cfg iwl3165_2ac_cfg = {
	.name = "Intel(R) Dual Band Wireless AC 3165",
	.fw_name_pre = IWL3165_FW_PRE,
	IWL_DEVICE_7000,
	.ht_params = &iwl7000_ht_params,
	.nvm_ver = IWL3165_NVM_VERSION,
	.nvm_calib_ver = IWL3165_TX_POWER_VERSION,
	.pwr_tx_backoffs = iwl7265_pwr_tx_backoffs,
};

const struct iwl_cfg iwl7265_2ac_cfg = {
	.name = "Intel(R) Dual Band Wireless AC 7265",
	.fw_name_pre = IWL7265_FW_PRE,
	IWL_DEVICE_7000,
	.ht_params = &iwl7000_ht_params,
	.ht_params = &iwl7265_ht_params,
	.nvm_ver = IWL7265_NVM_VERSION,
	.nvm_calib_ver = IWL7265_TX_POWER_VERSION,
	.pwr_tx_backoffs = iwl7265_pwr_tx_backoffs,
@@ -229,7 +251,7 @@ const struct iwl_cfg iwl7265_2n_cfg = {
	.name = "Intel(R) Dual Band Wireless N 7265",
	.fw_name_pre = IWL7265_FW_PRE,
	IWL_DEVICE_7000,
	.ht_params = &iwl7000_ht_params,
	.ht_params = &iwl7265_ht_params,
	.nvm_ver = IWL7265_NVM_VERSION,
	.nvm_calib_ver = IWL7265_TX_POWER_VERSION,
	.pwr_tx_backoffs = iwl7265_pwr_tx_backoffs,
@@ -239,7 +261,7 @@ const struct iwl_cfg iwl7265_n_cfg = {
	.name = "Intel(R) Wireless N 7265",
	.fw_name_pre = IWL7265_FW_PRE,
	IWL_DEVICE_7000,
	.ht_params = &iwl7000_ht_params,
	.ht_params = &iwl7265_ht_params,
	.nvm_ver = IWL7265_NVM_VERSION,
	.nvm_calib_ver = IWL7265_TX_POWER_VERSION,
	.pwr_tx_backoffs = iwl7265_pwr_tx_backoffs,
@@ -247,4 +269,5 @@ const struct iwl_cfg iwl7265_n_cfg = {

MODULE_FIRMWARE(IWL7260_MODULE_FIRMWARE(IWL7260_UCODE_API_OK));
MODULE_FIRMWARE(IWL3160_MODULE_FIRMWARE(IWL3160_UCODE_API_OK));
MODULE_FIRMWARE(IWL3165_MODULE_FIRMWARE(IWL3160_UCODE_API_OK));
MODULE_FIRMWARE(IWL7265_MODULE_FIRMWARE(IWL7260_UCODE_API_OK));
+13 −1
Original line number Diff line number Diff line
@@ -103,6 +103,7 @@ static const struct iwl_base_params iwl8000_base_params = {
};

static const struct iwl_ht_params iwl8000_ht_params = {
	.ldpc = true,
	.ht40_bands = BIT(IEEE80211_BAND_2GHZ) | BIT(IEEE80211_BAND_5GHZ),
};

@@ -115,7 +116,17 @@ static const struct iwl_ht_params iwl8000_ht_params = {
	.max_data_size = IWL60_RTC_DATA_SIZE,			\
	.base_params = &iwl8000_base_params,			\
	.led_mode = IWL_LED_RF_STATE,				\
	.nvm_hw_section_num = NVM_HW_SECTION_NUM_FAMILY_8000
	.nvm_hw_section_num = NVM_HW_SECTION_NUM_FAMILY_8000,	\
	.non_shared_ant = ANT_A

const struct iwl_cfg iwl8260_2n_cfg = {
	.name = "Intel(R) Dual Band Wireless N 8260",
	.fw_name_pre = IWL8000_FW_PRE,
	IWL_DEVICE_8000,
	.ht_params = &iwl8000_ht_params,
	.nvm_ver = IWL8000_NVM_VERSION,
	.nvm_calib_ver = IWL8000_TX_POWER_VERSION,
};

const struct iwl_cfg iwl8260_2ac_cfg = {
	.name = "Intel(R) Dual Band Wireless AC 8260",
@@ -135,6 +146,7 @@ const struct iwl_cfg iwl8260_2ac_sdio_cfg = {
	.nvm_calib_ver = IWL8000_TX_POWER_VERSION,
	.default_nvm_file = DEFAULT_NVM_FILE_FAMILY_8000,
	.max_rx_agg_size = MAX_RX_AGG_SIZE_8260_SDIO,
	.disable_dummy_notification = true,
};

MODULE_FIRMWARE(IWL8000_MODULE_FIRMWARE(IWL8000_UCODE_API_OK));
+9 −0
Original line number Diff line number Diff line
@@ -120,6 +120,8 @@ enum iwl_led_mode {
#define IWL_LONG_WD_TIMEOUT	10000
#define IWL_MAX_WD_TIMEOUT	120000

#define IWL_DEFAULT_MAX_TX_POWER 22

/* Antenna presence definitions */
#define	ANT_NONE	0x0
#define	ANT_A		BIT(0)
@@ -169,6 +171,7 @@ struct iwl_base_params {

/*
 * @stbc: support Tx STBC and 1*SS Rx STBC
 * @ldpc: support Tx/Rx with LDPC
 * @use_rts_for_aggregation: use rts/cts protection for HT traffic
 * @ht40_bands: bitmap of bands (using %IEEE80211_BAND_*) that support HT40
 */
@@ -176,6 +179,7 @@ struct iwl_ht_params {
	enum ieee80211_smps_mode smps_mode;
	const bool ht_greenfield_support; /* if used set to true */
	const bool stbc;
	const bool ldpc;
	bool use_rts_for_aggregation;
	u8 ht40_bands;
};
@@ -226,6 +230,7 @@ struct iwl_pwr_tx_backoff {
 * @max_data_size: The maximal length of the fw data section
 * @valid_tx_ant: valid transmit antenna
 * @valid_rx_ant: valid receive antenna
 * @non_shared_ant: the antenna that is for WiFi only
 * @nvm_ver: NVM version
 * @nvm_calib_ver: NVM calibration version
 * @lib: pointer to the lib ops
@@ -258,6 +263,7 @@ struct iwl_cfg {
	const u32 max_inst_size;
	u8   valid_tx_ant;
	u8   valid_rx_ant;
	u8   non_shared_ant;
	bool bt_shared_single_ant;
	u16  nvm_ver;
	u16  nvm_calib_ver;
@@ -278,6 +284,7 @@ struct iwl_cfg {
	bool no_power_up_nic_in_init;
	const char *default_nvm_file;
	unsigned int max_rx_agg_size;
	bool disable_dummy_notification;
};

/*
@@ -335,9 +342,11 @@ extern const struct iwl_cfg iwl7260_n_cfg;
extern const struct iwl_cfg iwl3160_2ac_cfg;
extern const struct iwl_cfg iwl3160_2n_cfg;
extern const struct iwl_cfg iwl3160_n_cfg;
extern const struct iwl_cfg iwl3165_2ac_cfg;
extern const struct iwl_cfg iwl7265_2ac_cfg;
extern const struct iwl_cfg iwl7265_2n_cfg;
extern const struct iwl_cfg iwl7265_n_cfg;
extern const struct iwl_cfg iwl8260_2n_cfg;
extern const struct iwl_cfg iwl8260_2ac_cfg;
extern const struct iwl_cfg iwl8260_2ac_sdio_cfg;
#endif /* CONFIG_IWLMVM */
+10 −0
Original line number Diff line number Diff line
@@ -295,6 +295,16 @@
#define CSR_HW_REV_DASH(_val)          (((_val) & 0x0000003) >> 0)
#define CSR_HW_REV_STEP(_val)          (((_val) & 0x000000C) >> 2)


/**
 *  hw_rev values
 */
enum {
	SILICON_A_STEP = 0,
	SILICON_B_STEP,
};


#define CSR_HW_REV_TYPE_MSK            (0x000FFF0)
#define CSR_HW_REV_TYPE_5300           (0x0000020)
#define CSR_HW_REV_TYPE_5350           (0x0000030)
Loading