memory.c (6071e21325426f7930a4fd98b37f39cd332f50ed) memory.c (d43bce6e762f25b25685487630510452feaf7362)
1// SPDX-License-Identifier: GPL-2.0
2
3/*
4 * Copyright 2016-2022 HabanaLabs, Ltd.
5 * All Rights Reserved.
6 */
7
8#include <uapi/drm/habanalabs_accel.h>

--- 1819 unchanged lines hidden (view full) ---

1828 if (!hl_dmabuf)
1829 return;
1830
1831 ctx = hl_dmabuf->ctx;
1832
1833 if (hl_dmabuf->memhash_hnode)
1834 memhash_node_export_put(ctx, hl_dmabuf->memhash_hnode);
1835
1// SPDX-License-Identifier: GPL-2.0
2
3/*
4 * Copyright 2016-2022 HabanaLabs, Ltd.
5 * All Rights Reserved.
6 */
7
8#include <uapi/drm/habanalabs_accel.h>

--- 1819 unchanged lines hidden (view full) ---

1828 if (!hl_dmabuf)
1829 return;
1830
1831 ctx = hl_dmabuf->ctx;
1832
1833 if (hl_dmabuf->memhash_hnode)
1834 memhash_node_export_put(ctx, hl_dmabuf->memhash_hnode);
1835
1836 atomic_dec(&ctx->hdev->dmabuf_export_cnt);
1836 hl_ctx_put(ctx);
1837 kfree(hl_dmabuf);
1838}
1839
1840static const struct dma_buf_ops habanalabs_dmabuf_ops = {
1841 .attach = hl_dmabuf_attach,
1842 .map_dma_buf = hl_map_dmabuf,
1843 .unmap_dma_buf = hl_unmap_dmabuf,

--- 23 unchanged lines hidden (view full) ---

1867 if (fd < 0) {
1868 dev_err(hdev->dev, "failed to get a file descriptor for a dma-buf, %d\n", fd);
1869 rc = fd;
1870 goto err_dma_buf_put;
1871 }
1872
1873 hl_dmabuf->ctx = ctx;
1874 hl_ctx_get(hl_dmabuf->ctx);
1837 hl_ctx_put(ctx);
1838 kfree(hl_dmabuf);
1839}
1840
1841static const struct dma_buf_ops habanalabs_dmabuf_ops = {
1842 .attach = hl_dmabuf_attach,
1843 .map_dma_buf = hl_map_dmabuf,
1844 .unmap_dma_buf = hl_unmap_dmabuf,

--- 23 unchanged lines hidden (view full) ---

1868 if (fd < 0) {
1869 dev_err(hdev->dev, "failed to get a file descriptor for a dma-buf, %d\n", fd);
1870 rc = fd;
1871 goto err_dma_buf_put;
1872 }
1873
1874 hl_dmabuf->ctx = ctx;
1875 hl_ctx_get(hl_dmabuf->ctx);
1876 atomic_inc(&ctx->hdev->dmabuf_export_cnt);
1875
1876 *dmabuf_fd = fd;
1877
1878 return 0;
1879
1880err_dma_buf_put:
1881 hl_dmabuf->dmabuf->priv = NULL;
1882 dma_buf_put(hl_dmabuf->dmabuf);

--- 1118 unchanged lines hidden ---
1877
1878 *dmabuf_fd = fd;
1879
1880 return 0;
1881
1882err_dma_buf_put:
1883 hl_dmabuf->dmabuf->priv = NULL;
1884 dma_buf_put(hl_dmabuf->dmabuf);

--- 1118 unchanged lines hidden ---