Non existing DMA functions in ARC: dma_alloc_attrs, dma_free_attrs, dma_mmap_attrs

Carlos Palminha CARLOS.PALMINHA at synopsys.com
Wed Dec 2 16:24:02 PST 2015


Hi Vineet,

I cherry picked those commits and now i'm getting a different error.

any clue? Am i testing "untested" code?! :)

Regards,
C.Palminha

---
  CC      init/do_mounts.o
In file included from include/linux/skbuff.h:34:0,
                 from include/linux/icmpv6.h:4,
                 from include/linux/ipv6.h:71,
                 from include/net/ipv6.h:16,
                 from include/linux/sunrpc/clnt.h:27,
                 from include/linux/nfs_fs.h:30,
                 from init/do_mounts.c:32:
include/linux/dma-mapping.h: In function ‘dma_set_coherent_mask’:
include/linux/dma-mapping.h:104:2: error: implicit declaration of function ‘dma_supported’ [-Werror=implicit-function-declaration]
  if (!dma_supported(dev, mask))
  ^
include/linux/dma-mapping.h: In function ‘dma_set_mask_and_coherent’:
include/linux/dma-mapping.h:119:2: error: implicit declaration of function ‘dma_set_mask’ [-Werror=implicit-function-declaration]
  int rc = dma_set_mask(dev, mask);
  ^
include/linux/dma-mapping.h: In function ‘dma_zalloc_coherent’:
include/linux/dma-mapping.h:190:2: error: implicit declaration of function ‘dma_alloc_coherent’ [-Werror=implicit-function-declaration]
  void *ret = dma_alloc_coherent(dev, size, dma_handle,
  ^
include/linux/dma-mapping.h:190:14: warning: initialization makes pointer from integer without a cast [enabled by default]
  void *ret = dma_alloc_coherent(dev, size, dma_handle,
              ^
In file included from include/linux/icmpv6.h:4:0,
                 from include/linux/ipv6.h:71,
                 from include/net/ipv6.h:16,
                 from include/linux/sunrpc/clnt.h:27,
                 from include/linux/nfs_fs.h:30,
                 from init/do_mounts.c:32:
include/linux/skbuff.h: In function ‘skb_frag_dma_map’:
include/linux/skbuff.h:2510:2: error: implicit declaration of function ‘dma_map_page’ [-Werror=implicit-function-declaration]
  return dma_map_page(dev, skb_frag_page(frag),



On 02-12-2015 13:19, Carlos Palminha wrote:
> Hi Vineet,
> 
> I'm using drm-next (its currently based on 4.4-rc3).
> 
> Regarding linux-next DMA patches I assume you are talking about these 3 commits:
> * 19ab4d3aff0426058fe36aae4ac56320a6e4c6be
> * 8ee24f794c2dfff85930f25eab4f11a9bde7f920
> * c27a81903ba596c879a45e3028135a4f37fb1837
> 
> Regards,
> C.Palminha
> 
> -----Original Message-----
> From: Vineet Gupta 
> Sent: quarta-feira, 2 de Dezembro de 2015 06:32
> To: Carlos Palminha; linux-snps-arc at lists.infradead.org
> Cc: Alexey Brodkin
> Subject: Re: Non existing DMA functions in ARC: dma_alloc_attrs, dma_free_attrs, dma_mmap_attrs
> 
> On Wednesday 02 December 2015 01:09 AM, Carlos Palminha wrote:
>> Hi guys,
>>
>> I'm bringing up a new ARC PGU driver for DRM framework with latest kernel tree.
>> I'm using ARC AXS101 as a base and selected one the DRM required config: HAVE_DMA_ATTRS due to some memory allocation helpers in DRM.
>>
>> I'm getting some errors with DMA functions not implemented in ARC: dma_alloc_attrs, dma_free_attrs, dma_mmap_attrs
>>
>> Any clue?
>>
>> Regards,
>> C.Palminha
>>
>> ---
>> include/linux/dma-mapping.h: In function 'dma_alloc_writecombine':
>> include/linux/dma-mapping.h:283:2: error: implicit declaration of function 'dma_alloc_attrs' [-Werror=implicit-function-declaration]
>>   return dma_alloc_attrs(dev, size, dma_addr, gfp, &attrs);
> 
> This is because ARC port current lacks support for dma_attr_t and associated helpers.
> There is a series in flight in linux-next, by Christoph, which already addresses that.
> 
> You can either cherry-pick those or in the interim use the hack attached.
> 
> P.S. Per your comment at top, I'm assuming you are working off of mainline 4.3 or 4.4
> 
> -Vineet
> 



More information about the linux-snps-arc mailing list