Lines Matching refs:attach
424 struct dma_buf_attachment *attach; in dma_buf_attach() local
430 attach = kzalloc(sizeof(struct dma_buf_attachment), GFP_KERNEL); in dma_buf_attach()
431 if (attach == NULL) in dma_buf_attach()
434 attach->dev = dev; in dma_buf_attach()
435 attach->dmabuf = dmabuf; in dma_buf_attach()
439 if (dmabuf->ops->attach) { in dma_buf_attach()
440 ret = dmabuf->ops->attach(dmabuf, dev, attach); in dma_buf_attach()
444 list_add(&attach->node, &dmabuf->attachments); in dma_buf_attach()
447 return attach; in dma_buf_attach()
450 kfree(attach); in dma_buf_attach()
463 void dma_buf_detach(struct dma_buf *dmabuf, struct dma_buf_attachment *attach) in dma_buf_detach() argument
465 if (WARN_ON(!dmabuf || !attach)) in dma_buf_detach()
469 list_del(&attach->node); in dma_buf_detach()
471 dmabuf->ops->detach(dmabuf, attach); in dma_buf_detach()
474 kfree(attach); in dma_buf_detach()
488 struct sg_table *dma_buf_map_attachment(struct dma_buf_attachment *attach, in dma_buf_map_attachment() argument
495 if (WARN_ON(!attach || !attach->dmabuf)) in dma_buf_map_attachment()
498 sg_table = attach->dmabuf->ops->map_dma_buf(attach, direction); in dma_buf_map_attachment()
515 void dma_buf_unmap_attachment(struct dma_buf_attachment *attach, in dma_buf_unmap_attachment() argument
521 if (WARN_ON(!attach || !attach->dmabuf || !sg_table)) in dma_buf_unmap_attachment()
524 attach->dmabuf->ops->unmap_dma_buf(attach, sg_table, in dma_buf_unmap_attachment()