aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-dev.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-dev.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-dev.h54
1 files changed, 2 insertions, 52 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h
index e01caf7a1f12..57445c22fcbc 100644
--- a/drivers/net/wireless/iwlwifi/iwl-dev.h
+++ b/drivers/net/wireless/iwlwifi/iwl-dev.h
@@ -648,54 +648,6 @@ struct iwl_sensitivity_ranges {
648#define CELSIUS_TO_KELVIN(x) ((x)+273) 648#define CELSIUS_TO_KELVIN(x) ((x)+273)
649 649
650 650
651/**
652 * struct iwl_hw_params
653 * @max_txq_num: Max # Tx queues supported
654 * @scd_bc_tbls_size: size of scheduler byte count tables
655 * @tfd_size: TFD size
656 * @tx/rx_chains_num: Number of TX/RX chains
657 * @valid_tx/rx_ant: usable antennas
658 * @max_rxq_size: Max # Rx frames in Rx queue (must be power-of-2)
659 * @max_rxq_log: Log-base-2 of max_rxq_size
660 * @rx_page_order: Rx buffer page order
661 * @rx_wrt_ptr_reg: FH{39}_RSCSR_CHNL0_WPTR
662 * @max_stations:
663 * @ht40_channel: is 40MHz width possible in band 2.4
664 * BIT(IEEE80211_BAND_5GHZ) BIT(IEEE80211_BAND_5GHZ)
665 * @sw_crypto: 0 for hw, 1 for sw
666 * @max_xxx_size: for ucode uses
667 * @ct_kill_threshold: temperature threshold
668 * @beacon_time_tsf_bits: number of valid tsf bits for beacon time
669 * @calib_init_cfg: setup initial calibrations for the hw
670 * @calib_rt_cfg: setup runtime calibrations for the hw
671 * @struct iwl_sensitivity_ranges: range of sensitivity values
672 */
673struct iwl_hw_params {
674 u8 max_txq_num;
675 u16 scd_bc_tbls_size;
676 u32 tfd_size;
677 u8 tx_chains_num;
678 u8 rx_chains_num;
679 u8 valid_tx_ant;
680 u8 valid_rx_ant;
681 u16 max_rxq_size;
682 u16 max_rxq_log;
683 u32 rx_page_order;
684 u8 max_stations;
685 u8 ht40_channel;
686 u8 max_beacon_itrvl; /* in 1024 ms */
687 u32 max_inst_size;
688 u32 max_data_size;
689 u32 ct_kill_threshold; /* value in hw-dependent units */
690 u32 ct_kill_exit_threshold; /* value in hw-dependent units */
691 /* for 1000, 6000 series and up */
692 u16 beacon_time_tsf_bits;
693 u32 calib_init_cfg;
694 u32 calib_rt_cfg;
695 const struct iwl_sensitivity_ranges *sens;
696};
697
698
699/****************************************************************************** 651/******************************************************************************
700 * 652 *
701 * Functions implemented in core module which are forward declared here 653 * Functions implemented in core module which are forward declared here
@@ -1480,8 +1432,6 @@ struct iwl_priv {
1480 struct iwl_rxon_context *cur_rssi_ctx; 1432 struct iwl_rxon_context *cur_rssi_ctx;
1481 bool bt_is_sco; 1433 bool bt_is_sco;
1482 1434
1483 struct iwl_hw_params hw_params;
1484
1485 u32 inta_mask; 1435 u32 inta_mask;
1486 1436
1487 struct workqueue_struct *workqueue; 1437 struct workqueue_struct *workqueue;
@@ -1639,11 +1589,11 @@ static inline int is_channel_ibss(const struct iwl_channel_info *ch)
1639 1589
1640static inline void __iwl_free_pages(struct iwl_priv *priv, struct page *page) 1590static inline void __iwl_free_pages(struct iwl_priv *priv, struct page *page)
1641{ 1591{
1642 __free_pages(page, priv->hw_params.rx_page_order); 1592 __free_pages(page, hw_params(priv).rx_page_order);
1643} 1593}
1644 1594
1645static inline void iwl_free_pages(struct iwl_priv *priv, unsigned long page) 1595static inline void iwl_free_pages(struct iwl_priv *priv, unsigned long page)
1646{ 1596{
1647 free_pages(page, priv->hw_params.rx_page_order); 1597 free_pages(page, hw_params(priv).rx_page_order);
1648} 1598}
1649#endif /* __iwl_dev_h__ */ 1599#endif /* __iwl_dev_h__ */