Lines Matching refs:drp_ie
113 if (rsv->drp_ie != NULL) { in uwb_rc_send_all_drp_ie()
114 num_bytes += rsv->drp_ie->hdr.length + 2; in uwb_rc_send_all_drp_ie()
139 if (rsv->drp_ie != NULL) { in uwb_rc_send_all_drp_ie()
140 memcpy(IEDataptr, rsv->drp_ie, in uwb_rc_send_all_drp_ie()
141 rsv->drp_ie->hdr.length + 2); in uwb_rc_send_all_drp_ie()
142 IEDataptr += rsv->drp_ie->hdr.length + 2; in uwb_rc_send_all_drp_ie()
250 static void handle_conflict_normal(struct uwb_ie_drp *drp_ie, in handle_conflict_normal() argument
260 action = evaluate_conflict_action(drp_ie, ext_beacon_slot, rsv, uwb_rsv_status(rsv)); in handle_conflict_normal()
293 static void handle_conflict_expanding(struct uwb_ie_drp *drp_ie, int ext_beacon_slot, in handle_conflict_expanding() argument
304 action = evaluate_conflict_action(drp_ie, ext_beacon_slot, rsv, 0); in handle_conflict_expanding()
347 struct uwb_ie_drp *drp_ie, in uwb_drp_handle_conflict_rsv() argument
357 handle_conflict_expanding(drp_ie, in uwb_drp_handle_conflict_rsv()
364 drp_ie, drp_evt->beacon_slot_number, in uwb_drp_handle_conflict_rsv()
370 handle_conflict_normal(drp_ie, drp_evt->beacon_slot_number, in uwb_drp_handle_conflict_rsv()
377 struct uwb_ie_drp *drp_ie, in uwb_drp_handle_all_conflict_rsv() argument
383 uwb_drp_handle_conflict_rsv(rc, rsv, drp_evt, drp_ie, in uwb_drp_handle_all_conflict_rsv()
390 struct uwb_ie_drp *drp_ie, struct uwb_mas_bm *mas) in uwb_drp_process_target_accepted() argument
395 status = uwb_ie_drp_status(drp_ie); in uwb_drp_process_target_accepted()
418 drp_ie, mas); in uwb_drp_process_target_accepted()
441 struct uwb_ie_drp *drp_ie, struct uwb_rc_evt_drp *drp_evt) in uwb_drp_process_target() argument
449 status = uwb_ie_drp_status(drp_ie); in uwb_drp_process_target()
450 reason_code = uwb_ie_drp_reason_code(drp_ie); in uwb_drp_process_target()
451 uwb_drp_ie_to_bm(&mas, drp_ie); in uwb_drp_process_target()
455 uwb_drp_process_target_accepted(rc, rsv, drp_evt, drp_ie, &mas); in uwb_drp_process_target()
529 struct uwb_dev *src, struct uwb_ie_drp *drp_ie, in uwb_drp_process_owner() argument
537 status = uwb_ie_drp_status(drp_ie); in uwb_drp_process_owner()
538 reason_code = uwb_ie_drp_reason_code(drp_ie); in uwb_drp_process_owner()
539 uwb_drp_ie_to_bm(&mas, drp_ie); in uwb_drp_process_owner()
562 uwb_drp_handle_conflict_rsv(rc, rsv, drp_evt, drp_ie, &mas); in uwb_drp_process_owner()
617 static void uwb_drp_handle_alien_drp(struct uwb_rc *rc, struct uwb_ie_drp *drp_ie) in uwb_drp_handle_alien_drp() argument
624 uwb_drp_ie_to_bm(&mas, drp_ie); in uwb_drp_handle_alien_drp()
667 struct uwb_ie_drp *drp_ie) in uwb_drp_process_not_involved() argument
671 uwb_drp_ie_to_bm(&mas, drp_ie); in uwb_drp_process_not_involved()
672 uwb_drp_handle_all_conflict_rsv(rc, drp_evt, drp_ie, &mas); in uwb_drp_process_not_involved()
677 struct uwb_ie_drp *drp_ie) in uwb_drp_process_involved() argument
681 rsv = uwb_rsv_find(rc, src, drp_ie); in uwb_drp_process_involved()
700 if (uwb_ie_drp_owner(drp_ie)) in uwb_drp_process_involved()
701 uwb_drp_process_target(rc, rsv, drp_ie, drp_evt); in uwb_drp_process_involved()
703 uwb_drp_process_owner(rc, rsv, src, drp_ie, drp_evt); in uwb_drp_process_involved()
708 static bool uwb_drp_involves_us(struct uwb_rc *rc, struct uwb_ie_drp *drp_ie) in uwb_drp_involves_us() argument
710 return uwb_dev_addr_cmp(&rc->uwb_dev.dev_addr, &drp_ie->dev_addr) == 0; in uwb_drp_involves_us()
717 struct uwb_dev *src, struct uwb_ie_drp *drp_ie) in uwb_drp_process() argument
719 if (uwb_ie_drp_type(drp_ie) == UWB_DRP_TYPE_ALIEN_BP) in uwb_drp_process()
720 uwb_drp_handle_alien_drp(rc, drp_ie); in uwb_drp_process()
721 else if (uwb_drp_involves_us(rc, drp_ie)) in uwb_drp_process()
722 uwb_drp_process_involved(rc, src, drp_evt, drp_ie); in uwb_drp_process()
724 uwb_drp_process_not_involved(rc, drp_evt, drp_ie); in uwb_drp_process()