Displaying 20 results from an estimated 88 matches for "dma_buf_attach".
2018 Jan 11
0
[PATCH 2/5] drm/prime: Export more helpers for drivers
...- a/drivers/gpu/drm/drm_prime.c
+++ b/drivers/gpu/drm/drm_prime.c
@@ -180,9 +180,8 @@ static int drm_prime_lookup_buf_handle(struct drm_prime_file_private *prime_fpri
return -ENOENT;
}
-static int drm_gem_map_attach(struct dma_buf *dma_buf,
- struct device *target_dev,
- struct dma_buf_attachment *attach)
+int drm_gem_map_attach(struct dma_buf *dma_buf, struct device *target_dev,
+ struct dma_buf_attachment *attach)
{
struct drm_prime_attachment *prime_attach;
struct drm_gem_object *obj = dma_buf->priv;
@@ -200,9 +199,10 @@ static int drm_gem_map_attach(struct dma_buf *d...
2018 Jan 11
5
[PATCH 1/5] drm/prime: Remove duplicate forward declaration
From: Thierry Reding <treding at nvidia.com>
struct device is forward-declared twice. Remove the second instance.
Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
Signed-off-by: Thierry Reding <treding at nvidia.com>
---
include/drm/drm_prime.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/include/drm/drm_prime.h b/include/drm/drm_prime.h
index
2019 Sep 17
0
[RFC PATCH] drm/virtio: Export resource handles via DMA-buf API
...ly on its own would have
> code similar to following. The code is identical to what a regular
> driver for real hardware would do to import a DMA-buf.
>
> static int virtio_foo_get_resource_handle(struct virtio_foo *foo,
> struct dma_buf *dma_buf, u32 *id)
> {
> struct dma_buf_attachment *attach;
> struct sg_table *sgt;
> int ret = 0;
>
> attach = dma_buf_attach(dma_buf, foo->dev);
> if (IS_ERR(attach))
> return PTR_ERR(attach);
>
> sgt = dma_buf_map_attachment(attach, DMA_BIDIRECTIONAL);
> if (IS_ERR(sgt)) {
> ret = PTR_ERR(sgt);
&g...
2020 Jun 04
2
[PATCH v4 1/3] virtio: add dma-buf support for exported objects
...object's UUID.
> + */
> +struct dma_buf *virtio_dma_buf_export(
> + const struct virtio_dma_buf_export_info *virtio_exp_info)
> +{
> + struct dma_buf_export_info exp_info;
> +
> + if (!virtio_exp_info->ops
> + || virtio_exp_info->ops->ops.attach != &virtio_dma_buf_attach
> + || !virtio_exp_info->ops->get_uuid) {
> + return ERR_PTR(-EINVAL);
> + }
> +
> + exp_info.exp_name = virtio_exp_info->exp_name;
> + exp_info.owner = virtio_exp_info->owner;
> + exp_info.ops = &virtio_exp_info->ops->ops;
> + exp_info.size = virtio_...
2020 Jun 04
2
[PATCH v4 1/3] virtio: add dma-buf support for exported objects
...object's UUID.
> + */
> +struct dma_buf *virtio_dma_buf_export(
> + const struct virtio_dma_buf_export_info *virtio_exp_info)
> +{
> + struct dma_buf_export_info exp_info;
> +
> + if (!virtio_exp_info->ops
> + || virtio_exp_info->ops->ops.attach != &virtio_dma_buf_attach
> + || !virtio_exp_info->ops->get_uuid) {
> + return ERR_PTR(-EINVAL);
> + }
> +
> + exp_info.exp_name = virtio_exp_info->exp_name;
> + exp_info.owner = virtio_exp_info->owner;
> + exp_info.ops = &virtio_exp_info->ops->ops;
> + exp_info.size = virtio_...
2019 Oct 08
0
[RFC PATCH] drm/virtio: Export resource handles via DMA-buf API
...> > > driver for real hardware would do to import a DMA-buf.
> > >
> > > static int virtio_foo_get_resource_handle(struct virtio_foo *foo,
> > > struct dma_buf *dma_buf, u32 *id)
> > > {
> > > struct dma_buf_attachment *attach;
> > > struct sg_table *sgt;
> > > int ret = 0;
> > >
> > > attach = dma_buf_attach(dma_buf, foo->dev);
> > > if (IS_ERR(attach))
> > > return PTR_ERR(attach);
> > >
> > >...
2019 Oct 08
0
[RFC PATCH] drm/virtio: Export resource handles via DMA-buf API
...o import a DMA-buf.
> > > > >
> > > > > static int virtio_foo_get_resource_handle(struct virtio_foo *foo,
> > > > > struct dma_buf *dma_buf, u32 *id)
> > > > > {
> > > > > struct dma_buf_attachment *attach;
> > > > > struct sg_table *sgt;
> > > > > int ret = 0;
> > > > >
> > > > > attach = dma_buf_attach(dma_buf, foo->dev);
> > > > > if (IS_ERR(attach))
> > > > >...
2019 Oct 16
0
[RFC PATCH] drm/virtio: Export resource handles via DMA-buf API
...>
> > > > > > > static int virtio_foo_get_resource_handle(struct virtio_foo *foo,
> > > > > > > struct dma_buf *dma_buf, u32 *id)
> > > > > > > {
> > > > > > > struct dma_buf_attachment *attach;
> > > > > > > struct sg_table *sgt;
> > > > > > > int ret = 0;
> > > > > > >
> > > > > > > attach = dma_buf_attach(dma_buf, foo->dev);
> > > > > > > if (I...
2020 Sep 10
0
[PATCH v7 1/3] virtio: add dma-buf support for exported objects
...t
> + (const struct dma_buf_export_info *exp_info)
> +{
> + const struct virtio_dma_buf_ops *virtio_ops =
> + container_of(exp_info->ops,
> + const struct virtio_dma_buf_ops, ops);
> +
> + if (!exp_info->ops ||
> + exp_info->ops->attach != &virtio_dma_buf_attach ||
> + !virtio_ops->get_uuid) {
> + return ERR_PTR(-EINVAL);
> + }
> +
> + return dma_buf_export(exp_info);
> +}
> +EXPORT_SYMBOL(virtio_dma_buf_export);
> +
> +/**
> + * virtio_dma_buf_attach - mandatory attach callback for virtio dma-bufs
> + */
> +int...
2015 Sep 21
2
[PATCH v2 5/6] virtio-gpu: add basic prime support
...me.c */
+int virtgpu_gem_prime_pin(struct drm_gem_object *obj);
+void virtgpu_gem_prime_unpin(struct drm_gem_object *obj);
+struct sg_table *virtgpu_gem_prime_get_sg_table(struct drm_gem_object *obj);
+struct drm_gem_object *virtgpu_gem_prime_import_sg_table(
+ struct drm_device *dev, struct dma_buf_attachment *attach,
+ struct sg_table *sgt);
+void *virtgpu_gem_prime_vmap(struct drm_gem_object *obj);
+void virtgpu_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr);
+int virtgpu_gem_prime_mmap(struct drm_gem_object *obj,
+ struct vm_area_struct *vma);
+
s...
2015 Sep 21
2
[PATCH v2 5/6] virtio-gpu: add basic prime support
...me.c */
+int virtgpu_gem_prime_pin(struct drm_gem_object *obj);
+void virtgpu_gem_prime_unpin(struct drm_gem_object *obj);
+struct sg_table *virtgpu_gem_prime_get_sg_table(struct drm_gem_object *obj);
+struct drm_gem_object *virtgpu_gem_prime_import_sg_table(
+ struct drm_device *dev, struct dma_buf_attachment *attach,
+ struct sg_table *sgt);
+void *virtgpu_gem_prime_vmap(struct drm_gem_object *obj);
+void virtgpu_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr);
+int virtgpu_gem_prime_mmap(struct drm_gem_object *obj,
+ struct vm_area_struct *vma);
+
s...
2019 Apr 26
3
[PATCH] Revert "drm/qxl: drop prime import/export callbacks"
...rime.c
@@ -42,6 +42,18 @@ void qxl_gem_prime_unpin(struct drm_gem_object *obj)
qxl_bo_unpin(bo);
}
+struct sg_table *qxl_gem_prime_get_sg_table(struct drm_gem_object *obj)
+{
+ return ERR_PTR(-ENOSYS);
+}
+
+struct drm_gem_object *qxl_gem_prime_import_sg_table(
+ struct drm_device *dev, struct dma_buf_attachment *attach,
+ struct sg_table *table)
+{
+ return ERR_PTR(-ENOSYS);
+}
+
void *qxl_gem_prime_vmap(struct drm_gem_object *obj)
{
struct qxl_bo *bo = gem_to_qxl_bo(obj);
--
2.18.1
2019 Apr 26
3
[PATCH] Revert "drm/qxl: drop prime import/export callbacks"
...rime.c
@@ -42,6 +42,18 @@ void qxl_gem_prime_unpin(struct drm_gem_object *obj)
qxl_bo_unpin(bo);
}
+struct sg_table *qxl_gem_prime_get_sg_table(struct drm_gem_object *obj)
+{
+ return ERR_PTR(-ENOSYS);
+}
+
+struct drm_gem_object *qxl_gem_prime_import_sg_table(
+ struct drm_device *dev, struct dma_buf_attachment *attach,
+ struct sg_table *table)
+{
+ return ERR_PTR(-ENOSYS);
+}
+
void *qxl_gem_prime_vmap(struct drm_gem_object *obj)
{
struct qxl_bo *bo = gem_to_qxl_bo(obj);
--
2.18.1
2020 Jun 19
0
[PATCH v4 1/3] virtio: add dma-buf support for exported objects
...struct virtio_dma_buf_export_info *virtio_exp_info)
> > > > +{
> > > > + struct dma_buf_export_info exp_info;
> > > > +
> > > > + if (!virtio_exp_info->ops
> > > > + || virtio_exp_info->ops->ops.attach != &virtio_dma_buf_attach
> > > > + || !virtio_exp_info->ops->get_uuid) {
> > > > + return ERR_PTR(-EINVAL);
> > > > + }
> > > > +
> > > > + exp_info.exp_name = virtio_exp_info->exp_name;
> > > > + exp_info.owner = vir...
2019 May 07
0
[PATCH AUTOSEL 5.0 85/99] Revert "drm/virtio: drop prime import/export callbacks"
...gpu_prime.c */
int virtgpu_gem_prime_pin(struct drm_gem_object *obj);
void virtgpu_gem_prime_unpin(struct drm_gem_object *obj);
+struct sg_table *virtgpu_gem_prime_get_sg_table(struct drm_gem_object *obj);
+struct drm_gem_object *virtgpu_gem_prime_import_sg_table(
+ struct drm_device *dev, struct dma_buf_attachment *attach,
+ struct sg_table *sgt);
void *virtgpu_gem_prime_vmap(struct drm_gem_object *obj);
void virtgpu_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr);
int virtgpu_gem_prime_mmap(struct drm_gem_object *obj,
diff --git a/drivers/gpu/drm/virtio/virtgpu_prime.c b/drivers/gpu/drm/vir...
2020 Aug 13
1
[PATCH 20/20] drm: Remove obsolete GEM and PRIME callbacks from struct drm_driver
...drm_driver.gem_prime_export driver callback.
> + * &drm_gem_object_funcs.export callback.
> */
> int drm_gem_prime_handle_to_fd(struct drm_device *dev,
> struct drm_file *file_priv, uint32_t handle,
> @@ -616,15 +612,18 @@ struct sg_table *drm_gem_map_dma_buf(struct dma_buf_attachment *attach,
> enum dma_data_direction dir)
> {
> struct drm_gem_object *obj = attach->dmabuf->priv;
> - struct sg_table *sgt;
> + struct sg_table *sgt = NULL;
>
> if (WARN_ON(dir == DMA_NONE))
> return ERR_PTR(-EINVAL);
>
> - if (obj->fu...
2018 Dec 19
0
[PATCH 11/14] drm/bochs: add basic prime support
...ochs_bo *bo);
+int bochs_gem_prime_pin(struct drm_gem_object *obj);
+void bochs_gem_prime_unpin(struct drm_gem_object *obj);
+struct sg_table *bochs_gem_prime_get_sg_table(struct drm_gem_object *obj);
+struct drm_gem_object *bochs_gem_prime_import_sg_table(
+ struct drm_device *dev, struct dma_buf_attachment *attach,
+ struct sg_table *sgt);
+void *bochs_gem_prime_vmap(struct drm_gem_object *obj);
+void bochs_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr);
+int bochs_gem_prime_mmap(struct drm_gem_object *obj,
+ struct vm_area_struct *vma);
+
/* bochs_kms.c */
int bochs_kms_in...
2019 Apr 26
1
[PATCH] Revert "drm/qxl: drop prime import/export callbacks"
...n(bo);
>> }
>>
>> +struct sg_table *qxl_gem_prime_get_sg_table(struct drm_gem_object *obj)
>> +{
>> + return ERR_PTR(-ENOSYS);
>> +}
>> +
>> +struct drm_gem_object *qxl_gem_prime_import_sg_table(
>> + struct drm_device *dev, struct dma_buf_attachment *attach,
>> + struct sg_table *table)
>> +{
>> + return ERR_PTR(-ENOSYS);
>> +}
>> +
>> void *qxl_gem_prime_vmap(struct drm_gem_object *obj)
>> {
>> struct qxl_bo *bo = gem_to_qxl_bo(obj);
>> --
>> 2.18.1
>&...
2019 Apr 26
1
[PATCH] Revert "drm/qxl: drop prime import/export callbacks"
...n(bo);
>> }
>>
>> +struct sg_table *qxl_gem_prime_get_sg_table(struct drm_gem_object *obj)
>> +{
>> + return ERR_PTR(-ENOSYS);
>> +}
>> +
>> +struct drm_gem_object *qxl_gem_prime_import_sg_table(
>> + struct drm_device *dev, struct dma_buf_attachment *attach,
>> + struct sg_table *table)
>> +{
>> + return ERR_PTR(-ENOSYS);
>> +}
>> +
>> void *qxl_gem_prime_vmap(struct drm_gem_object *obj)
>> {
>> struct qxl_bo *bo = gem_to_qxl_bo(obj);
>> --
>> 2.18.1
>&...
2015 Sep 09
0
[PATCH 4/5] virtio_gpu: add basic prime support
...me.c */
+int virtgpu_gem_prime_pin(struct drm_gem_object *obj);
+void virtgpu_gem_prime_unpin(struct drm_gem_object *obj);
+struct sg_table *virtgpu_gem_prime_get_sg_table(struct drm_gem_object *obj);
+struct drm_gem_object *virtgpu_gem_prime_import_sg_table(
+ struct drm_device *dev, struct dma_buf_attachment *attach,
+ struct sg_table *sgt);
+void *virtgpu_gem_prime_vmap(struct drm_gem_object *obj);
+void virtgpu_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr);
+int virtgpu_gem_prime_mmap(struct drm_gem_object *obj,
+ struct vm_area_struct *vma);
+
s...