search for: dma_buf_map_set_vaddr_iomem

Displaying 20 results from an estimated 42 matches for "dma_buf_map_set_vaddr_iomem".

2020 Sep 29
3
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...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/linux/dma...
2020 Sep 29
3
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...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/linux/dma...
2020 Sep 29
3
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...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/linux/dma...
2020 Sep 30
2
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...t;>> +{ >>>> +??? 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....
2020 Sep 29
1
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...> +?????????????????????????? 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..2e8...
2020 Sep 30
1
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...t;> +??? 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...
2020 Sep 29
0
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...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/linux/dma-buf-map.h +++ b/include/linux/dma-buf-map.h @@ -45,6...
2020 Oct 15
5
[PATCH v4 05/10] drm/ttm: Add vmap/vunmap to TTM and TTM GEM helpers
...TM_PL_FLAG_WC flag in drm-misc-next. There is a new mem->bus.caching enum as replacement. > + vaddr_iomem = ioremap_wc(mem->bus.offset, size); > + else > + vaddr_iomem = ioremap(mem->bus.offset, size); > + > + if (!vaddr_iomem) > + return -ENOMEM; > + > + dma_buf_map_set_vaddr_iomem(map, vaddr_iomem); > + > + } else { > + struct ttm_operation_ctx ctx = { > + .interruptible = false, > + .no_wait_gpu = false > + }; > + struct ttm_tt *ttm = bo->ttm; > + pgprot_t prot; > + void *vaddr; > + > + BUG_ON(!ttm); I think we can drop this, p...
2020 Sep 30
1
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...t; +??? 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_kma...
2020 Sep 29
0
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...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 fd...
2020 Sep 30
3
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...= 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 30
0
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...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...
2020 Oct 19
1
[PATCH v4 05/10] drm/ttm: Add vmap/vunmap to TTM and TTM GEM helpers
...eplacement. > >> +??????????? vaddr_iomem = ioremap_wc(mem->bus.offset, size); >> +??????? else >> +??????????? vaddr_iomem = ioremap(mem->bus.offset, size); >> + >> +??????? if (!vaddr_iomem) >> +??????????? return -ENOMEM; >> + >> +??????? dma_buf_map_set_vaddr_iomem(map, vaddr_iomem); >> + >> +??? } else { >> +??????? struct ttm_operation_ctx ctx = { >> +??????????? .interruptible = false, >> +??????????? .no_wait_gpu = false >> +??????? }; >> +??????? struct ttm_tt *ttm = bo->ttm; >> +??????? pgprot_t prot; &...
2020 Oct 15
1
[PATCH v4 05/10] drm/ttm: Add vmap/vunmap to TTM and TTM GEM helpers
...> > > + vaddr_iomem = ioremap_wc(mem->bus.offset, > > > size); > > > + else > > > + vaddr_iomem = ioremap(mem->bus.offset, size); > > > + > > > + if (!vaddr_iomem) > > > + return -ENOMEM; > > > + > > > + dma_buf_map_set_vaddr_iomem(map, vaddr_iomem); > > > + > > > + } else { > > > + struct ttm_operation_ctx ctx = { > > > + .interruptible = false, > > > + .no_wait_gpu = false > > > + }; > > > + struct ttm_tt *ttm = bo->ttm; > > > + pgprot_t prot...
2020 Oct 07
2
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...s_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 Oct 02
1
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...s_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 Oct 19
0
[PATCH v4 05/10] drm/ttm: Add vmap/vunmap to TTM and TTM GEM helpers
...??????????? vaddr_iomem = ioremap_wc(mem->bus.offset, size); >>> +??????? else >>> +??????????? vaddr_iomem = ioremap(mem->bus.offset, size); >>> + >>> +??????? if (!vaddr_iomem) >>> +??????????? return -ENOMEM; >>> + >>> +??????? dma_buf_map_set_vaddr_iomem(map, vaddr_iomem); >>> + >>> +??? } else { >>> +??????? struct ttm_operation_ctx ctx = { >>> +??????????? .interruptible = false, >>> +??????????? .no_wait_gpu = false >>> +??????? }; >>> +??????? struct ttm_tt *ttm = bo->ttm; >&g...
2020 Sep 30
0
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...gt;> +??? 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 &g...
2020 Oct 07
2
[PATCH v3 2/7] drm/ttm: Add ttm_kmap_obj_to_dma_buf_map() for type conversion
...t;>>>> + >>>>>>>>>>>> + 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 Oct 15
0
[PATCH v4 05/10] drm/ttm: Add vmap/vunmap to TTM and TTM GEM helpers
...; + + if (mem->bus.addr) + vaddr_iomem = (void *)(((u8 *)mem->bus.addr)); + else if (mem->placement & TTM_PL_FLAG_WC) + vaddr_iomem = ioremap_wc(mem->bus.offset, size); + else + vaddr_iomem = ioremap(mem->bus.offset, size); + + if (!vaddr_iomem) + return -ENOMEM; + + dma_buf_map_set_vaddr_iomem(map, vaddr_iomem); + + } else { + struct ttm_operation_ctx ctx = { + .interruptible = false, + .no_wait_gpu = false + }; + struct ttm_tt *ttm = bo->ttm; + pgprot_t prot; + void *vaddr; + + BUG_ON(!ttm); + + ret = ttm_tt_populate(bo->bdev, ttm, &ctx); + if (ret) + return ret;...