]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/net/wireless/wl12xx/wl1271_conf.h
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
[mv-sheeva.git] / drivers / net / wireless / wl12xx / wl1271_conf.h
index 565373ede2652a4b711a5f6a5a233847ba79ec85..1993d63c214ed3a0a2613c83d5f95a7ccc03fded 100644 (file)
@@ -258,7 +258,8 @@ struct conf_rx_settings {
 #define CONF_TX_MAX_RATE_CLASSES       8
 
 #define CONF_TX_RATE_MASK_UNSPECIFIED  0
-#define CONF_TX_RATE_MASK_ALL          0x1eff
+#define CONF_TX_RATE_MASK_BASIC        (CONF_HW_BIT_RATE_1MBPS | \
+                                       CONF_HW_BIT_RATE_2MBPS)
 #define CONF_TX_RATE_RETRY_LIMIT       10
 
 struct conf_tx_rate_class {
@@ -722,31 +723,6 @@ struct conf_conn_settings {
        u8 psm_entry_retries;
 };
 
-#define CONF_SR_ERR_TBL_MAX_VALUES   14
-
-struct conf_mart_reflex_err_table {
-       /*
-        * Length of the error table values table.
-        *
-        * Range: 0 - CONF_SR_ERR_TBL_MAX_VALUES
-        */
-       u8 len;
-
-       /*
-        * Smart Reflex error table upper limit.
-        *
-        * Range: s8
-        */
-       s8 upper_limit;
-
-       /*
-        * Smart Reflex error table values.
-        *
-        * Range: s8
-        */
-       s8 values[CONF_SR_ERR_TBL_MAX_VALUES];
-};
-
 enum {
        CONF_REF_CLK_19_2_E,
        CONF_REF_CLK_26_E,
@@ -759,6 +735,9 @@ enum single_dual_band_enum {
        CONF_DUAL_BAND
 };
 
+
+#define CONF_MAX_SMART_REFLEX_PARAMS 16
+
 struct conf_general_parms {
        /*
         * RF Reference Clock type / speed
@@ -815,6 +794,20 @@ struct conf_general_parms {
         * Range: Unknown
         */
        u8 settings;
+
+       /* Smart reflex settings */
+       u8 sr_state;
+
+       s8 srf1[CONF_MAX_SMART_REFLEX_PARAMS];
+       s8 srf2[CONF_MAX_SMART_REFLEX_PARAMS];
+       s8 srf3[CONF_MAX_SMART_REFLEX_PARAMS];
+
+       s8 sr_debug_table[CONF_MAX_SMART_REFLEX_PARAMS];
+
+       u8 sr_sen_n_p;
+       u8 sr_sen_n_p_gain;
+       u8 sr_sen_nrn;
+       u8 sr_sen_prn;
 };
 
 #define CONF_RSSI_AND_PROCESS_COMPENSATION_SIZE 15
@@ -847,12 +840,13 @@ struct conf_radio_parms {
         *
         * Range: unknown
         */
-       s16 tx_ref_pd_voltage;
-       s8  tx_ref_power;
+       u16 tx_ref_pd_voltage;
+       u8  tx_ref_power;
        s8  tx_offset_db;
 
        s8  tx_rate_limits_normal[CONF_NUMBER_OF_RATE_GROUPS];
        s8  tx_rate_limits_degraded[CONF_NUMBER_OF_RATE_GROUPS];
+       s8  tx_rate_limits_extreme[CONF_NUMBER_OF_RATE_GROUPS];
 
        s8  tx_channel_limits_11b[CONF_NUMBER_OF_CHANNELS_2_4];
        s8  tx_channel_limits_ofdm[CONF_NUMBER_OF_CHANNELS_2_4];
@@ -861,17 +855,22 @@ struct conf_radio_parms {
        u8  tx_ibias[CONF_NUMBER_OF_RATE_GROUPS];
        u8  rx_fem_insertion_loss;
 
+       u8  degraded_low_to_normal_threshold;
+       u8  degraded_normal_to_high_threshold;
+
+
        /*
         * Dynamic radio parameters for 5GHz
         *
         * Range: unknown
         */
-       s16 tx_ref_pd_voltage_5[CONF_NUMBER_OF_SUB_BANDS_5];
-       s8  tx_ref_power_5[CONF_NUMBER_OF_SUB_BANDS_5];
+       u16 tx_ref_pd_voltage_5[CONF_NUMBER_OF_SUB_BANDS_5];
+       u8  tx_ref_power_5[CONF_NUMBER_OF_SUB_BANDS_5];
        s8  tx_offset_db_5[CONF_NUMBER_OF_SUB_BANDS_5];
 
        s8  tx_rate_limits_normal_5[CONF_NUMBER_OF_RATE_GROUPS];
        s8  tx_rate_limits_degraded_5[CONF_NUMBER_OF_RATE_GROUPS];
+       s8  tx_rate_limits_extreme_5[CONF_NUMBER_OF_RATE_GROUPS];
 
        s8  tx_channel_limits_ofdm_5[CONF_NUMBER_OF_CHANNELS_5];
        s8  tx_pdv_rate_offsets_5[CONF_NUMBER_OF_RATE_GROUPS];
@@ -879,33 +878,46 @@ struct conf_radio_parms {
        /* FIXME: this is inconsistent with the types for 2.4GHz */
        s8  tx_ibias_5[CONF_NUMBER_OF_RATE_GROUPS];
        s8  rx_fem_insertion_loss_5[CONF_NUMBER_OF_SUB_BANDS_5];
-};
 
-#define CONF_SR_ERR_TBL_COUNT        3
+       u8  degraded_low_to_normal_threshold_5;
+       u8  degraded_normal_to_high_threshold_5;
+};
 
 struct conf_init_settings {
        /*
-        * Configure Smart Reflex error table values.
+        * Configure general parameters.
         */
-       struct conf_mart_reflex_err_table sr_err_tbl[CONF_SR_ERR_TBL_COUNT];
+       struct conf_general_parms genparam;
 
        /*
-        * Smart Reflex enable flag.
-        *
-        * Range: 1 - Smart Reflex enabled, 0 - Smart Reflex disabled
+        * Configure radio parameters.
         */
-       u8 sr_enable;
+       struct conf_radio_parms radioparam;
 
+};
+
+struct conf_itrim_settings {
+       /* enable dco itrim */
+       u8 enable;
+
+       /* moderation timeout in microsecs from the last TX */
+       u32 timeout;
+};
+
+struct conf_pm_config_settings {
        /*
-        * Configure general parameters.
+        * Host clock settling time
+        *
+        * Range: 0 - 30000 us
         */
-       struct conf_general_parms genparam;
+       u32 host_clk_settling_time;
 
        /*
-        * Configure radio parameters.
+        * Host fast wakeup support
+        *
+        * Range: true, false
         */
-       struct conf_radio_parms radioparam;
-
+       bool host_fast_wakeup_support;
 };
 
 struct conf_drv_settings {
@@ -914,6 +926,8 @@ struct conf_drv_settings {
        struct conf_tx_settings tx;
        struct conf_conn_settings conn;
        struct conf_init_settings init;
+       struct conf_itrim_settings itrim;
+       struct conf_pm_config_settings pm_config;
 };
 
 #endif