• Home
  • Raw
  • Download

Lines Matching refs:ctrl

23 void amp_ctrl_get(struct amp_ctrl *ctrl)  in amp_ctrl_get()  argument
25 BT_DBG("ctrl %p orig refcnt %d", ctrl, in amp_ctrl_get()
26 atomic_read(&ctrl->kref.refcount)); in amp_ctrl_get()
28 kref_get(&ctrl->kref); in amp_ctrl_get()
33 struct amp_ctrl *ctrl = container_of(kref, struct amp_ctrl, kref); in amp_ctrl_destroy() local
35 BT_DBG("ctrl %p", ctrl); in amp_ctrl_destroy()
37 kfree(ctrl->assoc); in amp_ctrl_destroy()
38 kfree(ctrl); in amp_ctrl_destroy()
41 int amp_ctrl_put(struct amp_ctrl *ctrl) in amp_ctrl_put() argument
43 BT_DBG("ctrl %p orig refcnt %d", ctrl, in amp_ctrl_put()
44 atomic_read(&ctrl->kref.refcount)); in amp_ctrl_put()
46 return kref_put(&ctrl->kref, &amp_ctrl_destroy); in amp_ctrl_put()
51 struct amp_ctrl *ctrl; in amp_ctrl_add() local
53 ctrl = kzalloc(sizeof(*ctrl), GFP_KERNEL); in amp_ctrl_add()
54 if (!ctrl) in amp_ctrl_add()
57 kref_init(&ctrl->kref); in amp_ctrl_add()
58 ctrl->id = id; in amp_ctrl_add()
61 list_add(&ctrl->list, &mgr->amp_ctrls); in amp_ctrl_add()
64 BT_DBG("mgr %p ctrl %p", mgr, ctrl); in amp_ctrl_add()
66 return ctrl; in amp_ctrl_add()
71 struct amp_ctrl *ctrl, *n; in amp_ctrl_list_flush() local
76 list_for_each_entry_safe(ctrl, n, &mgr->amp_ctrls, list) { in amp_ctrl_list_flush()
77 list_del(&ctrl->list); in amp_ctrl_list_flush()
78 amp_ctrl_put(ctrl); in amp_ctrl_list_flush()
85 struct amp_ctrl *ctrl; in amp_ctrl_lookup() local
90 list_for_each_entry(ctrl, &mgr->amp_ctrls, list) { in amp_ctrl_lookup()
91 if (ctrl->id == id) { in amp_ctrl_lookup()
92 amp_ctrl_get(ctrl); in amp_ctrl_lookup()
94 return ctrl; in amp_ctrl_lookup()
265 struct amp_ctrl *ctrl; in amp_write_rem_assoc_frag() local
268 ctrl = amp_ctrl_lookup(mgr, hcon->remote_id); in amp_write_rem_assoc_frag()
269 if (!ctrl) in amp_write_rem_assoc_frag()
272 if (!ctrl->assoc_rem_len) { in amp_write_rem_assoc_frag()
274 ctrl->assoc_rem_len = ctrl->assoc_len; in amp_write_rem_assoc_frag()
275 ctrl->assoc_len_so_far = 0; in amp_write_rem_assoc_frag()
277 amp_ctrl_put(ctrl); in amp_write_rem_assoc_frag()
281 frag_len = min_t(u16, 248, ctrl->assoc_rem_len); in amp_write_rem_assoc_frag()
286 amp_ctrl_put(ctrl); in amp_write_rem_assoc_frag()
291 hcon, ctrl, frag_len, ctrl->assoc_len, ctrl->assoc_rem_len); in amp_write_rem_assoc_frag()
294 cp->len_so_far = cpu_to_le16(ctrl->assoc_len_so_far); in amp_write_rem_assoc_frag()
295 cp->rem_len = cpu_to_le16(ctrl->assoc_rem_len); in amp_write_rem_assoc_frag()
296 memcpy(cp->frag, ctrl->assoc, frag_len); in amp_write_rem_assoc_frag()
298 ctrl->assoc_len_so_far += frag_len; in amp_write_rem_assoc_frag()
299 ctrl->assoc_rem_len -= frag_len; in amp_write_rem_assoc_frag()
301 amp_ctrl_put(ctrl); in amp_write_rem_assoc_frag()