Re: [alsa-devel] [PATCH] ASoC: Intel: fix Kconfig dependencies

From: Vinod Koul
Date: Thu Nov 02 2017 - 12:29:33 EST


On Thu, Nov 02, 2017 at 05:25:01PM +0100, Arnd Bergmann wrote:
> On Thu, Nov 2, 2017 at 5:04 PM, Vinod Koul <vinod.koul@xxxxxxxxx> wrote:
> > On Thu, Nov 02, 2017 at 02:12:11PM +0100, Arnd Bergmann wrote:
> >> On Thu, Nov 2, 2017 at 2:04 PM, Arnd Bergmann <arnd@xxxxxxxx> wrote:
> >> > On Thu, Nov 2, 2017 at 1:43 PM, Pierre-Louis Bossart
> >> > <pierre-louis.bossart@xxxxxxxxxxxxxxx> wrote:
> >> >> On 11/2/17 6:07 AM, Arnd Bergmann wrote:
> >> >>>
> >> >>> I ran into multiple problems during randconfig builds of the
> >> >>> recently changed Kconfig logic for Intel ASoC drivers:
> >> >>
> >> >>
> >> >> we did quite a bit of testing on this change, looks like we missed a number
> >> >> of cases. Gah.
> >> >>
> >> >>>
> >> >>> - Building without DMADEVICES doesn't work in general
> >> >>
> >> >>
> >> >> the Intel audio hardware has its own DMA in general, be it based on
> >> >> DesignWare controlled by audio firmware or HDaudio, not sure if/why this
> >> >> dependency is needed across the board?
> >> >
> >> > Probably my mistake. I'll try again without the dependency and see
> >> > what problems I run into then and what the correct fix is.
> >>
> >> I immediately ran into this Kconfig warning, so this is clearly for the two
> >> users of SND_SOC_INTEL_SST_FIRMWARE:
> >>
> >> warning: (SATA_DWC_OLD_DMA && SERIAL_8250_LPSS &&
> >> SND_SOC_INTEL_SST_FIRMWARE) selects DW_DMAC_CORE which has unmet
> >> direct dependencies (DMADEVICES)
> >
> > The BYT legacy drivers used DMAengine (dw) to load the firmware and hence the
> > dependency. The Skylake and other drivers do not need that, so we should
> > move this from toplevel to the BYT driver only.
>
> Ok, so Haswell also shouldn't select SND_SOC_INTEL_SST_FIRMWARE, right?

I am not sure on that. Liam?

>
> >> config SND_SOC_INTEL_SST_FIRMWARE
> >> tristate
> >> - select DW_DMAC_CORE
> >
> > this is required as we need this DMA driver. It might not have issues on
> > compile but functionality would be broken.
>
> It's also broken at compile time, I just ran into that.

okay better then :)

> >> config SND_SOC_INTEL_SST_ACPI
> >> tristate
> >> @@ -32,19 +31,20 @@ config SND_SOC_ACPI_INTEL_MATCH
> >> config SND_SOC_INTEL_SST_TOPLEVEL
> >> tristate "Intel ASoC SST drivers"
> >> depends on X86 || COMPILE_TEST
> >> - depends on DMADEVICES
> >
> > This is fine
> >
> >> select SND_SOC_INTEL_MACH
> >> select SND_SOC_INTEL_COMMON
> >>
> >> config SND_SOC_INTEL_HASWELL
> >> tristate "Intel ASoC SST driver for Haswell/Broadwell"
> >> depends on SND_SOC_INTEL_SST_TOPLEVEL && SND_DMA_SGBUF
> >> + depends on DMADEVICES
> >
> > yes this and below seems right fix to me.
>
> Ok, thanks for taking a look! I'll let the randconfig builder chew on this
> overnight, and send a new version tomorrow.

Sounds good to me

--
~Vinod