Lines Matching refs:drp_ie
126 struct uwb_ie_drp *drp_ie;
128 drp_ie = kzalloc(sizeof(struct uwb_ie_drp) +
131 if (drp_ie) {
132 drp_ie->hdr.element_id = UWB_IE_DRP;
134 return drp_ie;
141 static void uwb_drp_ie_from_bm(struct uwb_ie_drp *drp_ie,
150 zones = drp_ie->allocs;
179 drp_ie->allocs[i].zone_bm = cpu_to_le16(zones[i].zone_bm);
180 drp_ie->allocs[i].mas_bm = cpu_to_le16(zones[i].mas_bm);
183 drp_ie->hdr.length = sizeof(struct uwb_ie_drp) - sizeof(struct uwb_ie_hdr)
193 struct uwb_ie_drp *drp_ie;
198 kfree(rsv->drp_ie);
199 rsv->drp_ie = NULL;
205 if (rsv->drp_ie == NULL) {
206 rsv->drp_ie = uwb_drp_ie_alloc();
207 if (rsv->drp_ie == NULL)
210 drp_ie = rsv->drp_ie;
212 uwb_ie_drp_set_unsafe(drp_ie, unsafe);
213 uwb_ie_drp_set_tiebreaker(drp_ie, rsv->tiebreaker);
214 uwb_ie_drp_set_owner(drp_ie, uwb_rsv_is_owner(rsv));
215 uwb_ie_drp_set_status(drp_ie, uwb_rsv_status(rsv));
216 uwb_ie_drp_set_reason_code(drp_ie, uwb_rsv_reason_code(rsv));
217 uwb_ie_drp_set_stream_index(drp_ie, rsv->stream);
218 uwb_ie_drp_set_type(drp_ie, rsv->type);
223 drp_ie->dev_addr = rsv->target.dev->dev_addr;
226 drp_ie->dev_addr = rsv->target.devaddr;
230 drp_ie->dev_addr = rsv->owner->dev_addr;
232 uwb_drp_ie_from_bm(drp_ie, &rsv->mas);
241 drp_ie = mv->companion_drp_ie;
243 /* keep all the same configuration of the main drp_ie */
244 memcpy(drp_ie, rsv->drp_ie, sizeof(struct uwb_ie_drp));
247 uwb_ie_drp_set_unsafe(drp_ie, 1);
248 uwb_ie_drp_set_status(drp_ie, uwb_rsv_companion_status(rsv));
249 uwb_ie_drp_set_reason_code(drp_ie, uwb_rsv_companion_reason_code(rsv));
251 uwb_drp_ie_from_bm(drp_ie, &mv->companion_mas);
284 * @drp_ie: the DRP IE that contains the allocation fields.
295 void uwb_drp_ie_to_bm(struct uwb_mas_bm *bm, const struct uwb_ie_drp *drp_ie)
297 int numallocs = (drp_ie->hdr.length - 4) / 4;
307 alloc = &drp_ie->allocs[cnt];