Lines Matching defs:buf
88 char buf[];
103 static int viommu_get_req_errno(void *buf, size_t len)
105 struct virtio_iommu_req_tail *tail = buf + len - sizeof(*tail);
129 static void viommu_set_req_status(void *buf, size_t len, int status)
131 struct virtio_iommu_req_tail *tail = buf + len - sizeof(*tail);
172 viommu_set_req_status(req->buf, req->len,
177 memcpy(req->writeback, req->buf + req->write_offset,
203 * @buf: pointer to the request buffer
211 * status, is copied into @buf after the request completes. This is unsafe if
212 * the caller allocates @buf on stack and drops the lock between add_req() and
217 static int __viommu_add_req(struct viommu_dev *viommu, void *buf, size_t len,
229 write_offset = viommu_get_write_desc_offset(viommu, buf, len);
239 req->writeback = buf + write_offset;
242 memcpy(&req->buf, buf, write_offset);
244 sg_init_one(&top_sg, req->buf, write_offset);
245 sg_init_one(&bottom_sg, req->buf + write_offset, len - write_offset);
264 static int viommu_add_req(struct viommu_dev *viommu, void *buf, size_t len)
270 ret = __viommu_add_req(viommu, buf, len, false);
282 static int viommu_send_req_sync(struct viommu_dev *viommu, void *buf,
290 ret = __viommu_add_req(viommu, buf, len, true);
302 ret = viommu_get_req_errno(buf, len);