linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ASoC: atmel-classd: select correct Kconfig symbol
@ 2017-12-05 10:09 Arnd Bergmann
  2017-12-05 10:57 ` Alexandre Belloni
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Arnd Bergmann @ 2017-12-05 10:09 UTC (permalink / raw)
  To: Nicolas Ferre, Mark Brown, Alexandre Belloni
  Cc: Arnd Bergmann, Liam Girdwood, Jaroslav Kysela, Takashi Iwai,
	alsa-devel, linux-arm-kernel, linux-kernel

Commit 061981ff8cc8 ("ASoC: atmel: properly select dma driver state")
changed the way that the dependencies are handled, but then the
Class D amplifier support got merged, which used the old method.

This seems to have triggered a very rare randconfig condition for me
now, leading to a link error:

sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_set_audio':
atmel_ssc_dai.c:(.text+0x79c): undefined reference to `atmel_pcm_dma_platform_register'
atmel_ssc_dai.c:(.text+0x79c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `atmel_pcm_dma_platform_register'
sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_put_audio':
atmel_ssc_dai.c:(.text+0xf24): undefined reference to `atmel_pcm_dma_platform_unregister'
atmel_ssc_dai.c:(.text+0xf24): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `atmel_pcm_dma_platform_unregister'

Changing it to select SND_ATMEL_SOC_SSC_DMA as intended rather than
SND_ATMEL_SOC_DMA directly makes it work again.

Fixes: e0a25b6d1862 ("ASoC: atmel-classd: add the Audio Class D Amplifier")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 sound/soc/atmel/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig
index 4a56f3dfba51..2d998e5c4fb5 100644
--- a/sound/soc/atmel/Kconfig
+++ b/sound/soc/atmel/Kconfig
@@ -64,7 +64,7 @@ config SND_AT91_SOC_SAM9X5_WM8731
 config SND_ATMEL_SOC_CLASSD
 	tristate "Atmel ASoC driver for boards using CLASSD"
 	depends on ARCH_AT91 || COMPILE_TEST
-	select SND_ATMEL_SOC_DMA
+	select SND_ATMEL_SOC_SSC_DMA
 	select REGMAP_MMIO
 	help
 	  Say Y if you want to add support for Atmel ASoC driver for boards using
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH] ASoC: atmel-classd: select correct Kconfig symbol
  2017-12-05 10:09 [PATCH] ASoC: atmel-classd: select correct Kconfig symbol Arnd Bergmann
@ 2017-12-05 10:57 ` Alexandre Belloni
  2017-12-05 11:13   ` Arnd Bergmann
  2017-12-05 12:48 ` Applied "ASoC: atmel-classd: select correct Kconfig symbol" to the asoc tree Mark Brown
  2017-12-05 12:48 ` Mark Brown
  2 siblings, 1 reply; 13+ messages in thread
From: Alexandre Belloni @ 2017-12-05 10:57 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Nicolas Ferre, Mark Brown, Liam Girdwood, Jaroslav Kysela,
	Takashi Iwai, alsa-devel, linux-arm-kernel, linux-kernel

On 05/12/2017 at 11:09:38 +0100, Arnd Bergmann wrote:
> Commit 061981ff8cc8 ("ASoC: atmel: properly select dma driver state")
> changed the way that the dependencies are handled, but then the
> Class D amplifier support got merged, which used the old method.
> 
> This seems to have triggered a very rare randconfig condition for me
> now, leading to a link error:
> 
> sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_set_audio':
> atmel_ssc_dai.c:(.text+0x79c): undefined reference to `atmel_pcm_dma_platform_register'
> atmel_ssc_dai.c:(.text+0x79c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `atmel_pcm_dma_platform_register'
> sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_put_audio':
> atmel_ssc_dai.c:(.text+0xf24): undefined reference to `atmel_pcm_dma_platform_unregister'
> atmel_ssc_dai.c:(.text+0xf24): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `atmel_pcm_dma_platform_unregister'
> 
> Changing it to select SND_ATMEL_SOC_SSC_DMA as intended rather than
> SND_ATMEL_SOC_DMA directly makes it work again.
> 
> Fixes: e0a25b6d1862 ("ASoC: atmel-classd: add the Audio Class D Amplifier")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>

> ---
>  sound/soc/atmel/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig
> index 4a56f3dfba51..2d998e5c4fb5 100644
> --- a/sound/soc/atmel/Kconfig
> +++ b/sound/soc/atmel/Kconfig
> @@ -64,7 +64,7 @@ config SND_AT91_SOC_SAM9X5_WM8731
>  config SND_ATMEL_SOC_CLASSD
>  	tristate "Atmel ASoC driver for boards using CLASSD"
>  	depends on ARCH_AT91 || COMPILE_TEST
> -	select SND_ATMEL_SOC_DMA
> +	select SND_ATMEL_SOC_SSC_DMA
>  	select REGMAP_MMIO
>  	help
>  	  Say Y if you want to add support for Atmel ASoC driver for boards using
> -- 
> 2.9.0
> 

-- 
Alexandre Belloni, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] ASoC: atmel-classd: select correct Kconfig symbol
  2017-12-05 10:57 ` Alexandre Belloni
@ 2017-12-05 11:13   ` Arnd Bergmann
  2017-12-05 11:27     ` Nicolas Ferre
  2017-12-05 12:47     ` Alexandre Belloni
  0 siblings, 2 replies; 13+ messages in thread
From: Arnd Bergmann @ 2017-12-05 11:13 UTC (permalink / raw)
  To: Alexandre Belloni
  Cc: Nicolas Ferre, Mark Brown, Liam Girdwood, Jaroslav Kysela,
	Takashi Iwai, alsa-devel, Linux ARM, Linux Kernel Mailing List

On Tue, Dec 5, 2017 at 11:57 AM, Alexandre Belloni
<alexandre.belloni@free-electrons.com> wrote:
> On 05/12/2017 at 11:09:38 +0100, Arnd Bergmann wrote:
>> Commit 061981ff8cc8 ("ASoC: atmel: properly select dma driver state")
>> changed the way that the dependencies are handled, but then the
>> Class D amplifier support got merged, which used the old method.
>>
>> This seems to have triggered a very rare randconfig condition for me
>> now, leading to a link error:
>>
>> sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_set_audio':
>> atmel_ssc_dai.c:(.text+0x79c): undefined reference to `atmel_pcm_dma_platform_register'
>> atmel_ssc_dai.c:(.text+0x79c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `atmel_pcm_dma_platform_register'
>> sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_put_audio':
>> atmel_ssc_dai.c:(.text+0xf24): undefined reference to `atmel_pcm_dma_platform_unregister'
>> atmel_ssc_dai.c:(.text+0xf24): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `atmel_pcm_dma_platform_unregister'
>>
>> Changing it to select SND_ATMEL_SOC_SSC_DMA as intended rather than
>> SND_ATMEL_SOC_DMA directly makes it work again.
>>
>> Fixes: e0a25b6d1862 ("ASoC: atmel-classd: add the Audio Class D Amplifier")
>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>

Unfortunately, my testing just found a new problem with this patch
applied, I had
not run enough randconfig tests on top of it:

sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_set_audio':
atmel_ssc_dai.c:(.text+0x73c): undefined reference to `ssc_request'
sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_put_audio':
atmel_ssc_dai.c:(.text+0x7be): undefined reference to `ssc_free'

This is for a configuration with SND_ATMEL_SOC_CLASSD=y
and CONFIG_ATMEL_SSC=n. Could you tell me whether that is a
sensible configuration that should work, or whether we need a dependency
on ATMEL_SSC in SND_ATMEL_SOC_CLASSD? I can't really tell
from the source code, but you probably know the answer.

       Arnd

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] ASoC: atmel-classd: select correct Kconfig symbol
  2017-12-05 11:13   ` Arnd Bergmann
@ 2017-12-05 11:27     ` Nicolas Ferre
  2017-12-05 12:47     ` Alexandre Belloni
  1 sibling, 0 replies; 13+ messages in thread
From: Nicolas Ferre @ 2017-12-05 11:27 UTC (permalink / raw)
  To: Arnd Bergmann, Alexandre Belloni
  Cc: Mark Brown, Liam Girdwood, Jaroslav Kysela, Takashi Iwai,
	alsa-devel, Linux ARM, Linux Kernel Mailing List

On 05/12/2017 at 12:13, Arnd Bergmann wrote:
> On Tue, Dec 5, 2017 at 11:57 AM, Alexandre Belloni
> <alexandre.belloni@free-electrons.com> wrote:
>> On 05/12/2017 at 11:09:38 +0100, Arnd Bergmann wrote:
>>> Commit 061981ff8cc8 ("ASoC: atmel: properly select dma driver state")
>>> changed the way that the dependencies are handled, but then the
>>> Class D amplifier support got merged, which used the old method.
>>>
>>> This seems to have triggered a very rare randconfig condition for me
>>> now, leading to a link error:
>>>
>>> sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_set_audio':
>>> atmel_ssc_dai.c:(.text+0x79c): undefined reference to `atmel_pcm_dma_platform_register'
>>> atmel_ssc_dai.c:(.text+0x79c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `atmel_pcm_dma_platform_register'
>>> sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_put_audio':
>>> atmel_ssc_dai.c:(.text+0xf24): undefined reference to `atmel_pcm_dma_platform_unregister'
>>> atmel_ssc_dai.c:(.text+0xf24): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `atmel_pcm_dma_platform_unregister'
>>>
>>> Changing it to select SND_ATMEL_SOC_SSC_DMA as intended rather than
>>> SND_ATMEL_SOC_DMA directly makes it work again.
>>>
>>> Fixes: e0a25b6d1862 ("ASoC: atmel-classd: add the Audio Class D Amplifier")
>>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>> Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
> 
> Unfortunately, my testing just found a new problem with this patch
> applied, I had
> not run enough randconfig tests on top of it:
> 
> sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_set_audio':
> atmel_ssc_dai.c:(.text+0x73c): undefined reference to `ssc_request'
> sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_put_audio':
> atmel_ssc_dai.c:(.text+0x7be): undefined reference to `ssc_free'
> 
> This is for a configuration with SND_ATMEL_SOC_CLASSD=y
> and CONFIG_ATMEL_SSC=n. Could you tell me whether that is a
> sensible configuration that should work, or whether we need a dependency
> on ATMEL_SSC in SND_ATMEL_SOC_CLASSD? I can't really tell
> from the source code, but you probably know the answer.

Actually, they are two different interfaces which can be enabled at the
same time or not and CLASSD doesn't use the SSC.
So no dependency between them.

It might be an issue with SND_ATMEL_SOC_DMA not selecting the proper code...

Regards,
-- 
Nicolas Ferre

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] ASoC: atmel-classd: select correct Kconfig symbol
  2017-12-05 11:13   ` Arnd Bergmann
  2017-12-05 11:27     ` Nicolas Ferre
@ 2017-12-05 12:47     ` Alexandre Belloni
  2017-12-05 13:28       ` Arnd Bergmann
  1 sibling, 1 reply; 13+ messages in thread
From: Alexandre Belloni @ 2017-12-05 12:47 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Nicolas Ferre, Mark Brown, Liam Girdwood, Jaroslav Kysela,
	Takashi Iwai, alsa-devel, Linux ARM, Linux Kernel Mailing List

On 05/12/2017 at 12:13:41 +0100, Arnd Bergmann wrote:
> On Tue, Dec 5, 2017 at 11:57 AM, Alexandre Belloni
> <alexandre.belloni@free-electrons.com> wrote:
> > On 05/12/2017 at 11:09:38 +0100, Arnd Bergmann wrote:
> >> Commit 061981ff8cc8 ("ASoC: atmel: properly select dma driver state")
> >> changed the way that the dependencies are handled, but then the
> >> Class D amplifier support got merged, which used the old method.
> >>
> >> This seems to have triggered a very rare randconfig condition for me
> >> now, leading to a link error:
> >>
> >> sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_set_audio':
> >> atmel_ssc_dai.c:(.text+0x79c): undefined reference to `atmel_pcm_dma_platform_register'
> >> atmel_ssc_dai.c:(.text+0x79c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `atmel_pcm_dma_platform_register'
> >> sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_put_audio':
> >> atmel_ssc_dai.c:(.text+0xf24): undefined reference to `atmel_pcm_dma_platform_unregister'
> >> atmel_ssc_dai.c:(.text+0xf24): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `atmel_pcm_dma_platform_unregister'
> >>
> >> Changing it to select SND_ATMEL_SOC_SSC_DMA as intended rather than
> >> SND_ATMEL_SOC_DMA directly makes it work again.
> >>
> >> Fixes: e0a25b6d1862 ("ASoC: atmel-classd: add the Audio Class D Amplifier")
> >> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
> 
> Unfortunately, my testing just found a new problem with this patch
> applied, I had
> not run enough randconfig tests on top of it:
> 
> sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_set_audio':
> atmel_ssc_dai.c:(.text+0x73c): undefined reference to `ssc_request'
> sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_put_audio':
> atmel_ssc_dai.c:(.text+0x7be): undefined reference to `ssc_free'
> 
> This is for a configuration with SND_ATMEL_SOC_CLASSD=y
> and CONFIG_ATMEL_SSC=n. Could you tell me whether that is a
> sensible configuration that should work, or whether we need a dependency
> on ATMEL_SSC in SND_ATMEL_SOC_CLASSD? I can't really tell
> from the source code, but you probably know the answer.
> 

Ok, does that solve both randconfigs?

diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig
index 4a56f3dfba51..dcee145dd179 100644
--- a/sound/soc/atmel/Kconfig
+++ b/sound/soc/atmel/Kconfig
@@ -64,7 +64,7 @@ config SND_AT91_SOC_SAM9X5_WM8731
 config SND_ATMEL_SOC_CLASSD
        tristate "Atmel ASoC driver for boards using CLASSD"
        depends on ARCH_AT91 || COMPILE_TEST
-       select SND_ATMEL_SOC_DMA
+       select SND_SOC_GENERIC_DMAENGINE_PCM
        select REGMAP_MMIO
        help
          Say Y if you want to add support for Atmel ASoC driver for boards using

-- 
Alexandre Belloni, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Applied "ASoC: atmel-classd: select correct Kconfig symbol" to the asoc tree
  2017-12-05 10:09 [PATCH] ASoC: atmel-classd: select correct Kconfig symbol Arnd Bergmann
  2017-12-05 10:57 ` Alexandre Belloni
@ 2017-12-05 12:48 ` Mark Brown
  2017-12-05 12:51   ` Mark Brown
  2017-12-05 12:52   ` Nicolas Ferre
  2017-12-05 12:48 ` Mark Brown
  2 siblings, 2 replies; 13+ messages in thread
From: Mark Brown @ 2017-12-05 12:48 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Alexandre Belloni, Mark Brown, Nicolas Ferre, Mark Brown,
	Alexandre Belloni, alsa-devel, linux-kernel, Takashi Iwai,
	Liam Girdwood, linux-arm-kernel, alsa-devel

The patch

   ASoC: atmel-classd: select correct Kconfig symbol

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

>From 7e3dba272e5ef5b38fba8710f98b4b3da7232ea5 Mon Sep 17 00:00:00 2001
From: Arnd Bergmann <arnd@arndb.de>
Date: Tue, 5 Dec 2017 11:09:38 +0100
Subject: [PATCH] ASoC: atmel-classd: select correct Kconfig symbol

Commit 061981ff8cc8 ("ASoC: atmel: properly select dma driver state")
changed the way that the dependencies are handled, but then the
Class D amplifier support got merged, which used the old method.

This seems to have triggered a very rare randconfig condition for me
now, leading to a link error:

sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_set_audio':
atmel_ssc_dai.c:(.text+0x79c): undefined reference to `atmel_pcm_dma_platform_register'
atmel_ssc_dai.c:(.text+0x79c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `atmel_pcm_dma_platform_register'
sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_put_audio':
atmel_ssc_dai.c:(.text+0xf24): undefined reference to `atmel_pcm_dma_platform_unregister'
atmel_ssc_dai.c:(.text+0xf24): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `atmel_pcm_dma_platform_unregister'

Changing it to select SND_ATMEL_SOC_SSC_DMA as intended rather than
SND_ATMEL_SOC_DMA directly makes it work again.

Fixes: e0a25b6d1862 ("ASoC: atmel-classd: add the Audio Class D Amplifier")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/atmel/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig
index 4a56f3dfba51..2d998e5c4fb5 100644
--- a/sound/soc/atmel/Kconfig
+++ b/sound/soc/atmel/Kconfig
@@ -64,7 +64,7 @@ config SND_AT91_SOC_SAM9X5_WM8731
 config SND_ATMEL_SOC_CLASSD
 	tristate "Atmel ASoC driver for boards using CLASSD"
 	depends on ARCH_AT91 || COMPILE_TEST
-	select SND_ATMEL_SOC_DMA
+	select SND_ATMEL_SOC_SSC_DMA
 	select REGMAP_MMIO
 	help
 	  Say Y if you want to add support for Atmel ASoC driver for boards using
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Applied "ASoC: atmel-classd: select correct Kconfig symbol" to the asoc tree
  2017-12-05 10:09 [PATCH] ASoC: atmel-classd: select correct Kconfig symbol Arnd Bergmann
  2017-12-05 10:57 ` Alexandre Belloni
  2017-12-05 12:48 ` Applied "ASoC: atmel-classd: select correct Kconfig symbol" to the asoc tree Mark Brown
@ 2017-12-05 12:48 ` Mark Brown
  2 siblings, 0 replies; 13+ messages in thread
From: Mark Brown @ 2017-12-05 12:48 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Mark Brown, Nicolas Ferre, Mark Brown, Alexandre Belloni,
	alsa-devel, linux-kernel, Takashi Iwai, Liam Girdwood,
	linux-arm-kernel, alsa-devel

The patch

   ASoC: atmel-classd: select correct Kconfig symbol

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

>From d20957ef48c3c0c37e44c5385baf1cdfd132f0db Mon Sep 17 00:00:00 2001
From: Arnd Bergmann <arnd@arndb.de>
Date: Tue, 5 Dec 2017 11:09:38 +0100
Subject: [PATCH] ASoC: atmel-classd: select correct Kconfig symbol

Commit 061981ff8cc8 ("ASoC: atmel: properly select dma driver state")
changed the way that the dependencies are handled, but then the
Class D amplifier support got merged, which used the old method.

This seems to have triggered a very rare randconfig condition for me
now, leading to a link error:

sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_set_audio':
atmel_ssc_dai.c:(.text+0x79c): undefined reference to `atmel_pcm_dma_platform_register'
atmel_ssc_dai.c:(.text+0x79c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `atmel_pcm_dma_platform_register'
sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_put_audio':
atmel_ssc_dai.c:(.text+0xf24): undefined reference to `atmel_pcm_dma_platform_unregister'
atmel_ssc_dai.c:(.text+0xf24): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `atmel_pcm_dma_platform_unregister'

Changing it to select SND_ATMEL_SOC_SSC_DMA as intended rather than
SND_ATMEL_SOC_DMA directly makes it work again.

Fixes: e0a25b6d1862 ("ASoC: atmel-classd: add the Audio Class D Amplifier")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/atmel/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig
index 4a56f3dfba51..2d998e5c4fb5 100644
--- a/sound/soc/atmel/Kconfig
+++ b/sound/soc/atmel/Kconfig
@@ -64,7 +64,7 @@ config SND_AT91_SOC_SAM9X5_WM8731
 config SND_ATMEL_SOC_CLASSD
 	tristate "Atmel ASoC driver for boards using CLASSD"
 	depends on ARCH_AT91 || COMPILE_TEST
-	select SND_ATMEL_SOC_DMA
+	select SND_ATMEL_SOC_SSC_DMA
 	select REGMAP_MMIO
 	help
 	  Say Y if you want to add support for Atmel ASoC driver for boards using
-- 
2.15.0

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: Applied "ASoC: atmel-classd: select correct Kconfig symbol" to the asoc tree
  2017-12-05 12:48 ` Applied "ASoC: atmel-classd: select correct Kconfig symbol" to the asoc tree Mark Brown
@ 2017-12-05 12:51   ` Mark Brown
  2017-12-05 12:52   ` Nicolas Ferre
  1 sibling, 0 replies; 13+ messages in thread
From: Mark Brown @ 2017-12-05 12:51 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Alexandre Belloni, Nicolas Ferre, alsa-devel, linux-kernel,
	Takashi Iwai, Liam Girdwood, linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 193 bytes --]

On Tue, Dec 05, 2017 at 12:48:03PM +0000, Mark Brown wrote:
> The patch
> 
>    ASoC: atmel-classd: select correct Kconfig symbol

Following the subsequent discussion I'll drop this one.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Applied "ASoC: atmel-classd: select correct Kconfig symbol" to the asoc tree
  2017-12-05 12:48 ` Applied "ASoC: atmel-classd: select correct Kconfig symbol" to the asoc tree Mark Brown
  2017-12-05 12:51   ` Mark Brown
@ 2017-12-05 12:52   ` Nicolas Ferre
  1 sibling, 0 replies; 13+ messages in thread
From: Nicolas Ferre @ 2017-12-05 12:52 UTC (permalink / raw)
  To: Mark Brown, Arnd Bergmann
  Cc: Alexandre Belloni, alsa-devel, linux-kernel, Takashi Iwai,
	Liam Girdwood, linux-arm-kernel

On 05/12/2017 at 13:48, Mark Brown wrote:
> The patch
> 
>    ASoC: atmel-classd: select correct Kconfig symbol
> 
> has been applied to the asoc tree at
> 
>    https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

Mark,

Actually the discussion is still ongoing regarding these issues and this
fix isn't the proper one (aka NACK).

Is an incremental patch has to be prepared or do you remove this patch?

Thanks, regards,
  Nicolas


> All being well this means that it will be integrated into the linux-next
> tree (usually sometime in the next 24 hours) and sent to Linus during
> the next merge window (or sooner if it is a bug fix), however if
> problems are discovered then the patch may be dropped or reverted.  
> 
> You may get further e-mails resulting from automated or manual testing
> and review of the tree, please engage with people reporting problems and
> send followup patches addressing any issues that are reported if needed.
> 
> If any updates are required or you are submitting further changes they
> should be sent as incremental updates against current git, existing
> patches will not be replaced.
> 
> Please add any relevant lists and maintainers to the CCs when replying
> to this mail.
> 
> Thanks,
> Mark
> 
>>From 7e3dba272e5ef5b38fba8710f98b4b3da7232ea5 Mon Sep 17 00:00:00 2001
> From: Arnd Bergmann <arnd@arndb.de>
> Date: Tue, 5 Dec 2017 11:09:38 +0100
> Subject: [PATCH] ASoC: atmel-classd: select correct Kconfig symbol
> 
> Commit 061981ff8cc8 ("ASoC: atmel: properly select dma driver state")
> changed the way that the dependencies are handled, but then the
> Class D amplifier support got merged, which used the old method.
> 
> This seems to have triggered a very rare randconfig condition for me
> now, leading to a link error:
> 
> sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_set_audio':
> atmel_ssc_dai.c:(.text+0x79c): undefined reference to `atmel_pcm_dma_platform_register'
> atmel_ssc_dai.c:(.text+0x79c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `atmel_pcm_dma_platform_register'
> sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_put_audio':
> atmel_ssc_dai.c:(.text+0xf24): undefined reference to `atmel_pcm_dma_platform_unregister'
> atmel_ssc_dai.c:(.text+0xf24): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `atmel_pcm_dma_platform_unregister'
> 
> Changing it to select SND_ATMEL_SOC_SSC_DMA as intended rather than
> SND_ATMEL_SOC_DMA directly makes it work again.
> 
> Fixes: e0a25b6d1862 ("ASoC: atmel-classd: add the Audio Class D Amplifier")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
> Signed-off-by: Mark Brown <broonie@kernel.org>
> ---
>  sound/soc/atmel/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig
> index 4a56f3dfba51..2d998e5c4fb5 100644
> --- a/sound/soc/atmel/Kconfig
> +++ b/sound/soc/atmel/Kconfig
> @@ -64,7 +64,7 @@ config SND_AT91_SOC_SAM9X5_WM8731
>  config SND_ATMEL_SOC_CLASSD
>  	tristate "Atmel ASoC driver for boards using CLASSD"
>  	depends on ARCH_AT91 || COMPILE_TEST
> -	select SND_ATMEL_SOC_DMA
> +	select SND_ATMEL_SOC_SSC_DMA
>  	select REGMAP_MMIO
>  	help
>  	  Say Y if you want to add support for Atmel ASoC driver for boards using
> 


-- 
Nicolas Ferre

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] ASoC: atmel-classd: select correct Kconfig symbol
  2017-12-05 12:47     ` Alexandre Belloni
@ 2017-12-05 13:28       ` Arnd Bergmann
  2017-12-05 22:07         ` Alexandre Belloni
  0 siblings, 1 reply; 13+ messages in thread
From: Arnd Bergmann @ 2017-12-05 13:28 UTC (permalink / raw)
  To: Alexandre Belloni
  Cc: Nicolas Ferre, Mark Brown, Liam Girdwood, Jaroslav Kysela,
	Takashi Iwai, alsa-devel, Linux ARM, Linux Kernel Mailing List

On Tue, Dec 5, 2017 at 1:47 PM, Alexandre Belloni
<alexandre.belloni@free-electrons.com> wrote:
> On 05/12/2017 at 12:13:41 +0100, Arnd Bergmann wrote:
>
> Ok, does that solve both randconfigs?
>
> diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig
> index 4a56f3dfba51..dcee145dd179 100644
> --- a/sound/soc/atmel/Kconfig
> +++ b/sound/soc/atmel/Kconfig
> @@ -64,7 +64,7 @@ config SND_AT91_SOC_SAM9X5_WM8731
>  config SND_ATMEL_SOC_CLASSD
>         tristate "Atmel ASoC driver for boards using CLASSD"
>         depends on ARCH_AT91 || COMPILE_TEST
> -       select SND_ATMEL_SOC_DMA
> +       select SND_SOC_GENERIC_DMAENGINE_PCM
>         select REGMAP_MMIO
>         help
>           Say Y if you want to add support for Atmel ASoC driver for boards using

Yes, that works as well and looks reliable. I've sent another
follow-up now, working on the
assumption that we actually need SND_ATMEL_SOC_DMA.

Both patches make it build, but obviously only one of the two is
actually correct. I assume you know what you are doing, so if
you want to send your patch with a proper changelog, please add
my

Tested-by: Arnd Bergmann <arnd@arndb.de>

     Arnd

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] ASoC: atmel-classd: select correct Kconfig symbol
  2017-12-05 13:28       ` Arnd Bergmann
@ 2017-12-05 22:07         ` Alexandre Belloni
  2017-12-08 14:30           ` Alexandre Belloni
  0 siblings, 1 reply; 13+ messages in thread
From: Alexandre Belloni @ 2017-12-05 22:07 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Nicolas Ferre, Mark Brown, Liam Girdwood, Jaroslav Kysela,
	Takashi Iwai, alsa-devel, Linux ARM, Linux Kernel Mailing List

On 05/12/2017 at 14:28:28 +0100, Arnd Bergmann wrote:
> On Tue, Dec 5, 2017 at 1:47 PM, Alexandre Belloni
> <alexandre.belloni@free-electrons.com> wrote:
> > On 05/12/2017 at 12:13:41 +0100, Arnd Bergmann wrote:
> >
> > Ok, does that solve both randconfigs?
> >
> > diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig
> > index 4a56f3dfba51..dcee145dd179 100644
> > --- a/sound/soc/atmel/Kconfig
> > +++ b/sound/soc/atmel/Kconfig
> > @@ -64,7 +64,7 @@ config SND_AT91_SOC_SAM9X5_WM8731
> >  config SND_ATMEL_SOC_CLASSD
> >         tristate "Atmel ASoC driver for boards using CLASSD"
> >         depends on ARCH_AT91 || COMPILE_TEST
> > -       select SND_ATMEL_SOC_DMA
> > +       select SND_SOC_GENERIC_DMAENGINE_PCM
> >         select REGMAP_MMIO
> >         help
> >           Say Y if you want to add support for Atmel ASoC driver for boards using
> 
> Yes, that works as well and looks reliable. I've sent another
> follow-up now, working on the
> assumption that we actually need SND_ATMEL_SOC_DMA.
> 
> Both patches make it build, but obviously only one of the two is
> actually correct. I assume you know what you are doing, so if
> you want to send your patch with a proper changelog, please add
> my
> 
> Tested-by: Arnd Bergmann <arnd@arndb.de>
> 

Ok, I'll test on a real board before the end of the week (I need to find
a speaker) and I'll send a proper patch.


-- 
Alexandre Belloni, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] ASoC: atmel-classd: select correct Kconfig symbol
  2017-12-05 22:07         ` Alexandre Belloni
@ 2017-12-08 14:30           ` Alexandre Belloni
  0 siblings, 0 replies; 13+ messages in thread
