aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-commands.h
diff options
context:
space:
mode:
authorTomas Winkler <tomas.winkler@intel.com>2008-10-07 21:37:27 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-10-31 19:00:02 -0400
commitbe5d56ed885a2897ec813eab4a8055d495816e9a (patch)
tree26cada5850d10ec41b912f66f33130727e866a33 /drivers/net/wireless/iwlwifi/iwl-commands.h
parent1397dcebd8f1d66528e8f86b0dfb603281558f79 (diff)
iwlwifi: make initial calibration set configurable
This patch adds ability to configure initial calibration set. Not all HW supported by iwlwifi use the same calibration set, XTAL is one example. Some clean ups are also included in this patch. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-commands.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-commands.h27
1 files changed, 11 insertions, 16 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-commands.h b/drivers/net/wireless/iwlwifi/iwl-commands.h
index 8d04e966ad48..fc467c545ce8 100644
--- a/drivers/net/wireless/iwlwifi/iwl-commands.h
+++ b/drivers/net/wireless/iwlwifi/iwl-commands.h
@@ -98,6 +98,11 @@ enum {
98 COEX_MEDIUM_NOTIFICATION = 0x5b, 98 COEX_MEDIUM_NOTIFICATION = 0x5b,
99 COEX_EVENT_CMD = 0x5c, 99 COEX_EVENT_CMD = 0x5c,
100 100
101 /* Calibration */
102 CALIBRATION_CFG_CMD = 0x65,
103 CALIBRATION_RES_NOTIFICATION = 0x66,
104 CALIBRATION_COMPLETE_NOTIFICATION = 0x67,
105
101 /* 802.11h related */ 106 /* 802.11h related */
102 RADAR_NOTIFICATION = 0x70, /* not used */ 107 RADAR_NOTIFICATION = 0x70, /* not used */
103 REPLY_QUIET_CMD = 0x71, /* not used */ 108 REPLY_QUIET_CMD = 0x71, /* not used */
@@ -2879,25 +2884,11 @@ enum {
2879 IWL5000_PHY_CALIBRATE_CHAIN_NOISE_GAIN_CMD = 19, 2884 IWL5000_PHY_CALIBRATE_CHAIN_NOISE_GAIN_CMD = 19,
2880}; 2885};
2881 2886
2882enum { 2887struct iwl_cal_xtal_freq {
2883 CALIBRATION_CFG_CMD = 0x65,
2884 CALIBRATION_RES_NOTIFICATION = 0x66,
2885 CALIBRATION_COMPLETE_NOTIFICATION = 0x67
2886};
2887
2888struct iwl_cal_crystal_freq_cmd {
2889 u8 cap_pin1; 2888 u8 cap_pin1;
2890 u8 cap_pin2; 2889 u8 cap_pin2;
2891} __attribute__ ((packed)); 2890} __attribute__ ((packed));
2892 2891
2893struct iwl5000_calibration {
2894 u8 op_code;
2895 u8 first_group;
2896 u8 num_groups;
2897 u8 all_data_valid;
2898 struct iwl_cal_crystal_freq_cmd data;
2899} __attribute__ ((packed));
2900
2901#define IWL_CALIB_INIT_CFG_ALL __constant_cpu_to_le32(0xffffffff) 2892#define IWL_CALIB_INIT_CFG_ALL __constant_cpu_to_le32(0xffffffff)
2902 2893
2903struct iwl_calib_cfg_elmnt_s { 2894struct iwl_calib_cfg_elmnt_s {
@@ -2927,6 +2918,11 @@ struct iwl5000_calib_hdr {
2927 u8 data_valid; 2918 u8 data_valid;
2928} __attribute__ ((packed)); 2919} __attribute__ ((packed));
2929 2920
2921struct iwl5000_calib_cmd {
2922 struct iwl5000_calib_hdr hdr;
2923 u8 data[0];
2924} __attribute__ ((packed));
2925
2930struct iwl5000_calibration_chain_noise_reset_cmd { 2926struct iwl5000_calibration_chain_noise_reset_cmd {
2931 u8 op_code; /* IWL5000_PHY_CALIBRATE_CHAIN_NOISE_RESET_CMD */ 2927 u8 op_code; /* IWL5000_PHY_CALIBRATE_CHAIN_NOISE_RESET_CMD */
2932 u8 flags; /* not used */ 2928 u8 flags; /* not used */
@@ -3039,7 +3035,6 @@ struct iwl_rx_packet {
3039 struct iwl_notif_statistics stats; 3035 struct iwl_notif_statistics stats;
3040 struct iwl_compressed_ba_resp compressed_ba; 3036 struct iwl_compressed_ba_resp compressed_ba;
3041 struct iwl4965_missed_beacon_notif missed_beacon; 3037 struct iwl4965_missed_beacon_notif missed_beacon;
3042 struct iwl5000_calibration calib;
3043 __le32 status; 3038 __le32 status;
3044 u8 raw[0]; 3039 u8 raw[0];
3045 } u; 3040 } u;