I2S audio on XPS13 with Linux 4.5

While upgrading the Linux kernel on my XPS13, I noticed that I could no longer find the option to enable the ASoC driver that is needed when the sound card is running in I2S mode. The symbol (SND_SOC_INTEL_BROADWELL_MACH) was still there, but it didn't show up at the expected location. I also had all dependencies enabled, so I was a bit surprised it didn't show up.

After looking again, I noticed this in the dependencies:

DW_DMAC_CORE [=m]=y

So in my config, DW_DMAC_CORE was modular but to be able to enable SND_SOC_INTEL_BROADWELL_MACH, it has to be built-in. DW_DMAC_CORE is not directly selectable in menuconfig, but is selected by DW_DMAC && DMADEVICES. And in my config, I have DW_DMAC=m, hence DW_DMAC_CORE is also modular.

The solution is really simple, you have to change DW_DMAC from modular to built-in, but I've seen other people on IRC claiming I2S audio broke in 4.5 so I decided to do a quick post about it.

So in menuconfig, make sure you have * instead of M, like below:

-> Device Drivers
-> DMA Engine support
<*> Synopsys DesignWare AHB DMA platform driver

Tags: 

Topics: