Displaying 20 results from an estimated 44 matches for "dma_buf_map_clear".
2020 Oct 16
1
[PATCH v4 09/10] dma-buf-map: Add memcpy and pointer-increment interfaces
...se one
> * of the provided helper functions, or implement your own. For example,
> @@ -51,6 +59,14 @@
> *
> * dma_buf_map_set_vaddr_iomem(&map. 0xdeadbeaf);
> *
> + * Instances of struct dma_buf_map do not have to be cleaned up, but
> + * can be cleared to NULL with dma_buf_map_clear(). Cleared mappings
> + * always refer to system memory.
> + *
> + * .. code-block:: c
> + *
> + * dma_buf_map_clear(&map);
> + *
> * Test if a mapping is valid with either dma_buf_map_is_set() or
> * dma_buf_map_is_null().
> *
> @@ -73,17 +89,19 @@
> *...
2020 Oct 15
0
[PATCH v4 09/10] dma-buf-map: Add memcpy and pointer-increment interfaces
...en accessing its fields directly, use one
* of the provided helper functions, or implement your own. For example,
@@ -51,6 +59,14 @@
*
* dma_buf_map_set_vaddr_iomem(&map. 0xdeadbeaf);
*
+ * Instances of struct dma_buf_map do not have to be cleaned up, but
+ * can be cleared to NULL with dma_buf_map_clear(). Cleared mappings
+ * always refer to system memory.
+ *
+ * .. code-block:: c
+ *
+ * dma_buf_map_clear(&map);
+ *
* Test if a mapping is valid with either dma_buf_map_is_set() or
* dma_buf_map_is_null().
*
@@ -73,17 +89,19 @@
* if (dma_buf_map_is_equal(&sys_map, &io_map))...
2020 Oct 28
0
[PATCH v6 09/10] dma-buf-map: Add memcpy and pointer-increment interfaces
...en accessing its fields directly, use one
* of the provided helper functions, or implement your own. For example,
@@ -51,6 +60,14 @@
*
* dma_buf_map_set_vaddr_iomem(&map. 0xdeadbeaf);
*
+ * Instances of struct dma_buf_map do not have to be cleaned up, but
+ * can be cleared to NULL with dma_buf_map_clear(). Cleared mappings
+ * always refer to system memory.
+ *
+ * .. code-block:: c
+ *
+ * dma_buf_map_clear(&map);
+ *
* Test if a mapping is valid with either dma_buf_map_is_set() or
* dma_buf_map_is_null().
*
@@ -73,17 +90,19 @@
* if (dma_buf_map_is_equal(&sys_map, &io_map))...
2020 Oct 20
0
[PATCH v5 09/10] dma-buf-map: Add memcpy and pointer-increment interfaces
...en accessing its fields directly, use one
* of the provided helper functions, or implement your own. For example,
@@ -51,6 +60,14 @@
*
* dma_buf_map_set_vaddr_iomem(&map. 0xdeadbeaf);
*
+ * Instances of struct dma_buf_map do not have to be cleaned up, but
+ * can be cleared to NULL with dma_buf_map_clear(). Cleared mappings
+ * always refer to system memory.
+ *
+ * .. code-block:: c
+ *
+ * dma_buf_map_clear(&map);
+ *
* Test if a mapping is valid with either dma_buf_map_is_set() or
* dma_buf_map_is_null().
*
@@ -73,17 +90,19 @@
* if (dma_buf_map_is_equal(&sys_map, &io_map))...
2020 Oct 02
2
[PATCH v3 6/7] drm/fb_helper: Support framebuffers in I/O memory
...se one
> * of the provided helper functions, or implement your own. For example,
> @@ -51,6 +59,14 @@
> *
> * dma_buf_map_set_vaddr_iomem(&map. 0xdeadbeaf);
> *
> + * Instances of struct dma_buf_map do not have to be cleaned up, but
> + * can be cleared to NULL with dma_buf_map_clear(). Cleared mappings
> + * always refer to system memory.
> + *
> + * .. code-block:: c
> + *
> + * dma_buf_map_clear(&map);
> + *
> * Test if a mapping is valid with either dma_buf_map_is_set() or
> * dma_buf_map_is_null().
> *
> @@ -73,17 +89,19 @@
> *...
2020 Oct 08
1
[PATCH v3 6/7] drm/fb_helper: Support framebuffers in I/O memory
...or implement your own. For example,
>>> @@ -51,6 +59,14 @@
>>> *
>>> * dma_buf_map_set_vaddr_iomem(&map. 0xdeadbeaf);
>>> *
>>> + * Instances of struct dma_buf_map do not have to be cleaned up, but
>>> + * can be cleared to NULL with dma_buf_map_clear(). Cleared mappings
>>> + * always refer to system memory.
>>> + *
>>> + * .. code-block:: c
>>> + *
>>> + * dma_buf_map_clear(&map);
>>> + *
>>> * Test if a mapping is valid with either dma_buf_map_is_set() or
>>> *...
2020 Sep 29
0
[PATCH v3 6/7] drm/fb_helper: Support framebuffers in I/O memory
...en accessing its fields directly, use one
* of the provided helper functions, or implement your own. For example,
@@ -51,6 +59,14 @@
*
* dma_buf_map_set_vaddr_iomem(&map. 0xdeadbeaf);
*
+ * Instances of struct dma_buf_map do not have to be cleaned up, but
+ * can be cleared to NULL with dma_buf_map_clear(). Cleared mappings
+ * always refer to system memory.
+ *
+ * .. code-block:: c
+ *
+ * dma_buf_map_clear(&map);
+ *
* Test if a mapping is valid with either dma_buf_map_is_set() or
* dma_buf_map_is_null().
*
@@ -73,17 +89,19 @@
* if (dma_buf_map_is_equal(&sys_map, &io_map))...
2020 Oct 02
0
[PATCH v3 6/7] drm/fb_helper: Support framebuffers in I/O memory
...helper functions, or implement your own. For example,
> > @@ -51,6 +59,14 @@
> > *
> > * dma_buf_map_set_vaddr_iomem(&map. 0xdeadbeaf);
> > *
> > + * Instances of struct dma_buf_map do not have to be cleaned up, but
> > + * can be cleared to NULL with dma_buf_map_clear(). Cleared mappings
> > + * always refer to system memory.
> > + *
> > + * .. code-block:: c
> > + *
> > + * dma_buf_map_clear(&map);
> > + *
> > * Test if a mapping is valid with either dma_buf_map_is_set() or
> > * dma_buf_map_is_null().
&...
2020 Sep 29
3
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...ned mapping is initialized to NULL.
> + */
> +static inline void ttm_kmap_obj_to_dma_buf_map(struct ttm_bo_kmap_obj *kmap,
> + struct dma_buf_map *map)
> +{
> + bool is_iomem;
> + void *vaddr = ttm_kmap_obj_virtual(kmap, &is_iomem);
> +
> + if (!vaddr)
> + dma_buf_map_clear(map);
> + else if (is_iomem)
> + dma_buf_map_set_vaddr_iomem(map, (void __force __iomem *)vaddr);
> + else
> + dma_buf_map_set_vaddr(map, vaddr);
> +}
> +
> /**
> * ttm_bo_kmap
> *
> diff --git a/include/linux/dma-buf-map.h b/include/linux/dma-buf-map.h
>...
2020 Sep 29
3
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...ned mapping is initialized to NULL.
> + */
> +static inline void ttm_kmap_obj_to_dma_buf_map(struct ttm_bo_kmap_obj *kmap,
> + struct dma_buf_map *map)
> +{
> + bool is_iomem;
> + void *vaddr = ttm_kmap_obj_virtual(kmap, &is_iomem);
> +
> + if (!vaddr)
> + dma_buf_map_clear(map);
> + else if (is_iomem)
> + dma_buf_map_set_vaddr_iomem(map, (void __force __iomem *)vaddr);
> + else
> + dma_buf_map_set_vaddr(map, vaddr);
> +}
> +
> /**
> * ttm_bo_kmap
> *
> diff --git a/include/linux/dma-buf-map.h b/include/linux/dma-buf-map.h
>...
2020 Sep 29
3
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...ned mapping is initialized to NULL.
> + */
> +static inline void ttm_kmap_obj_to_dma_buf_map(struct ttm_bo_kmap_obj *kmap,
> + struct dma_buf_map *map)
> +{
> + bool is_iomem;
> + void *vaddr = ttm_kmap_obj_virtual(kmap, &is_iomem);
> +
> + if (!vaddr)
> + dma_buf_map_clear(map);
> + else if (is_iomem)
> + dma_buf_map_set_vaddr_iomem(map, (void __force __iomem *)vaddr);
> + else
> + dma_buf_map_set_vaddr(map, vaddr);
> +}
> +
> /**
> * ttm_bo_kmap
> *
> diff --git a/include/linux/dma-buf-map.h b/include/linux/dma-buf-map.h
>...
2020 Sep 30
2
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...gt;> *kmap,
>>>> +?????????????????????????? struct dma_buf_map *map)
>>>> +{
>>>> +??? bool is_iomem;
>>>> +??? void *vaddr = ttm_kmap_obj_virtual(kmap, &is_iomem);
>>>> +
>>>> +??? if (!vaddr)
>>>> +??????? dma_buf_map_clear(map);
>>>> +??? else if (is_iomem)
>>>> +??????? dma_buf_map_set_vaddr_iomem(map, (void __force __iomem *)vaddr);
>>>> +??? else
>>>> +??????? dma_buf_map_set_vaddr(map, vaddr);
>>>> +}
>>>> +
>>>> ? /**
>>>...
2020 Sep 29
1
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...oid ttm_kmap_obj_to_dma_buf_map(struct ttm_bo_kmap_obj
>> *kmap,
>> +?????????????????????????? struct dma_buf_map *map)
>> +{
>> +??? bool is_iomem;
>> +??? void *vaddr = ttm_kmap_obj_virtual(kmap, &is_iomem);
>> +
>> +??? if (!vaddr)
>> +??????? dma_buf_map_clear(map);
>> +??? else if (is_iomem)
>> +??????? dma_buf_map_set_vaddr_iomem(map, (void __force __iomem *)vaddr);
>> +??? else
>> +??????? dma_buf_map_set_vaddr(map, vaddr);
>> +}
>> +
>> ? /**
>> ?? * ttm_bo_kmap
>> ?? *
>> diff --git a/inclu...
2020 Sep 30
1
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...gt;> +?????????????????????????? struct dma_buf_map *map)
>>>>> +{
>>>>> +??? bool is_iomem;
>>>>> +??? void *vaddr = ttm_kmap_obj_virtual(kmap, &is_iomem);
>>>>> +
>>>>> +??? if (!vaddr)
>>>>> +??????? dma_buf_map_clear(map);
>>>>> +??? else if (is_iomem)
>>>>> +??????? dma_buf_map_set_vaddr_iomem(map, (void __force __iomem *)vaddr);
>>>>> +??? else
>>>>> +??????? dma_buf_map_set_vaddr(map, vaddr);
>>>>> +}
>>>>> +
>>&g...
2020 Sep 29
0
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...p. If the memory
+ * is not mapped, the returned mapping is initialized to NULL.
+ */
+static inline void ttm_kmap_obj_to_dma_buf_map(struct ttm_bo_kmap_obj *kmap,
+ struct dma_buf_map *map)
+{
+ bool is_iomem;
+ void *vaddr = ttm_kmap_obj_virtual(kmap, &is_iomem);
+
+ if (!vaddr)
+ dma_buf_map_clear(map);
+ else if (is_iomem)
+ dma_buf_map_set_vaddr_iomem(map, (void __force __iomem *)vaddr);
+ else
+ dma_buf_map_set_vaddr(map, vaddr);
+}
+
/**
* ttm_bo_kmap
*
diff --git a/include/linux/dma-buf-map.h b/include/linux/dma-buf-map.h
index fd1aba545fdf..2e8bbecb5091 100644
--- a/include/linu...
2020 Oct 15
5
[PATCH v4 05/10] drm/ttm: Add vmap/vunmap to TTM and TTM GEM helpers
...EXPORT_SYMBOL(ttm_bo_vmap);
> +
> +void ttm_bo_vunmap(struct ttm_buffer_object *bo, struct dma_buf_map *map)
> +{
> + if (dma_buf_map_is_null(map))
> + return;
> +
> + if (map->is_iomem)
> + iounmap(map->vaddr_iomem);
> + else
> + vunmap(map->vaddr);
> + dma_buf_map_clear(map);
> +
> + ttm_mem_io_free(bo->bdev, &bo->mem);
> +}
> +EXPORT_SYMBOL(ttm_bo_vunmap);
> +
> static int ttm_bo_wait_free_node(struct ttm_buffer_object *bo,
> bool dst_use_tt)
> {
> diff --git a/include/drm/drm_gem_ttm_helper.h b/include/drm/drm_gem_...
2020 Sep 30
1
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...*map)
> > > > > > +{
> > > > > > +??? bool is_iomem;
> > > > > > +??? void *vaddr = ttm_kmap_obj_virtual(kmap, &is_iomem);
> > > > > > +
> > > > > > +??? if (!vaddr)
> > > > > > +??????? dma_buf_map_clear(map);
> > > > > > +??? else if (is_iomem)
> > > > > > +??????? dma_buf_map_set_vaddr_iomem(map, (void __force __iomem *)vaddr);
> > > > > > +??? else
> > > > > > +??????? dma_buf_map_set_vaddr(map, vaddr);
> > > > &...
2020 Sep 29
0
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
..._buf_map(struct ttm_bo_kmap_obj *kmap,
> > + struct dma_buf_map *map)
> > +{
> > + bool is_iomem;
> > + void *vaddr = ttm_kmap_obj_virtual(kmap, &is_iomem);
> > +
> > + if (!vaddr)
> > + dma_buf_map_clear(map);
> > + else if (is_iomem)
> > + dma_buf_map_set_vaddr_iomem(map, (void __force __iomem *)vaddr);
> > + else
> > + dma_buf_map_set_vaddr(map, vaddr);
> > +}
> > +
> > /**
> > * ttm_bo_kmap
> > *
> &...
2020 Oct 15
19
[PATCH v4 00/10] Support GEM object mappings from I/O memory
DRM's fbdev console uses regular load and store operations to update
framebuffer memory. The bochs driver on sparc64 requires the use of
I/O-specific load and store operations. We have a workaround, but need
a long-term solution to the problem.
This patchset changes GEM's vmap/vunmap interfaces to forward pointers
of type struct dma_buf_map and updates the generic fbdev emulation to
use
2020 Sep 30
3
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...>>>> +{
> >>>>>>> + bool is_iomem;
> >>>>>>> + void *vaddr = ttm_kmap_obj_virtual(kmap, &is_iomem);
> >>>>>>> +
> >>>>>>> + if (!vaddr)
> >>>>>>> + dma_buf_map_clear(map);
> >>>>>>> + else if (is_iomem)
> >>>>>>> + dma_buf_map_set_vaddr_iomem(map, (void __force __iomem *)vaddr);
> >>>>>>> + else
> >>>>>>> + dma_buf_map_set_vaddr(map, vaddr);
>...