From: Alexandre Belloni @ 2017-12-08 14:30 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Nicolas Ferre, Mark Brown, Liam Girdwood, Jaroslav Kysela,
	Takashi Iwai, alsa-devel, Linux ARM, Linux Kernel Mailing List

On 05/12/2017 at 23:07:59 +0100, Alexandre Belloni wrote:
> On 05/12/2017 at 14:28:28 +0100, Arnd Bergmann wrote:
> > On Tue, Dec 5, 2017 at 1:47 PM, Alexandre Belloni
> > <alexandre.belloni@free-electrons.com> wrote:
> > > On 05/12/2017 at 12:13:41 +0100, Arnd Bergmann wrote:
> > >
> > > Ok, does that solve both randconfigs?
> > >
> > > diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig
> > > index 4a56f3dfba51..dcee145dd179 100644
> > > --- a/sound/soc/atmel/Kconfig
> > > +++ b/sound/soc/atmel/Kconfig
> > > @@ -64,7 +64,7 @@ config SND_AT91_SOC_SAM9X5_WM8731
> > >  config SND_ATMEL_SOC_CLASSD
> > >         tristate "Atmel ASoC driver for boards using CLASSD"
> > >         depends on ARCH_AT91 || COMPILE_TEST
> > > -       select SND_ATMEL_SOC_DMA
> > > +       select SND_SOC_GENERIC_DMAENGINE_PCM
> > >         select REGMAP_MMIO
> > >         help
> > >           Say Y if you want to add support for Atmel ASoC driver for boards using
> > 
> > Yes, that works as well and looks reliable. I've sent another
> > follow-up now, working on the
> > assumption that we actually need SND_ATMEL_SOC_DMA.
> > 
> > Both patches make it build, but obviously only one of the two is
> > actually correct. I assume you know what you are doing, so if
> > you want to send your patch with a proper changelog, please add
> > my
> > 
> > Tested-by: Arnd Bergmann <arnd@arndb.de>
> > 
> 
> Ok, I'll test on a real board before the end of the week (I need to find
> a speaker) and I'll send a proper patch.
> 

