Lines Matching refs:attach
53 struct dma_buf_attachment *attach; member
1562 struct dma_buf_attachment *attach = priv->attach; in iio_buffer_dmabuf_release() local
1564 struct dma_buf *dmabuf = attach->dmabuf; in iio_buffer_dmabuf_release()
1567 dma_buf_unmap_attachment(attach, priv->sgt, priv->dir); in iio_buffer_dmabuf_release()
1572 dma_buf_detach(attach->dmabuf, attach); in iio_buffer_dmabuf_release()
1577 static void iio_buffer_dmabuf_get(struct dma_buf_attachment *attach) in iio_buffer_dmabuf_get() argument
1579 struct iio_dmabuf_priv *priv = attach->importer_priv; in iio_buffer_dmabuf_get()
1584 static void iio_buffer_dmabuf_put(struct dma_buf_attachment *attach) in iio_buffer_dmabuf_put() argument
1586 struct iio_dmabuf_priv *priv = attach->importer_priv; in iio_buffer_dmabuf_put()
1605 iio_buffer_dmabuf_put(priv->attach); in iio_buffer_chrdev_release()
1632 struct dma_buf_attachment *attach = NULL; in iio_buffer_find_attachment() local
1638 if (priv->attach->dev == dev in iio_buffer_find_attachment()
1639 && priv->attach->dmabuf == dmabuf) { in iio_buffer_find_attachment()
1640 attach = priv->attach; in iio_buffer_find_attachment()
1645 if (attach) in iio_buffer_find_attachment()
1646 iio_buffer_dmabuf_get(attach); in iio_buffer_find_attachment()
1648 return attach ?: ERR_PTR(-EPERM); in iio_buffer_find_attachment()
1656 struct dma_buf_attachment *attach; in iio_buffer_attach_dmabuf() local
1682 attach = dma_buf_attach(dmabuf, indio_dev->dev.parent); in iio_buffer_attach_dmabuf()
1683 if (IS_ERR(attach)) { in iio_buffer_attach_dmabuf()
1684 err = PTR_ERR(attach); in iio_buffer_attach_dmabuf()
1695 priv->sgt = dma_buf_map_attachment(attach, priv->dir); in iio_buffer_attach_dmabuf()
1704 priv->attach = attach; in iio_buffer_attach_dmabuf()
1705 attach->importer_priv = priv; in iio_buffer_attach_dmabuf()
1707 priv->block = buffer->access->attach_dmabuf(buffer, attach); in iio_buffer_attach_dmabuf()
1722 if (each->attach->dev == indio_dev->dev.parent in iio_buffer_attach_dmabuf()
1723 && each->attach->dmabuf == dmabuf) { in iio_buffer_attach_dmabuf()
1731 iio_buffer_dmabuf_put(attach); in iio_buffer_attach_dmabuf()
1743 dma_buf_unmap_attachment(attach, priv->sgt, priv->dir); in iio_buffer_attach_dmabuf()
1747 dma_buf_detach(dmabuf, attach); in iio_buffer_attach_dmabuf()
1775 if (priv->attach->dev == indio_dev->dev.parent in iio_buffer_detach_dmabuf()
1776 && priv->attach->dmabuf == dmabuf) { in iio_buffer_detach_dmabuf()
1780 iio_buffer_dmabuf_put(priv->attach); in iio_buffer_detach_dmabuf()
1817 struct dma_buf_attachment *attach; in iio_buffer_enqueue_dmabuf() local
1848 attach = iio_buffer_find_attachment(ib, dmabuf, nonblock); in iio_buffer_enqueue_dmabuf()
1849 if (IS_ERR(attach)) { in iio_buffer_enqueue_dmabuf()
1850 ret = PTR_ERR(attach); in iio_buffer_enqueue_dmabuf()
1854 priv = attach->importer_priv; in iio_buffer_enqueue_dmabuf()
1932 iio_buffer_dmabuf_put(attach); in iio_buffer_enqueue_dmabuf()
1944 struct dma_buf_attachment *attach = priv->attach; in iio_buffer_cleanup() local
1947 iio_buffer_dmabuf_put(attach); in iio_buffer_cleanup()