• Home
  • Raw
  • Download

Lines Matching refs:ctrl

17 void amp_ctrl_get(struct amp_ctrl *ctrl)  in amp_ctrl_get()  argument
19 BT_DBG("ctrl %p orig refcnt %d", ctrl, in amp_ctrl_get()
20 kref_read(&ctrl->kref)); in amp_ctrl_get()
22 kref_get(&ctrl->kref); in amp_ctrl_get()
27 struct amp_ctrl *ctrl = container_of(kref, struct amp_ctrl, kref); in amp_ctrl_destroy() local
29 BT_DBG("ctrl %p", ctrl); in amp_ctrl_destroy()
31 kfree(ctrl->assoc); in amp_ctrl_destroy()
32 kfree(ctrl); in amp_ctrl_destroy()
35 int amp_ctrl_put(struct amp_ctrl *ctrl) in amp_ctrl_put() argument
37 BT_DBG("ctrl %p orig refcnt %d", ctrl, in amp_ctrl_put()
38 kref_read(&ctrl->kref)); in amp_ctrl_put()
40 return kref_put(&ctrl->kref, &amp_ctrl_destroy); in amp_ctrl_put()
45 struct amp_ctrl *ctrl; in amp_ctrl_add() local
47 ctrl = kzalloc(sizeof(*ctrl), GFP_KERNEL); in amp_ctrl_add()
48 if (!ctrl) in amp_ctrl_add()
51 kref_init(&ctrl->kref); in amp_ctrl_add()
52 ctrl->id = id; in amp_ctrl_add()
55 list_add(&ctrl->list, &mgr->amp_ctrls); in amp_ctrl_add()
58 BT_DBG("mgr %p ctrl %p", mgr, ctrl); in amp_ctrl_add()
60 return ctrl; in amp_ctrl_add()
65 struct amp_ctrl *ctrl, *n; in amp_ctrl_list_flush() local
70 list_for_each_entry_safe(ctrl, n, &mgr->amp_ctrls, list) { in amp_ctrl_list_flush()
71 list_del(&ctrl->list); in amp_ctrl_list_flush()
72 amp_ctrl_put(ctrl); in amp_ctrl_list_flush()
79 struct amp_ctrl *ctrl; in amp_ctrl_lookup() local
84 list_for_each_entry(ctrl, &mgr->amp_ctrls, list) { in amp_ctrl_lookup()
85 if (ctrl->id == id) { in amp_ctrl_lookup()
86 amp_ctrl_get(ctrl); in amp_ctrl_lookup()
88 return ctrl; in amp_ctrl_lookup()
334 struct amp_ctrl *ctrl; in amp_write_rem_assoc_frag() local
338 ctrl = amp_ctrl_lookup(mgr, hcon->remote_id); in amp_write_rem_assoc_frag()
339 if (!ctrl) in amp_write_rem_assoc_frag()
342 if (!ctrl->assoc_rem_len) { in amp_write_rem_assoc_frag()
344 ctrl->assoc_rem_len = ctrl->assoc_len; in amp_write_rem_assoc_frag()
345 ctrl->assoc_len_so_far = 0; in amp_write_rem_assoc_frag()
347 amp_ctrl_put(ctrl); in amp_write_rem_assoc_frag()
351 frag_len = min_t(u16, 248, ctrl->assoc_rem_len); in amp_write_rem_assoc_frag()
356 amp_ctrl_put(ctrl); in amp_write_rem_assoc_frag()
361 hcon, ctrl, frag_len, ctrl->assoc_len, ctrl->assoc_rem_len); in amp_write_rem_assoc_frag()
364 cp->len_so_far = cpu_to_le16(ctrl->assoc_len_so_far); in amp_write_rem_assoc_frag()
365 cp->rem_len = cpu_to_le16(ctrl->assoc_rem_len); in amp_write_rem_assoc_frag()
366 memcpy(cp->frag, ctrl->assoc, frag_len); in amp_write_rem_assoc_frag()
368 ctrl->assoc_len_so_far += frag_len; in amp_write_rem_assoc_frag()
369 ctrl->assoc_rem_len -= frag_len; in amp_write_rem_assoc_frag()
371 amp_ctrl_put(ctrl); in amp_write_rem_assoc_frag()