Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1524727 > unrolled thread
| Started by | Florian Fainelli <f.fainelli@gmail.com> |
|---|---|
| First post | 2016-11-17 20:00 +0100 |
| Last post | 2016-11-18 09:20 +0100 |
| Articles | 5 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH] sound: Add dependency on DMA Florian Fainelli <f.fainelli@gmail.com> - 2016-11-17 20:00 +0100
Re: [PATCH] sound: Add dependency on DMA Takashi Iwai <tiwai@suse.de> - 2016-11-17 20:10 +0100
Re: [PATCH] sound: Add dependency on DMA Florian Fainelli <f.fainelli@gmail.com> - 2016-11-17 20:20 +0100
Re: [PATCH] sound: Add dependency on DMA Florian Fainelli <f.fainelli@gmail.com> - 2016-11-17 20:50 +0100
Re: [PATCH] sound: Add dependency on DMA Takashi Iwai <tiwai@suse.de> - 2016-11-18 09:20 +0100
| From | Florian Fainelli <f.fainelli@gmail.com> |
|---|---|
| Date | 2016-11-17 20:00 +0100 |
| Subject | [PATCH] sound: Add dependency on DMA |
| Message-ID | <sEA4F-4sG-5@gated-at.bofh.it> |
Architectures like m32r do not have a proper DMA-API implementation, fixes COMPILE_TEST linking failures for the sounds subsystem. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> --- sound/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/sound/Kconfig b/sound/Kconfig index 5a240e050ae6..a768704d2f47 100644 --- a/sound/Kconfig +++ b/sound/Kconfig @@ -60,6 +60,7 @@ if !M68K && !UML menuconfig SND tristate "Advanced Linux Sound Architecture" + depends on HAS_DMA help Say 'Y' or 'M' to enable ALSA (Advanced Linux Sound Architecture), the new base sound system. -- 2.9.3
[toc] | [next] | [standalone]
| From | Takashi Iwai <tiwai@suse.de> |
|---|---|
| Date | 2016-11-17 20:10 +0100 |
| Message-ID | <sEAem-4Lb-29@gated-at.bofh.it> |
| In reply to | #1524727 |
On Thu, 17 Nov 2016 19:52:37 +0100, Florian Fainelli wrote: > > Architectures like m32r do not have a proper DMA-API implementation, > fixes COMPILE_TEST linking failures for the sounds subsystem. What error did you get exactly? There are already CONFIG_HAS_DMA dependency in a few places, so I wonder what's missing. thanks, Takashi > > Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> > --- > sound/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/sound/Kconfig b/sound/Kconfig > index 5a240e050ae6..a768704d2f47 100644 > --- a/sound/Kconfig > +++ b/sound/Kconfig > @@ -60,6 +60,7 @@ if !M68K && !UML > > menuconfig SND > tristate "Advanced Linux Sound Architecture" > + depends on HAS_DMA > help > Say 'Y' or 'M' to enable ALSA (Advanced Linux Sound Architecture), > the new base sound system. > -- > 2.9.3 > >
[toc] | [prev] | [next] | [standalone]
| From | Florian Fainelli <f.fainelli@gmail.com> |
|---|---|
| Date | 2016-11-17 20:20 +0100 |
| Message-ID | <sEAo2-4ON-17@gated-at.bofh.it> |
| In reply to | #1524737 |
On 11/17/2016 11:03 AM, Takashi Iwai wrote: > On Thu, 17 Nov 2016 19:52:37 +0100, > Florian Fainelli wrote: >> >> Architectures like m32r do not have a proper DMA-API implementation, >> fixes COMPILE_TEST linking failures for the sounds subsystem. > > What error did you get exactly? > There are already CONFIG_HAS_DMA dependency in a few places, so I > wonder what's missing. They looked like these: sound/built-in.o: In function `snd_pcm_lib_default_mmap': (.text+0xbb14): undefined reference to `bad_dma_ops' sound/built-in.o: In function `snd_pcm_lib_default_mmap': (.text+0xbb1c): undefined reference to `bad_dma_ops' sound/built-in.o: In function `snd_pcm_lib_default_mmap': (.text+0xbb34): undefined reference to `dma_common_mmap' sound/built-in.o: In function `snd_pcm_lib_default_mmap': (.text+0xbb34): relocation truncated to fit: R_M32R_26_PCREL_RELA against undefined symbol `dma_common_mmap' Makefile:961: recipe for target 'vmlinux' failed I could probably add an ifdef CONFIG_HAS_DMA just surrounding these snd_pcm_lib if you think this is more appropriate? -- Florian
[toc] | [prev] | [next] | [standalone]
| From | Florian Fainelli <f.fainelli@gmail.com> |
|---|---|
| Date | 2016-11-17 20:50 +0100 |
| Message-ID | <sEAR4-4ZO-35@gated-at.bofh.it> |
| In reply to | #1524741 |
On 11/17/2016 11:14 AM, Florian Fainelli wrote: > On 11/17/2016 11:03 AM, Takashi Iwai wrote: >> On Thu, 17 Nov 2016 19:52:37 +0100, >> Florian Fainelli wrote: >>> >>> Architectures like m32r do not have a proper DMA-API implementation, >>> fixes COMPILE_TEST linking failures for the sounds subsystem. >> >> What error did you get exactly? >> There are already CONFIG_HAS_DMA dependency in a few places, so I >> wonder what's missing. > > They looked like these: > > sound/built-in.o: In function `snd_pcm_lib_default_mmap': > (.text+0xbb14): undefined reference to `bad_dma_ops' > sound/built-in.o: In function `snd_pcm_lib_default_mmap': > (.text+0xbb1c): undefined reference to `bad_dma_ops' > sound/built-in.o: In function `snd_pcm_lib_default_mmap': > (.text+0xbb34): undefined reference to `dma_common_mmap' > sound/built-in.o: In function `snd_pcm_lib_default_mmap': > (.text+0xbb34): relocation truncated to fit: R_M32R_26_PCREL_RELA > against undefined symbol `dma_common_mmap' > Makefile:961: recipe for target 'vmlinux' failed > > I could probably add an ifdef CONFIG_HAS_DMA just surrounding these > snd_pcm_lib if you think this is more appropriate? I can't reproduce this build failure reliably anyway now, it was due to switching between x86/m32r configurations, the only offender was the Broadcom Cygnus driver, and this has been fixed as well. Sorry for the noise! -- Florian
[toc] | [prev] | [next] | [standalone]
| From | Takashi Iwai <tiwai@suse.de> |
|---|---|
| Date | 2016-11-18 09:20 +0100 |
| Message-ID | <sEMyS-4Aj-9@gated-at.bofh.it> |
| In reply to | #1524781 |
On Thu, 17 Nov 2016 20:42:38 +0100, Florian Fainelli wrote: > > On 11/17/2016 11:14 AM, Florian Fainelli wrote: > > On 11/17/2016 11:03 AM, Takashi Iwai wrote: > >> On Thu, 17 Nov 2016 19:52:37 +0100, > >> Florian Fainelli wrote: > >>> > >>> Architectures like m32r do not have a proper DMA-API implementation, > >>> fixes COMPILE_TEST linking failures for the sounds subsystem. > >> > >> What error did you get exactly? > >> There are already CONFIG_HAS_DMA dependency in a few places, so I > >> wonder what's missing. > > > > They looked like these: > > > > sound/built-in.o: In function `snd_pcm_lib_default_mmap': > > (.text+0xbb14): undefined reference to `bad_dma_ops' > > sound/built-in.o: In function `snd_pcm_lib_default_mmap': > > (.text+0xbb1c): undefined reference to `bad_dma_ops' > > sound/built-in.o: In function `snd_pcm_lib_default_mmap': > > (.text+0xbb34): undefined reference to `dma_common_mmap' > > sound/built-in.o: In function `snd_pcm_lib_default_mmap': > > (.text+0xbb34): relocation truncated to fit: R_M32R_26_PCREL_RELA > > against undefined symbol `dma_common_mmap' > > Makefile:961: recipe for target 'vmlinux' failed > > > > I could probably add an ifdef CONFIG_HAS_DMA just surrounding these > > snd_pcm_lib if you think this is more appropriate? > > I can't reproduce this build failure reliably anyway now, it was due to > switching between x86/m32r configurations, the only offender was the > Broadcom Cygnus driver, and this has been fixed as well. OK, good to hear. Meanwhile, we can put a patch like below just to be sure, too. But you can't check whether it works now ;) thanks, Takashi --- diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index 9d33c1e85c79..8d7a61078b9f 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c @@ -3403,6 +3403,7 @@ int snd_pcm_lib_default_mmap(struct snd_pcm_substream *substream, area->vm_end - area->vm_start, area->vm_page_prot); } #endif /* CONFIG_GENERIC_ALLOCATOR */ +#ifdef CONFIG_HAS_DMA #ifndef CONFIG_X86 /* for avoiding warnings arch/x86/mm/pat.c */ if (!substream->ops->page && substream->dma_buffer.dev.type == SNDRV_DMA_TYPE_DEV) @@ -3412,6 +3413,7 @@ int snd_pcm_lib_default_mmap(struct snd_pcm_substream *substream, substream->runtime->dma_addr, area->vm_end - area->vm_start); #endif /* CONFIG_X86 */ +#endif /* CONFIG_HAS_DMA */ /* mmap with fault handler */ area->vm_ops = &snd_pcm_vm_ops_data_fault; return 0;
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web