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);
>>>>>>>>>> +}
>>>>>>>>>> +
>>>>>>>>>>...
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);
>>>>>>>>>> +}
>>>>>>>>>> +
>>>>>>>>>>...
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);
>>>>>>>>>>>> +}
>>>>>>>>>>>> +
>>...
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;...