Lines Matching full:intersection
43 struct p2p_channels intersection; in p2p_peer_channels_check() local
79 p2p_channels_intersect(own, &dev->channels, &intersection); in p2p_peer_channels_check()
80 p2p_dbg(p2p, "Own reg_classes %d peer reg_classes %d intersection reg_classes %d", in p2p_peer_channels_check()
83 (int) intersection.reg_classes); in p2p_peer_channels_check()
84 if (intersection.reg_classes == 0) { in p2p_peer_channels_check()
412 * @intersection: Support channel list intersection from local and peer
421 struct p2p_channels *intersection) in p2p_reselect_channel() argument
435 p2p_channels_includes(intersection, op_reg_class, op_channel)) { in p2p_reselect_channel()
436 p2p_dbg(p2p, "Pick own channel preference (reg_class %u channel %u) from intersection", in p2p_reselect_channel()
446 p2p_channels_includes(intersection, op_reg_class, op_channel)) { in p2p_reselect_channel()
447 p2p_dbg(p2p, "Pick best overall channel (reg_class %u channel %u) from intersection", in p2p_reselect_channel()
457 !p2p_channels_includes(intersection, p2p->op_reg_class, in p2p_reselect_channel()
461 p2p_channels_includes(intersection, op_reg_class, op_channel)) { in p2p_reselect_channel()
462 p2p_dbg(p2p, "Pick best 5 GHz channel (reg_class %u channel %u) from intersection", in p2p_reselect_channel()
470 !p2p_channels_includes(intersection, p2p->op_reg_class, in p2p_reselect_channel()
474 p2p_channels_includes(intersection, op_reg_class, op_channel)) { in p2p_reselect_channel()
475 p2p_dbg(p2p, "Pick best 2.4 GHz channel (reg_class %u channel %u) from intersection", in p2p_reselect_channel()
484 if (p2p_channels_includes(intersection, in p2p_reselect_channel()
489 p2p_dbg(p2p, "Pick highest preferred channel (op_class %u channel %u) from intersection", in p2p_reselect_channel()
496 if (p2p_channel_select(intersection, op_classes_edmg, in p2p_reselect_channel()
498 p2p_dbg(p2p, "Pick possible EDMG channel (op_class %u channel %u) from intersection", in p2p_reselect_channel()
504 if (p2p_channel_select(intersection, op_classes_vht, in p2p_reselect_channel()
506 p2p_dbg(p2p, "Pick possible VHT channel (op_class %u channel %u) from intersection", in p2p_reselect_channel()
512 if (p2p_channel_select(intersection, op_classes_ht40, in p2p_reselect_channel()
514 p2p_dbg(p2p, "Pick possible HT40 channel (op_class %u channel %u) from intersection", in p2p_reselect_channel()
520 if (p2p_channel_select(intersection, op_classes_5ghz, in p2p_reselect_channel()
522 p2p_dbg(p2p, "Pick possible 5 GHz channel (op_class %u channel %u) from intersection", in p2p_reselect_channel()
528 * Try to see if the original channel is in the intersection. If in p2p_reselect_channel()
532 if (p2p_channels_includes(intersection, p2p->op_reg_class, in p2p_reselect_channel()
534 …p_dbg(p2p, "Using original operating class and channel (op_class %u channel %u) from intersection", in p2p_reselect_channel()
540 * Fall back to whatever is included in the channel intersection since in p2p_reselect_channel()
543 cl = &intersection->reg_class[0]; in p2p_reselect_channel()
544 p2p_dbg(p2p, "Pick another channel (reg_class %u channel %u) from intersection", in p2p_reselect_channel()
554 struct p2p_channels tmp, intersection; in p2p_go_select_channel() local
559 p2p_channels_dump(p2p, "intersection", &tmp); in p2p_go_select_channel()
561 p2p_channels_dump(p2p, "intersection after no-GO removal", &tmp); in p2p_go_select_channel()
562 p2p_channels_intersect(&tmp, &p2p->cfg->channels, &intersection); in p2p_go_select_channel()
563 p2p_channels_dump(p2p, "intersection with local channel list", in p2p_go_select_channel()
564 &intersection); in p2p_go_select_channel()
565 if (intersection.reg_classes == 0 || in p2p_go_select_channel()
566 intersection.reg_class[0].channels == 0) { in p2p_go_select_channel()
572 if (!p2p_channels_includes(&intersection, p2p->op_reg_class, in p2p_go_select_channel()
582 p2p_reselect_channel(p2p, &intersection); in p2p_go_select_channel()
587 p2p_reselect_channel(p2p, &intersection); in p2p_go_select_channel()