Lines Matching defs:wrappers

252 	struct wrapper_list *wrappers = msg;
256 list_for_each_entry(w, &wrappers->list, list)
341 static struct wrapper_msg *add_wrapper(struct wrapper_list *wrappers, u32 size)
347 list_add_tail(&w->list, &wrappers->list);
349 w->head = wrappers;
353 static int encode_passthrough(struct qaic_device *qdev, void *trans, struct wrapper_list *wrappers,
363 wrapper = list_first_entry(&wrappers->list, struct wrapper_msg, list);
373 trans_wrapper = add_wrapper(wrappers,
480 static int encode_addr_size_pairs(struct dma_xfer *xfer, struct wrapper_list *wrappers,
508 trans_wrapper = add_wrapper(wrappers, QAIC_WRAPPER_MAX_SIZE);
528 w = add_wrapper(wrappers, QAIC_WRAPPER_MAX_SIZE);
560 static int encode_dma(struct qaic_device *qdev, void *trans, struct wrapper_list *wrappers,
573 wrapper = list_first_entry(&wrappers->list, struct wrapper_msg, list);
592 ret = encode_addr_size_pairs(xfer, wrappers, resources, msg_hdr_len, &size, &out_trans);
629 static int encode_activate(struct qaic_device *qdev, void *trans, struct wrapper_list *wrappers,
644 wrapper = list_first_entry(&wrappers->list, struct wrapper_msg, list);
671 trans_wrapper = add_wrapper(wrappers,
718 static int encode_status(struct qaic_device *qdev, void *trans, struct wrapper_list *wrappers,
728 wrapper = list_first_entry(&wrappers->list, struct wrapper_msg, list);
735 trans_wrapper = add_wrapper(wrappers, sizeof(*trans_wrapper));
752 struct wrapper_list *wrappers, struct ioctl_resources *resources,
768 wrapper = list_first_entry(&wrappers->list, struct wrapper_msg, list);
774 ret = encode_dma(qdev, resources->trans_hdr, wrappers, &user_len, resources, usr);
793 ret = encode_passthrough(qdev, trans_hdr, wrappers, &user_len);
796 ret = encode_dma(qdev, trans_hdr, wrappers, &user_len, resources, usr);
799 ret = encode_activate(qdev, trans_hdr, wrappers, &user_len, resources);
805 ret = encode_status(qdev, trans_hdr, wrappers, &user_len);
1015 static void *msg_xfer(struct qaic_device *qdev, struct wrapper_list *wrappers, u32 seq_num,
1031 list_for_each_entry(w, &wrappers->list, list)
1079 list_for_each_entry(w, &wrappers->list, list) {
1083 list_is_last(&w->list, &wrappers->list) ? MHI_EOT : MHI_CHAIN);
1125 static int abort_dma_cont(struct qaic_device *qdev, struct wrapper_list *wrappers, u32 dma_chunk_id)
1133 wrapper = list_first_entry(&wrappers->list, struct wrapper_msg, list);
1137 list_for_each_entry_safe(wrapper, w, &wrappers->list, list)
1138 if (!list_is_first(&wrapper->list, &wrappers->list))
1141 wrapper = add_wrapper(wrappers, offsetof(struct wrapper_msg, trans) + sizeof(*out_trans));
1162 struct wrapper_list *wrappers;
1164 wrappers = kmalloc(sizeof(*wrappers), GFP_KERNEL);
1165 if (!wrappers)
1167 INIT_LIST_HEAD(&wrappers->list);
1168 spin_lock_init(&wrappers->lock);
1170 return wrappers;
1177 struct wrapper_list *wrappers;
1184 wrappers = alloc_wrapper_list();
1185 if (!wrappers)
1188 wrapper = add_wrapper(wrappers, sizeof(*wrapper));
1190 kfree(wrappers);
1197 ret = encode_message(qdev, user_msg, wrappers, resources, usr);
1199 ret = abort_dma_cont(qdev, wrappers, resources->dma_chunk_id);
1219 msg->hdr.crc32 = cpu_to_le32(qdev->gen_crc(wrappers));
1222 *rsp = msg_xfer(qdev, wrappers, qdev->next_seq_num - 1, false);
1229 spin_lock(&wrappers->lock);
1230 list_for_each_entry_safe(wrapper, w, &wrappers->list, list)
1232 all_done = list_empty(&wrappers->list);
1233 spin_unlock(&wrappers->lock);
1235 kfree(wrappers);
1424 static void free_wrapper_from_list(struct wrapper_list *wrappers, struct wrapper_msg *wrapper)
1428 spin_lock(&wrappers->lock);
1430 all_done = list_empty(&wrappers->list);
1431 spin_unlock(&wrappers->lock);
1434 kfree(wrappers);
1500 struct wrapper_list *wrappers;
1505 wrappers = alloc_wrapper_list();
1506 if (!wrappers)
1509 wrapper = add_wrapper(wrappers, sizeof(*wrapper) + sizeof(*msg) + sizeof(*trans));
1529 msg->hdr.crc32 = cpu_to_le32(qdev->gen_crc(wrappers));
1539 rsp = msg_xfer(qdev, wrappers, qdev->next_seq_num - 1, true);
1542 free_wrapper_from_list(wrappers, wrapper);