Lines Matching refs:drp_ie
92 if (rsv->drp_ie != NULL) {
93 num_bytes += rsv->drp_ie->hdr.length + 2;
116 if (rsv->drp_ie != NULL) {
117 memcpy(IEDataptr, rsv->drp_ie,
118 rsv->drp_ie->hdr.length + 2);
119 IEDataptr += rsv->drp_ie->hdr.length + 2;
225 static void handle_conflict_normal(struct uwb_ie_drp *drp_ie,
235 action = evaluate_conflict_action(drp_ie, ext_beacon_slot, rsv, uwb_rsv_status(rsv));
268 static void handle_conflict_expanding(struct uwb_ie_drp *drp_ie, int ext_beacon_slot,
279 action = evaluate_conflict_action(drp_ie, ext_beacon_slot, rsv, 0);
318 struct uwb_ie_drp *drp_ie,
327 handle_conflict_expanding(drp_ie, drp_evt->beacon_slot_number,
331 handle_conflict_expanding(drp_ie, drp_evt->beacon_slot_number,
336 handle_conflict_normal(drp_ie, drp_evt->beacon_slot_number, rsv, conflicting_mas);
342 struct uwb_ie_drp *drp_ie,
348 uwb_drp_handle_conflict_rsv(rc, rsv, drp_evt, drp_ie, conflicting_mas);
357 struct uwb_ie_drp *drp_ie, struct uwb_rc_evt_drp *drp_evt)
365 status = uwb_ie_drp_status(drp_ie);
366 reason_code = uwb_ie_drp_reason_code(drp_ie);
367 uwb_drp_ie_to_bm(&mas, drp_ie);
378 /* drp_ie is companion */
385 uwb_drp_handle_all_conflict_rsv(rc, drp_evt, drp_ie, &mas);
428 struct uwb_dev *src, struct uwb_ie_drp *drp_ie,
437 status = uwb_ie_drp_status(drp_ie);
438 reason_code = uwb_ie_drp_reason_code(drp_ie);
439 uwb_drp_ie_to_bm(&mas, drp_ie);
499 uwb_drp_handle_conflict_rsv(rc, rsv, drp_evt, drp_ie, &mas);
552 static void uwb_drp_handle_alien_drp(struct uwb_rc *rc, struct uwb_ie_drp *drp_ie)
560 uwb_drp_ie_to_bm(&mas, drp_ie);
601 struct uwb_ie_drp *drp_ie)
605 uwb_drp_ie_to_bm(&mas, drp_ie);
606 uwb_drp_handle_all_conflict_rsv(rc, drp_evt, drp_ie, &mas);
611 struct uwb_ie_drp *drp_ie)
615 rsv = uwb_rsv_find(rc, src, drp_ie);
634 if (uwb_ie_drp_owner(drp_ie))
635 uwb_drp_process_target(rc, rsv, drp_ie, drp_evt);
637 uwb_drp_process_owner(rc, rsv, src, drp_ie, drp_evt);
642 static bool uwb_drp_involves_us(struct uwb_rc *rc, struct uwb_ie_drp *drp_ie)
644 return uwb_dev_addr_cmp(&rc->uwb_dev.dev_addr, &drp_ie->dev_addr) == 0;
651 struct uwb_dev *src, struct uwb_ie_drp *drp_ie)
653 if (uwb_ie_drp_type(drp_ie) == UWB_DRP_TYPE_ALIEN_BP)
654 uwb_drp_handle_alien_drp(rc, drp_ie);
655 else if (uwb_drp_involves_us(rc, drp_ie))
656 uwb_drp_process_involved(rc, src, drp_evt, drp_ie);
658 uwb_drp_process_not_involved(rc, drp_evt, drp_ie);