Lines Matching refs:drp_ie
112 if (rsv->drp_ie != NULL) { in uwb_rc_send_all_drp_ie()
113 num_bytes += rsv->drp_ie->hdr.length + 2; in uwb_rc_send_all_drp_ie()
137 if (rsv->drp_ie != NULL) { in uwb_rc_send_all_drp_ie()
138 memcpy(IEDataptr, rsv->drp_ie, in uwb_rc_send_all_drp_ie()
139 rsv->drp_ie->hdr.length + 2); in uwb_rc_send_all_drp_ie()
140 IEDataptr += rsv->drp_ie->hdr.length + 2; in uwb_rc_send_all_drp_ie()
246 static void handle_conflict_normal(struct uwb_ie_drp *drp_ie, in handle_conflict_normal() argument
256 action = evaluate_conflict_action(drp_ie, ext_beacon_slot, rsv, uwb_rsv_status(rsv)); in handle_conflict_normal()
289 static void handle_conflict_expanding(struct uwb_ie_drp *drp_ie, int ext_beacon_slot, in handle_conflict_expanding() argument
300 action = evaluate_conflict_action(drp_ie, ext_beacon_slot, rsv, 0); in handle_conflict_expanding()
339 struct uwb_ie_drp *drp_ie, in uwb_drp_handle_conflict_rsv() argument
348 handle_conflict_expanding(drp_ie, drp_evt->beacon_slot_number, in uwb_drp_handle_conflict_rsv()
352 handle_conflict_expanding(drp_ie, drp_evt->beacon_slot_number, in uwb_drp_handle_conflict_rsv()
357 handle_conflict_normal(drp_ie, drp_evt->beacon_slot_number, rsv, conflicting_mas); in uwb_drp_handle_conflict_rsv()
363 struct uwb_ie_drp *drp_ie, in uwb_drp_handle_all_conflict_rsv() argument
369 uwb_drp_handle_conflict_rsv(rc, rsv, drp_evt, drp_ie, conflicting_mas); in uwb_drp_handle_all_conflict_rsv()
378 struct uwb_ie_drp *drp_ie, struct uwb_rc_evt_drp *drp_evt) in uwb_drp_process_target() argument
386 status = uwb_ie_drp_status(drp_ie); in uwb_drp_process_target()
387 reason_code = uwb_ie_drp_reason_code(drp_ie); in uwb_drp_process_target()
388 uwb_drp_ie_to_bm(&mas, drp_ie); in uwb_drp_process_target()
411 uwb_drp_handle_all_conflict_rsv(rc, drp_evt, drp_ie, &mas); in uwb_drp_process_target()
454 struct uwb_dev *src, struct uwb_ie_drp *drp_ie, in uwb_drp_process_owner() argument
463 status = uwb_ie_drp_status(drp_ie); in uwb_drp_process_owner()
464 reason_code = uwb_ie_drp_reason_code(drp_ie); in uwb_drp_process_owner()
465 uwb_drp_ie_to_bm(&mas, drp_ie); in uwb_drp_process_owner()
525 uwb_drp_handle_conflict_rsv(rc, rsv, drp_evt, drp_ie, &mas); in uwb_drp_process_owner()
578 static void uwb_drp_handle_alien_drp(struct uwb_rc *rc, struct uwb_ie_drp *drp_ie) in uwb_drp_handle_alien_drp() argument
586 uwb_drp_ie_to_bm(&mas, drp_ie); in uwb_drp_handle_alien_drp()
627 struct uwb_ie_drp *drp_ie) in uwb_drp_process_not_involved() argument
631 uwb_drp_ie_to_bm(&mas, drp_ie); in uwb_drp_process_not_involved()
632 uwb_drp_handle_all_conflict_rsv(rc, drp_evt, drp_ie, &mas); in uwb_drp_process_not_involved()
637 struct uwb_ie_drp *drp_ie) in uwb_drp_process_involved() argument
641 rsv = uwb_rsv_find(rc, src, drp_ie); in uwb_drp_process_involved()
660 if (uwb_ie_drp_owner(drp_ie)) in uwb_drp_process_involved()
661 uwb_drp_process_target(rc, rsv, drp_ie, drp_evt); in uwb_drp_process_involved()
663 uwb_drp_process_owner(rc, rsv, src, drp_ie, drp_evt); in uwb_drp_process_involved()
668 static bool uwb_drp_involves_us(struct uwb_rc *rc, struct uwb_ie_drp *drp_ie) in uwb_drp_involves_us() argument
670 return uwb_dev_addr_cmp(&rc->uwb_dev.dev_addr, &drp_ie->dev_addr) == 0; in uwb_drp_involves_us()
677 struct uwb_dev *src, struct uwb_ie_drp *drp_ie) in uwb_drp_process() argument
679 if (uwb_ie_drp_type(drp_ie) == UWB_DRP_TYPE_ALIEN_BP) in uwb_drp_process()
680 uwb_drp_handle_alien_drp(rc, drp_ie); in uwb_drp_process()
681 else if (uwb_drp_involves_us(rc, drp_ie)) in uwb_drp_process()
682 uwb_drp_process_involved(rc, src, drp_evt, drp_ie); in uwb_drp_process()
684 uwb_drp_process_not_involved(rc, drp_evt, drp_ie); in uwb_drp_process()