On Thu, Nov 2, 2017 at 5:04 PM, Vinod Koul vinod.koul@intel.com 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@arndb.de wrote:
On Thu, Nov 2, 2017 at 1:43 PM, Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com 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?
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.
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.
Arnd