Lines Matching refs:rule

664 static bool valid_wmm(struct fwdb_wmm_rule *rule)  in valid_wmm()  argument
666 struct fwdb_wmm_ac *ac = (struct fwdb_wmm_ac *)rule; in valid_wmm()
686 struct fwdb_rule *rule = (void *)(data + (rule_ptr << 2)); in valid_rule() local
688 if ((u8 *)rule + sizeof(rule->len) > data + size) in valid_rule()
692 if (rule->len < offsetofend(struct fwdb_rule, max_bw)) in valid_rule()
694 if (rule->len >= offsetofend(struct fwdb_rule, wmm_ptr)) { in valid_rule()
695 u32 wmm_ptr = be16_to_cpu(rule->wmm_ptr) << 2; in valid_rule()
846 const struct fwdb_rule *rule, in set_wmm_rule() argument
853 wmm_ptr = be16_to_cpu(rule->wmm_ptr) << 2; in set_wmm_rule()
858 be32_to_cpu(rule->start), be32_to_cpu(rule->end), in set_wmm_rule()
890 struct fwdb_rule *rule = (void *)((u8 *)db + rule_ptr); in __regdb_query_wmm() local
892 if (rule->len < offsetofend(struct fwdb_rule, wmm_ptr)) in __regdb_query_wmm()
895 if (freq >= KHZ_TO_MHZ(be32_to_cpu(rule->start)) && in __regdb_query_wmm()
896 freq <= KHZ_TO_MHZ(be32_to_cpu(rule->end))) { in __regdb_query_wmm()
897 set_wmm_rule(db, country, rule, rrule); in __regdb_query_wmm()
905 int reg_query_regdb_wmm(char *alpha2, int freq, struct ieee80211_reg_rule *rule) in reg_query_regdb_wmm() argument
919 return __regdb_query_wmm(regdb, country, freq, rule); in reg_query_regdb_wmm()
949 struct fwdb_rule *rule = (void *)((u8 *)db + rule_ptr); in regdb_query_country() local
952 rrule->freq_range.start_freq_khz = be32_to_cpu(rule->start); in regdb_query_country()
953 rrule->freq_range.end_freq_khz = be32_to_cpu(rule->end); in regdb_query_country()
954 rrule->freq_range.max_bandwidth_khz = be32_to_cpu(rule->max_bw); in regdb_query_country()
957 rrule->power_rule.max_eirp = be16_to_cpu(rule->max_eirp); in regdb_query_country()
960 if (rule->flags & FWDB_FLAG_NO_OFDM) in regdb_query_country()
962 if (rule->flags & FWDB_FLAG_NO_OUTDOOR) in regdb_query_country()
964 if (rule->flags & FWDB_FLAG_DFS) in regdb_query_country()
966 if (rule->flags & FWDB_FLAG_NO_IR) in regdb_query_country()
968 if (rule->flags & FWDB_FLAG_AUTO_BW) in regdb_query_country()
974 if (rule->len >= offsetofend(struct fwdb_rule, cac_timeout)) in regdb_query_country()
976 1000 * be16_to_cpu(rule->cac_timeout); in regdb_query_country()
977 if (rule->len >= offsetofend(struct fwdb_rule, wmm_ptr)) in regdb_query_country()
978 set_wmm_rule(db, country, rule, rrule); in regdb_query_country()
1163 const struct ieee80211_reg_rule *rule) in reg_get_max_bandwidth_from_range() argument
1165 const struct ieee80211_freq_range *freq_range = &rule->freq_range; in reg_get_max_bandwidth_from_range()
1171 if (rule == &rd->reg_rules[idx]) in reg_get_max_bandwidth_from_range()
1193 freq_range = &rule->freq_range; in reg_get_max_bandwidth_from_range()
1212 const struct ieee80211_reg_rule *rule) in reg_get_max_bandwidth() argument
1214 unsigned int bw = reg_get_max_bandwidth_from_range(rd, rule); in reg_get_max_bandwidth()
1216 if (rule->flags & NL80211_RRF_NO_320MHZ) in reg_get_max_bandwidth()
1218 if (rule->flags & NL80211_RRF_NO_160MHZ) in reg_get_max_bandwidth()
1220 if (rule->flags & NL80211_RRF_NO_80MHZ) in reg_get_max_bandwidth()
1227 if (rule->flags & NL80211_RRF_NO_HT40MINUS && in reg_get_max_bandwidth()
1228 rule->flags & NL80211_RRF_NO_HT40PLUS) in reg_get_max_bandwidth()
1235 static bool is_valid_reg_rule(const struct ieee80211_reg_rule *rule) in is_valid_reg_rule() argument
1237 const struct ieee80211_freq_range *freq_range = &rule->freq_range; in is_valid_reg_rule()
1462 static void add_rule(struct ieee80211_reg_rule *rule, in add_rule() argument
1471 if (rule_contains(tmp_rule, rule)) in add_rule()
1475 if (rule_contains(rule, tmp_rule)) { in add_rule()
1476 memcpy(tmp_rule, rule, sizeof(*rule)); in add_rule()
1481 memcpy(&reg_rules[*n_rules], rule, sizeof(*rule)); in add_rule()