From: Randy Dunlap <rdunlap@infradead.org>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Codrin.Ciubotariu@microchip.com,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
ALSA Development Mailing List <alsa-devel@alsa-project.org>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>,
mirq-linux@rere.qmqm.pl,
Alexandre Belloni <alexandre.belloni@free-electrons.com>
Subject: Re: [PATCH v3] ASoC: atmel: ATMEL drivers don't need HAS_DMA
Date: Thu, 9 Sep 2021 18:53:03 -0700 [thread overview]
Message-ID: <9c1bbf15-ebba-e754-8fac-9cc7b218651c@infradead.org> (raw)
In-Reply-To: <CAMuHMdXcmW27KhQEgxmVSDgR8GDnb_5mYNPYepa15F_tKqk9-A@mail.gmail.com>
On 9/9/21 12:22 AM, Geert Uytterhoeven wrote:
> Hi Randy,
>
> On Wed, Sep 8, 2021 at 10:14 PM Randy Dunlap <rdunlap@infradead.org> wrote:
>> On 9/6/21 12:14 AM, Geert Uytterhoeven wrote:
>>> On Fri, Sep 3, 2021 at 9:53 PM Randy Dunlap <rdunlap@infradead.org> wrote:
>>>> On 9/2/21 9:44 AM, Geert Uytterhoeven wrote:
>>>>> On Thu, Jul 8, 2021 at 6:51 PM Randy Dunlap <rdunlap@infradead.org> wrote:
>>>>>> On 7/8/21 1:19 AM, Codrin.Ciubotariu@microchip.com wrote:
>>>>>>> On 08.07.2021 00:47, Randy Dunlap wrote:
>>>>>>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>>>>>>>
>>>>>>>> On a config (such as arch/sh/) which does not set HAS_DMA when MMU
>>>>>>>> is not set, several ATMEL ASoC drivers select symbols that cause
>>>>>>>> kconfig warnings. There is one "depends on HAS_DMA" which is no longer
>>>>>>>> needed. Dropping it eliminates the kconfig warnings and still builds
>>>>>>>> with no problems reported.
>>>>>>>>
>>>>>>>> Fix the following kconfig warnings:
>>>>>>>>
>>>>>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_PDC
>>>>>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && HAS_DMA [=n]
>>>>>>>> Selected by [m]:
>>>>>>>> - SND_ATMEL_SOC_SSC [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m]
>>>>>>>> - SND_ATMEL_SOC_SSC_PDC [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m]
>>>>>>>>
>>>>>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC_PDC
>>>>>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m] && HAS_DMA [=n]
>>>>>>>> Selected by [m]:
>>>>>>>> - SND_AT91_SOC_SAM9G20_WM8731 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && SND_SOC_I2C_AND_SPI [=m]
>>>>>>>>
>>>>>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC
>>>>>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && HAS_DMA [=n]
>>>>>>>> Selected by [m]:
>>>>>>>> - SND_ATMEL_SOC_SSC_DMA [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m]
>>>>>>>>
>>>>>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC_DMA
>>>>>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m] && HAS_DMA [=n]
>>>>>>>> Selected by [m]:
>>>>>>>> - SND_ATMEL_SOC_WM8904 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && I2C [=m]
>>>>>>>> - SND_AT91_SOC_SAM9X5_WM8731 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && SND_SOC_I2C_AND_SPI [=m]
>>>>>>>>
>>>>>>>> Fixes: 3951e4aae2ce ("ASoC: atmel-pcm: dma support based on pcm dmaengine")
>>>>>>>> Fixes: 18291410557f ("ASoC: atmel: enable SOC_SSC_PDC and SOC_SSC_DMA in Kconfig")
>>>>>>>> Fixes: 061981ff8cc8 ("ASoC: atmel: properly select dma driver state")
>>>>>>>
>>>>>>> I am not sure about these fixes tags. As Alexandre mentioned, it looks
>>>>>>> like the reason for HAS_DMA in the first place was the COMPILE_TEST with
>>>>>>> m32r arch. I dig a bit, and, if any, I think we should use:
>>>>>>> Fixes: eb17726b00b3 ("m32r: add simple dma")
>>>>>>> since this commit adds dummy DMA support for m32r and seems to fix the
>>>>>>> HAS_DMA dependency.
>>>>>>
>>>>>> Ah, I forgot to update the Fixes: tag(s).
>>>>>>
>>>>>> I won't disagree with your Fixes: suggestion (good digging) but
>>>>>> I would probably have used 8d7d11005e930:
>>>>>> ASoC: atmel: fix build failure
>>>>>> which is the commit that added "depends on HAS_DMA".
>>>>>
>>>>> M32r was not the only platform NO_DMA, so I guess the build would
>>>>> have failed for the others, too (e.g. Sun-3).
>>>>>
>>>>> So the real fix was probably commit f29ab49b5388b2f8 ("dma-mapping:
>>>>> Convert NO_DMA get_dma_ops() into a real dummy"), or one of the
>>>>> related commits adding dummies to subsystems.
>>>>
>>>> Does this mean that some other actions are needed here?
>>>> E.g. revert + a different kind of fix?
>>>
>>> While we can now compile drivers using DMA features on NO_DMA
>>> platforms, thanks to the dummies, it does mean many of these drivers
>>> cannot work on such platforms. So I think it makes sense to replace
>>> "depends on HAS_DMA" by "depends on HAS_DMA || COMPILE_TEST" if DMA
>>> is not optional to the driver.
>>
>> Hi Geert,
>>
>> Is this what you had in mind? It seems to work with my (limited)
>> testing.
>
> Yes. And also for other symbols for drivers that now compile fine
> if !HAS_DMA, thanks to the dummies.
>
>> --- linux-next-20210907.orig/sound/soc/atmel/Kconfig
>> +++ linux-next-20210907/sound/soc/atmel/Kconfig
>> @@ -11,6 +11,7 @@ if SND_ATMEL_SOC
>>
>> config SND_ATMEL_SOC_PDC
>> bool
>> + depends on HAS_DMA || COMPILE_TEST
>>
>> config SND_ATMEL_SOC_DMA
>> bool
Well. Addressing only sound/, only one more patch is needed AFAICT.
For Kconfigs outside of sound/, that would be more of a medium-length
project.
Lightly/successfully build-tested.
---
sound/soc/fsl/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- linux-next-20210907.orig/sound/soc/fsl/Kconfig
+++ linux-next-20210907/sound/soc/fsl/Kconfig
@@ -5,7 +5,7 @@ comment "Common SoC Audio options for Fr
config SND_SOC_FSL_ASRC
tristate "Asynchronous Sample Rate Converter (ASRC) module support"
- depends on HAS_DMA
+ depends on HAS_DMA || COMPILE_TEST
select REGMAP_MMIO
select SND_SOC_GENERIC_DMAENGINE_PCM
help
WARNING: multiple messages have this Message-ID (diff)
From: Randy Dunlap <rdunlap@infradead.org>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: ALSA Development Mailing List <alsa-devel@alsa-project.org>,
Liam Girdwood <lgirdwood@gmail.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
mirq-linux@rere.qmqm.pl, Mark Brown <broonie@kernel.org>,
Alexandre Belloni <alexandre.belloni@free-electrons.com>,
Codrin.Ciubotariu@microchip.com
Subject: Re: [PATCH v3] ASoC: atmel: ATMEL drivers don't need HAS_DMA
Date: Thu, 9 Sep 2021 18:53:03 -0700 [thread overview]
Message-ID: <9c1bbf15-ebba-e754-8fac-9cc7b218651c@infradead.org> (raw)
In-Reply-To: <CAMuHMdXcmW27KhQEgxmVSDgR8GDnb_5mYNPYepa15F_tKqk9-A@mail.gmail.com>
On 9/9/21 12:22 AM, Geert Uytterhoeven wrote:
> Hi Randy,
>
> On Wed, Sep 8, 2021 at 10:14 PM Randy Dunlap <rdunlap@infradead.org> wrote:
>> On 9/6/21 12:14 AM, Geert Uytterhoeven wrote:
>>> On Fri, Sep 3, 2021 at 9:53 PM Randy Dunlap <rdunlap@infradead.org> wrote:
>>>> On 9/2/21 9:44 AM, Geert Uytterhoeven wrote:
>>>>> On Thu, Jul 8, 2021 at 6:51 PM Randy Dunlap <rdunlap@infradead.org> wrote:
>>>>>> On 7/8/21 1:19 AM, Codrin.Ciubotariu@microchip.com wrote:
>>>>>>> On 08.07.2021 00:47, Randy Dunlap wrote:
>>>>>>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>>>>>>>
>>>>>>>> On a config (such as arch/sh/) which does not set HAS_DMA when MMU
>>>>>>>> is not set, several ATMEL ASoC drivers select symbols that cause
>>>>>>>> kconfig warnings. There is one "depends on HAS_DMA" which is no longer
>>>>>>>> needed. Dropping it eliminates the kconfig warnings and still builds
>>>>>>>> with no problems reported.
>>>>>>>>
>>>>>>>> Fix the following kconfig warnings:
>>>>>>>>
>>>>>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_PDC
>>>>>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && HAS_DMA [=n]
>>>>>>>> Selected by [m]:
>>>>>>>> - SND_ATMEL_SOC_SSC [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m]
>>>>>>>> - SND_ATMEL_SOC_SSC_PDC [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m]
>>>>>>>>
>>>>>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC_PDC
>>>>>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m] && HAS_DMA [=n]
>>>>>>>> Selected by [m]:
>>>>>>>> - SND_AT91_SOC_SAM9G20_WM8731 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && SND_SOC_I2C_AND_SPI [=m]
>>>>>>>>
>>>>>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC
>>>>>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && HAS_DMA [=n]
>>>>>>>> Selected by [m]:
>>>>>>>> - SND_ATMEL_SOC_SSC_DMA [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m]
>>>>>>>>
>>>>>>>> WARNING: unmet direct dependencies detected for SND_ATMEL_SOC_SSC_DMA
>>>>>>>> Depends on [n]: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && ATMEL_SSC [=m] && HAS_DMA [=n]
>>>>>>>> Selected by [m]:
>>>>>>>> - SND_ATMEL_SOC_WM8904 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && I2C [=m]
>>>>>>>> - SND_AT91_SOC_SAM9X5_WM8731 [=m] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_ATMEL_SOC [=m] && (ARCH_AT91 || COMPILE_TEST [=y]) && ATMEL_SSC [=m] && SND_SOC_I2C_AND_SPI [=m]
>>>>>>>>
>>>>>>>> Fixes: 3951e4aae2ce ("ASoC: atmel-pcm: dma support based on pcm dmaengine")
>>>>>>>> Fixes: 18291410557f ("ASoC: atmel: enable SOC_SSC_PDC and SOC_SSC_DMA in Kconfig")
>>>>>>>> Fixes: 061981ff8cc8 ("ASoC: atmel: properly select dma driver state")
>>>>>>>
>>>>>>> I am not sure about these fixes tags. As Alexandre mentioned, it looks
>>>>>>> like the reason for HAS_DMA in the first place was the COMPILE_TEST with
>>>>>>> m32r arch. I dig a bit, and, if any, I think we should use:
>>>>>>> Fixes: eb17726b00b3 ("m32r: add simple dma")
>>>>>>> since this commit adds dummy DMA support for m32r and seems to fix the
>>>>>>> HAS_DMA dependency.
>>>>>>
>>>>>> Ah, I forgot to update the Fixes: tag(s).
>>>>>>
>>>>>> I won't disagree with your Fixes: suggestion (good digging) but
>>>>>> I would probably have used 8d7d11005e930:
>>>>>> ASoC: atmel: fix build failure
>>>>>> which is the commit that added "depends on HAS_DMA".
>>>>>
>>>>> M32r was not the only platform NO_DMA, so I guess the build would
>>>>> have failed for the others, too (e.g. Sun-3).
>>>>>
>>>>> So the real fix was probably commit f29ab49b5388b2f8 ("dma-mapping:
>>>>> Convert NO_DMA get_dma_ops() into a real dummy"), or one of the
>>>>> related commits adding dummies to subsystems.
>>>>
>>>> Does this mean that some other actions are needed here?
>>>> E.g. revert + a different kind of fix?
>>>
>>> While we can now compile drivers using DMA features on NO_DMA
>>> platforms, thanks to the dummies, it does mean many of these drivers
>>> cannot work on such platforms. So I think it makes sense to replace
>>> "depends on HAS_DMA" by "depends on HAS_DMA || COMPILE_TEST" if DMA
>>> is not optional to the driver.
>>
>> Hi Geert,
>>
>> Is this what you had in mind? It seems to work with my (limited)
>> testing.
>
> Yes. And also for other symbols for drivers that now compile fine
> if !HAS_DMA, thanks to the dummies.
>
>> --- linux-next-20210907.orig/sound/soc/atmel/Kconfig
>> +++ linux-next-20210907/sound/soc/atmel/Kconfig
>> @@ -11,6 +11,7 @@ if SND_ATMEL_SOC
>>
>> config SND_ATMEL_SOC_PDC
>> bool
>> + depends on HAS_DMA || COMPILE_TEST
>>
>> config SND_ATMEL_SOC_DMA
>> bool
Well. Addressing only sound/, only one more patch is needed AFAICT.
For Kconfigs outside of sound/, that would be more of a medium-length
project.
Lightly/successfully build-tested.
---
sound/soc/fsl/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- linux-next-20210907.orig/sound/soc/fsl/Kconfig
+++ linux-next-20210907/sound/soc/fsl/Kconfig
@@ -5,7 +5,7 @@ comment "Common SoC Audio options for Fr
config SND_SOC_FSL_ASRC
tristate "Asynchronous Sample Rate Converter (ASRC) module support"
- depends on HAS_DMA
+ depends on HAS_DMA || COMPILE_TEST
select REGMAP_MMIO
select SND_SOC_GENERIC_DMAENGINE_PCM
help
next prev parent reply other threads:[~2021-09-10 1:53 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-07 21:47 [PATCH v3] ASoC: atmel: ATMEL drivers don't need HAS_DMA Randy Dunlap
2021-07-07 21:47 ` Randy Dunlap
2021-07-07 21:59 ` Alexandre Belloni
2021-07-07 21:59 ` Alexandre Belloni
2021-07-08 8:19 ` Codrin.Ciubotariu
2021-07-08 8:19 ` Codrin.Ciubotariu
2021-07-08 16:50 ` Randy Dunlap
2021-07-08 16:50 ` Randy Dunlap
2021-09-02 16:44 ` Geert Uytterhoeven
2021-09-02 16:44 ` Geert Uytterhoeven
2021-09-03 19:53 ` Randy Dunlap
2021-09-03 19:53 ` Randy Dunlap
2021-09-06 7:14 ` Geert Uytterhoeven
2021-09-06 7:14 ` Geert Uytterhoeven
2021-09-08 20:14 ` Randy Dunlap
2021-09-08 20:14 ` Randy Dunlap
2021-09-09 7:22 ` Geert Uytterhoeven
2021-09-09 7:22 ` Geert Uytterhoeven
2021-09-10 1:53 ` Randy Dunlap [this message]
2021-09-10 1:53 ` Randy Dunlap
2021-07-12 10:46 ` Mark Brown
2021-07-12 10:46 ` Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9c1bbf15-ebba-e754-8fac-9cc7b218651c@infradead.org \
--to=rdunlap@infradead.org \
--cc=Codrin.Ciubotariu@microchip.com \
--cc=alexandre.belloni@free-electrons.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=geert@linux-m68k.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mirq-linux@rere.qmqm.pl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.