aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath10k
diff options
context:
space:
mode:
authorVasanthakumar Thiagarajan <vthiagar@qti.qualcomm.com>2016-09-09 10:25:13 -0400
committerKalle Valo <kvalo@qca.qualcomm.com>2016-09-13 08:30:53 -0400
commit43d923e2c192ecef19447dc2b0ca0bab6d8b1f64 (patch)
treebe150201824e3a0908fe9722cf60159e08645a03 /drivers/net/wireless/ath/ath10k
parent3040420158c139f64776935587bfad2584152f4c (diff)
ath10k: move ath10k_hw_params definition to hw.h
This is to prepare for rx descriptor abstraction where we'll be dereferencing ath10k_hw_params member in hw.h. Moreover hw.h looks more suitable to house ath10k_hw_params definition than core.h Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qti.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath10k')
-rw-r--r--drivers/net/wireless/ath/ath10k/core.h53
-rw-r--r--drivers/net/wireless/ath/ath10k/hw.h53
2 files changed, 54 insertions, 52 deletions
diff --git a/drivers/net/wireless/ath/ath10k/core.h b/drivers/net/wireless/ath/ath10k/core.h
index c22391394ad1..6ec9495bcc04 100644
--- a/drivers/net/wireless/ath/ath10k/core.h
+++ b/drivers/net/wireless/ath/ath10k/core.h
@@ -736,58 +736,7 @@ struct ath10k {
736 struct ath10k_htc htc; 736 struct ath10k_htc htc;
737 struct ath10k_htt htt; 737 struct ath10k_htt htt;
738 738
739 struct ath10k_hw_params { 739 struct ath10k_hw_params hw_params;
740 u32 id;
741 u16 dev_id;
742 const char *name;
743 u32 patch_load_addr;
744 int uart_pin;
745 u32 otp_exe_param;
746
747 /* Type of hw cycle counter wraparound logic, for more info
748 * refer enum ath10k_hw_cc_wraparound_type.
749 */
750 enum ath10k_hw_cc_wraparound_type cc_wraparound_type;
751
752 /* Some of chip expects fragment descriptor to be continuous
753 * memory for any TX operation. Set continuous_frag_desc flag
754 * for the hardware which have such requirement.
755 */
756 bool continuous_frag_desc;
757
758 /* CCK hardware rate table mapping for the newer chipsets
759 * like QCA99X0, QCA4019 got revised. The CCK h/w rate values
760 * are in a proper order with respect to the rate/preamble
761 */
762 bool cck_rate_map_rev2;
763
764 u32 channel_counters_freq_hz;
765
766 /* Mgmt tx descriptors threshold for limiting probe response
767 * frames.
768 */
769 u32 max_probe_resp_desc_thres;
770
771 /* The padding bytes's location is different on various chips */
772 enum ath10k_hw_4addr_pad hw_4addr_pad;
773
774 u32 tx_chain_mask;
775 u32 rx_chain_mask;
776 u32 max_spatial_stream;
777 u32 cal_data_len;
778
779 struct ath10k_hw_params_fw {
780 const char *dir;
781 const char *board;
782 size_t board_size;
783 size_t board_ext_size;
784 } fw;
785
786 /* qca99x0 family chips deliver broadcast/multicast management
787 * frames encrypted and expect software do decryption.
788 */
789 bool sw_decrypt_mcast_mgmt;
790 } hw_params;
791 740
792 /* contains the firmware images used with ATH10K_FIRMWARE_MODE_NORMAL */ 741 /* contains the firmware images used with ATH10K_FIRMWARE_MODE_NORMAL */
793 struct ath10k_fw_components normal_mode_fw; 742 struct ath10k_fw_components normal_mode_fw;
diff --git a/drivers/net/wireless/ath/ath10k/hw.h b/drivers/net/wireless/ath/ath10k/hw.h
index e014cd732a0d..af0d5d1e8213 100644
--- a/drivers/net/wireless/ath/ath10k/hw.h
+++ b/drivers/net/wireless/ath/ath10k/hw.h
@@ -363,6 +363,59 @@ enum ath10k_hw_cc_wraparound_type {
363 ATH10K_HW_CC_WRAP_SHIFTED_EACH = 2, 363 ATH10K_HW_CC_WRAP_SHIFTED_EACH = 2,
364}; 364};
365 365
366struct ath10k_hw_params {
367 u32 id;
368 u16 dev_id;
369 const char *name;
370 u32 patch_load_addr;
371 int uart_pin;
372 u32 otp_exe_param;
373
374 /* Type of hw cycle counter wraparound logic, for more info
375 * refer enum ath10k_hw_cc_wraparound_type.
376 */
377 enum ath10k_hw_cc_wraparound_type cc_wraparound_type;
378
379 /* Some of chip expects fragment descriptor to be continuous
380 * memory for any TX operation. Set continuous_frag_desc flag
381 * for the hardware which have such requirement.
382 */
383 bool continuous_frag_desc;
384
385 /* CCK hardware rate table mapping for the newer chipsets
386 * like QCA99X0, QCA4019 got revised. The CCK h/w rate values
387 * are in a proper order with respect to the rate/preamble
388 */
389 bool cck_rate_map_rev2;
390
391 u32 channel_counters_freq_hz;
392
393 /* Mgmt tx descriptors threshold for limiting probe response
394 * frames.
395 */
396 u32 max_probe_resp_desc_thres;
397
398 /* The padding bytes's location is different on various chips */
399 enum ath10k_hw_4addr_pad hw_4addr_pad;
400
401 u32 tx_chain_mask;
402 u32 rx_chain_mask;
403 u32 max_spatial_stream;
404 u32 cal_data_len;
405
406 struct ath10k_hw_params_fw {
407 const char *dir;
408 const char *board;
409 size_t board_size;
410 size_t board_ext_size;
411 } fw;
412
413 /* qca99x0 family chips deliver broadcast/multicast management
414 * frames encrypted and expect software do decryption.
415 */
416 bool sw_decrypt_mcast_mgmt;
417};
418
366/* Target specific defines for MAIN firmware */ 419/* Target specific defines for MAIN firmware */
367#define TARGET_NUM_VDEVS 8 420#define TARGET_NUM_VDEVS 8
368#define TARGET_NUM_PEER_AST 2 421#define TARGET_NUM_PEER_AST 2