diff options
Diffstat (limited to 'drivers/net/wireless/wl12xx/wl1271_conf.h')
-rw-r--r-- | drivers/net/wireless/wl12xx/wl1271_conf.h | 158 |
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 | ||
68 | enum { | 68 | enum { |
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 | |||
94 | enum { | ||
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 | ||
653 | enum { | 692 | enum { |
@@ -717,65 +756,6 @@ enum { | |||
717 | CONF_TRIG_EVENT_DIR_BIDIR | 756 | CONF_TRIG_EVENT_DIR_BIDIR |
718 | }; | 757 | }; |
719 | 758 | ||
720 | |||
721 | struct 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 | |||
779 | struct conf_sig_weights { | 759 | struct 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 | ||
934 | enum { | 924 | enum { |
@@ -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 | ||
983 | struct 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 | |||
993 | struct conf_drv_settings { | 1020 | struct 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 |