So I've tested and this works properly, I've sent the patch (as you
probably have seen).

-- 
Alexandre Belloni, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH] ASoC: atmel-classd: select correct Kconfig symbol
@ 2017-12-08 14:18 Alexandre Belloni
  0 siblings, 0 replies; 13+ messages in thread
From: Alexandre Belloni @ 2017-12-08 14:18 UTC (permalink / raw)
  To: Nicolas Ferre, Mark Brown, Arnd Bergmann
  Cc: Liam Girdwood, Jaroslav Kysela, Takashi Iwai, alsa-devel,
	linux-arm-kernel, linux-kernel, Alexandre Belloni

SND_ATMEL_SOC_CLASSD selects SND_ATMEL_SOC_DMA but the driver itself
handles its own DMA operations and doesn't need anything from
atmel-pcm-dma.c or atmel_ssc_dai.c.

Replace SND_ATMEL_SOC_DMA by SND_SOC_GENERIC_DMAENGINE_PCM which is the
only one actually required.

This may end up in a configuration leading to a link error:

sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_set_audio':
atmel_ssc_dai.c:(.text+0x79c): undefined reference to `atmel_pcm_dma_platform_register'
atmel_ssc_dai.c:(.text+0x79c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `atmel_pcm_dma_platform_register'
sound/soc/atmel/atmel_ssc_dai.o: In function `atmel_ssc_put_audio':
atmel_ssc_dai.c:(.text+0xf24): undefined reference to `atmel_pcm_dma_platform_unregister'
atmel_ssc_dai.c:(.text+0xf24): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `atmel_pcm_dma_platform_unregister'

Tested on sama5d2 xplained with the following configuration
where nothing selects SND_ATMEL_SOC_DMA:

CONFIG_SND_ATMEL_SOC=y
CONFIG_SND_ATMEL_SOC_CLASSD=y

Reported-by: Arnd Bergmann <arnd@arndb.de>
Tested-by: Arnd Bergmann <arnd@arndb.de>
Fixes: e0a25b6d1862 ("ASoC: atmel-classd: add the Audio Class D Amplifier")
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
---
 sound/soc/atmel/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig
index 4a56f3dfba51..dcee145dd179 100644
--- a/sound/soc/atmel/Kconfig
+++ b/sound/soc/atmel/Kconfig
@@ -64,7 +64,7 @@ config SND_AT91_SOC_SAM9X5_WM8731
 config SND_ATMEL_SOC_CLASSD
 	tristate "Atmel ASoC driver for boards using CLASSD"
 	depends on ARCH_AT91 || COMPILE_TEST
-	select SND_ATMEL_SOC_DMA
+	select SND_SOC_GENERIC_DMAENGINE_PCM
 	select REGMAP_MMIO
 	help
 	  Say Y if you want to add support for Atmel ASoC driver for boards using
-- 
2.15.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2017-12-08 14:31 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-05 10:09 [PATCH] ASoC: atmel-classd: select correct Kconfig symbol Arnd Bergmann
2017-12-05 10:57 ` Alexandre Belloni
2017-12-05 11:13   ` Arnd Bergmann
2017-12-05 11:27     ` Nicolas Ferre
2017-12-05 12:47     ` Alexandre Belloni
2017-12-05 13:28       ` Arnd Bergmann
2017-12-05 22:07         ` Alexandre Belloni
2017-12-08 14:30           ` Alexandre Belloni
2017-12-05 12:48 ` Applied "ASoC: atmel-classd: select correct Kconfig symbol" to the asoc tree Mark Brown
2017-12-05 12:51   ` Mark Brown
2017-12-05 12:52   ` Nicolas Ferre
2017-12-05 12:48 ` Mark Brown
2017-12-08 14:18 [PATCH] ASoC: atmel-classd: select correct Kconfig symbol Alexandre Belloni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).