search for: dma_buf_map_clear

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); >>>> +} >>>> + >>>> ? /** >>&gt...
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); >...