lkml.org 
[lkml]   [2017]   [Oct]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: CONFIG_DMA_NOOP_OPS breaks ARM arch
I am using 4.14-rc4 with a patch on top that includes
arch/arm/include/asm/dma-mapping.h in a module.

I have MMU enabled, so
select DMA_NOOP_OPS if !MMU
does nothing for me, and I get a compile error because dma_noop_ops is unknown.

Maybe I should include linux/dma-mapping.h?

Thanks for the quick reply.


On Mon, Oct 16, 2017 at 2:28 PM, Randy Dunlap <rdunlap@infradead.org> wrote:
> On 10/15/17 20:29, Randy Dunlap wrote:
>> On 10/15/17 20:27, Randy Dunlap wrote:
>>> On 10/15/17 19:27, Marian Mihailescu wrote:
>>>> After commit 7844572c633964c864d9f32dc3f2a8ffe5d70371, dma_noop_ops
>>>> are built only for architectures that use it.
>>>>
>>>> For ARM architecture, CONFIG_DMA_NOOP_OPS is not selected, and cannot
>>>> be selected.
>
> What kernel version are you looking at?
> I see that it is selected:
>
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -22,6 +22,7 @@ config ARM
> select CLONE_BACKWARDS
> select CPU_PM if (SUSPEND || CPU_IDLE)
> select DCACHE_WORD_ACCESS if HAVE_EFFICIENT_UNALIGNED_ACCESS
> + select DMA_NOOP_OPS if !MMU
> select EDAC_SUPPORT
> select EDAC_ATOMIC_SCRUB
> select GENERIC_ALLOCATOR
>
>
> That's in commit ID 1c51c429f30ea10428337f3a33c12059ba59f668 from May 24, 2017.
>
>>>> However, arch/arm/include/asm/dma-mapping.h is referencing dma_noop_ops:
>>>>
>>>> static inline const struct dma_map_ops *get_arch_dma_ops(struct bus_type *bus)
>>>> {
>>>> return IS_ENABLED(CONFIG_MMU) ? &arm_dma_ops : &dma_noop_ops;
>>>> }
>>>>
>>>> I will let a maintainer suggest the best resolution for this :)
>>>>
>>>
>>> add Bart and iommu mailing list.
>>>
>>
>> and add Vladimir.
>>
>>
>
>
> --
> ~Randy

\
 
 \ /
  Last update: 2017-10-16 07:28    [W:0.063 / U:0.000 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site