aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/wl1271_conf.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/wl12xx/wl1271_conf.h')
-rw-r--r--drivers/net/wireless/wl12xx/wl1271_conf.h158
1 files changed, 93 insertions, 65 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1271_conf.h b/drivers/net/wireless/wl12xx/wl1271_conf.h
index 7fcfe06b1412..c44307c4bcf8 100644
--- a/drivers/net/wireless/wl12xx/wl1271_conf.h
+++ b/drivers/net/wireless/wl12xx/wl1271_conf.h
@@ -66,6 +66,32 @@ enum {
66}; 66};
67 67
68enum { 68enum {
69 CONF_HW_RXTX_RATE_MCS7 = 0,
70 CONF_HW_RXTX_RATE_MCS6,
71 CONF_HW_RXTX_RATE_MCS5,
72 CONF_HW_RXTX_RATE_MCS4,
73 CONF_HW_RXTX_RATE_MCS3,
74 CONF_HW_RXTX_RATE_MCS2,
75 CONF_HW_RXTX_RATE_MCS1,
76 CONF_HW_RXTX_RATE_MCS0,
77 CONF_HW_RXTX_RATE_54,
78 CONF_HW_RXTX_RATE_48,
79 CONF_HW_RXTX_RATE_36,
80 CONF_HW_RXTX_RATE_24,
81 CONF_HW_RXTX_RATE_22,
82 CONF_HW_RXTX_RATE_18,
83 CONF_HW_RXTX_RATE_12,
84 CONF_HW_RXTX_RATE_11,
85 CONF_HW_RXTX_RATE_9,
86 CONF_HW_RXTX_RATE_6,
87 CONF_HW_RXTX_RATE_5_5,
88 CONF_HW_RXTX_RATE_2,
89 CONF_HW_RXTX_RATE_1,
90 CONF_HW_RXTX_RATE_MAX,
91 CONF_HW_RXTX_RATE_UNSUPPORTED = 0xff
92};
93
94enum {
69 CONF_SG_DISABLE = 0, 95 CONF_SG_DISABLE = 0,
70 CONF_SG_PROTECTIVE, 96 CONF_SG_PROTECTIVE,
71 CONF_SG_OPPORTUNISTIC 97 CONF_SG_OPPORTUNISTIC
@@ -648,6 +674,19 @@ struct conf_tx_settings {
648 */ 674 */
649 u16 tx_compl_threshold; 675 u16 tx_compl_threshold;
650 676
677 /*
678 * The rate used for control messages and scanning on the 2.4GHz band
679 *
680 * Range: CONF_HW_BIT_RATE_* bit mask
681 */
682 u32 basic_rate;
683
684 /*
685 * The rate used for control messages and scanning on the 5GHz band
686 *
687 * Range: CONF_HW_BIT_RATE_* bit mask
688 */
689 u32 basic_rate_5;
651}; 690};
652 691
653enum { 692enum {
@@ -717,65 +756,6 @@ enum {
717 CONF_TRIG_EVENT_DIR_BIDIR 756 CONF_TRIG_EVENT_DIR_BIDIR
718}; 757};
719 758
720
721struct conf_sig_trigger {
722 /*
723 * The RSSI / SNR threshold value.
724 *
725 * FIXME: what is the range?
726 */
727 s16 threshold;
728
729 /*
730 * Minimum delay between two trigger events for this trigger in ms.
731 *
732 * Range: 0 - 60000
733 */
734 u16 pacing;
735
736 /*
737 * The measurement data source for this trigger.
738 *
739 * Range: CONF_TRIG_METRIC_*
740 */
741 u8 metric;
742
743 /*
744 * The trigger type of this trigger.
745 *
746 * Range: CONF_TRIG_EVENT_TYPE_*
747 */
748 u8 type;
749
750 /*
751 * The direction of the trigger.
752 *
753 * Range: CONF_TRIG_EVENT_DIR_*
754 */
755 u8 direction;
756
757 /*
758 * Hysteresis range of the trigger around the threshold (in dB)
759 *
760 * Range: u8
761 */
762 u8 hysteresis;
763
764 /*
765 * Index of the trigger rule.
766 *
767 * Range: 0 - CONF_MAX_RSSI_SNR_TRIGGERS-1
768 */
769 u8 index;
770
771 /*
772 * Enable / disable this rule (to use for clearing rules.)
773 *
774 * Range: 1 - Enabled, 2 - Not enabled
775 */
776 u8 enable;
777};
778
779struct conf_sig_weights { 759struct conf_sig_weights {
780 760
781 /* 761 /*
@@ -894,12 +874,6 @@ struct conf_conn_settings {
894 u8 ps_poll_threshold; 874 u8 ps_poll_threshold;
895 875
896 /* 876 /*
897 * Configuration of signal (rssi/snr) triggers.
898 */
899 u8 sig_trigger_count;
900 struct conf_sig_trigger sig_trigger[CONF_MAX_RSSI_SNR_TRIGGERS];
901
902 /*
903 * Configuration of signal average weights. 877 * Configuration of signal average weights.
904 */ 878 */
905 struct conf_sig_weights sig_weights; 879 struct conf_sig_weights sig_weights;
@@ -929,6 +903,22 @@ struct conf_conn_settings {
929 * Range 0 - 255 903 * Range 0 - 255
930 */ 904 */
931 u8 psm_entry_retries; 905 u8 psm_entry_retries;
906
907 /*
908 *
909 * Specifies the interval of the connection keep-alive null-func
910 * frame in ms.
911 *
912 * Range: 1000 - 3600000
913 */
914 u32 keep_alive_interval;
915
916 /*
917 * Maximum listen interval supported by the driver in units of beacons.
918 *
919 * Range: u16
920 */
921 u8 max_listen_interval;
932}; 922};
933 923
934enum { 924enum {
@@ -990,6 +980,43 @@ struct conf_pm_config_settings {
990 bool host_fast_wakeup_support; 980 bool host_fast_wakeup_support;
991}; 981};
992 982
983struct conf_roam_trigger_settings {
984 /*
985 * The minimum interval between two trigger events.
986 *
987 * Range: 0 - 60000 ms
988 */
989 u16 trigger_pacing;
990
991 /*
992 * The weight for rssi/beacon average calculation
993 *
994 * Range: 0 - 255
995 */
996 u8 avg_weight_rssi_beacon;
997
998 /*
999 * The weight for rssi/data frame average calculation
1000 *
1001 * Range: 0 - 255
1002 */
1003 u8 avg_weight_rssi_data;
1004
1005 /*
1006 * The weight for snr/beacon average calculation
1007 *
1008 * Range: 0 - 255
1009 */
1010 u8 avg_weight_snr_beacon;
1011
1012 /*
1013 * The weight for snr/data frame average calculation
1014 *
1015 * Range: 0 - 255
1016 */
1017 u8 avg_weight_snr_data;
1018};
1019
993struct conf_drv_settings { 1020struct conf_drv_settings {
994 struct conf_sg_settings sg; 1021 struct conf_sg_settings sg;
995 struct conf_rx_settings rx; 1022 struct conf_rx_settings rx;
@@ -998,6 +1025,7 @@ struct conf_drv_settings {
998 struct conf_init_settings init; 1025 struct conf_init_settings init;
999 struct conf_itrim_settings itrim; 1026 struct conf_itrim_settings itrim;
1000 struct conf_pm_config_settings pm_config; 1027 struct conf_pm_config_settings pm_config;
1028 struct conf_roam_trigger_settings roam_trigger;
1001}; 1029};
1002 1030
1003#endif 1031#endif