~canonical-hwe-team/hwe-next/+git/sof:cml-hda-dmic-001-drop-stable

Last commit made on 2019-05-29
Get this branch:
git clone -b cml-hda-dmic-001-drop-stable https://git.launchpad.net/~canonical-hwe-team/hwe-next/+git/sof

Branch merges

Branch information

Name:
cml-hda-dmic-001-drop-stable
Repository:
lp:~canonical-hwe-team/hwe-next/+git/sof

Recent commits

6cc8da1... by Ranjani Sridharan <email address hidden>

dai: assign/free link DMA channel during dai_config()

The recommended HDA HW programming sequence for setting
the DMA format requires that the link DMA and host DMA
channels be coupled before setting the format. This
change means that host DMA or link DMA channels be
reserved even if only one is used.

Statically assigned link DMA channels would mean that
all the corresponding host DMA channels will need to be
reserved, leaving only a few channels available at run-time.
So, the suggestion here is to switch to dynamically assigning
both host DMA channels and link DMA channels are run-time.

This change means that the DAI_CONFIG IPC will be sent
multiple times during link hw_params and link hw_free
ioctl. The DAI config parameters will remain the same
except for the link DMA channel that will be assigned at
run-time. A value of DMA_CHAN_INVALID from the driver
during hw_free indicates a request to free the current
link DMA channel in use. The current channel in use
is freed before assiging the new channel requested in
the DAI_CONFIG IPC.

Signed-off-by: Ranjani Sridharan <email address hidden>

ce80a73... by Seppo Ingalsuo <email address hidden>

Topology: Change 16kHz DMIC DAI into 32bit mode and make scheduling 1ms

This patch changes the secondary DMIC FIFO configuration into 32 bits
mode for better quality. Since there is volume component in DMIC
capture pipelines the conversion to other PCM formats can happen
there. Using volume controller with 32 bit input gives a lot better
audio quality when the microphone signal needs amplification.

The scheduling of 16 kHz DAI is changed to 1000us. The comment
of 1000 us is correct but the parameter 48 is not. With 16 frames
the scheduling becomes the desired. This change should also save
some RAM due to smaller buffers.

Signed-off-by: Seppo Ingalsuo <email address hidden>

63e7547... by Seppo Ingalsuo <email address hidden>

Topology: Add support for 4ch 32bit 48kHz DMIC DAI

This patch restores the missing configuration into macro
intel-generic-dmic.m4. Without this patch the 48 kHz DMIC DAI
is not created. Both DMIC FIFOs are available at any channels
number and PCM format so there is no need to delete a DAI when
4ch configuration is used.

Signed-off-by: Seppo Ingalsuo <email address hidden>

63cb86f... by Janusz Jankowski <email address hidden>

drivers: move cavs kconfigs to separate file

Signed-off-by: Janusz Jankowski <email address hidden>

0beb086... by Janusz Jankowski <email address hidden>

kconfig: move CAVS_VERSION configs to platform

These definitions are more related to the platform/ip than drivers.

Signed-off-by: Janusz Jankowski <email address hidden>

a26c51a... by Jaska Uimonen <email address hidden>

topology: add volume component to demux topology

Demux topology doesn't have format conversions so playback files need to
be converted to S24 or S32 format. As this is a bit cumbersome add
volume component to demux topology to enable standard 16 bit playback
from alsa. Also change the demux capture pipe PCM format range.

Signed-off-by: Jaska Uimonen <email address hidden>

6e82ddf... by Ranjani Sridharan <email address hidden>

host: remove duplicate dma_stop()

Remove the duplicate dma_stop() during host_reset().
DMA should already be stopped when the host comp gets
the STOP trigger. This fixes the following error seen
during host reset:
intel/cavs/hda-dma.c:639 hda-dmac: 5 invalid channel -1

Signed-off-by: Ranjani Sridharan <email address hidden>

9ccb818... by ArturX Kloniecki <email address hidden>

pipeline: Limit propagation of params, prepare and reset.

In order to handle complex topologies, we need more precise control
over connected pipelines behaviour and propagation of events.
Better control is accomplished by limiting propagation of events in
case of mismatch between starting and desination pipelines that are
connected, for example when propagating from playback pipeline to branch
which endpoint is Host component, or reversely, when propagating from
capture pipeline to one with Dai endpoint.

Signed-off-by: ArturX Kloniecki <email address hidden>

56b8776... by Tomasz Lauda <email address hidden>

memcpy: replace all occurrences with memcpy_s

Replaces all occurrences of memcpy with memcpy_s.

Signed-off-by: Tomasz Lauda <email address hidden>

ca84a89... by Pierre-Louis Bossart <email address hidden>

kmod_scripts: first support for SoundWire

remove additional modules in the right order to stress test SoundWire
support

Signed-off-by: Pierre-Louis Bossart <email address hidden>