~canonical-hwe-team/hwe-next/+git/sof:adl

Last commit made on 2021-03-16
Get this branch:
git clone -b adl https://git.launchpad.net/~canonical-hwe-team/hwe-next/+git/sof

Branch merges

Branch information

Recent commits

f305790... by Daniel Baluta <email address hidden>

platform: imx8: Fix clock frequency for i.MX8X

Looking at the timestamps from sof-logger it looks like
the DSP core frequency on i.MX8X is wrong.

Documentation confirms this. It should be 640Mhz.

Signed-off-by: Daniel Baluta <email address hidden>

25ed49f... by "Cristina Feies (ilie)" <email address hidden>

kwd sample: Add IMX platform as a dependency for SAMPLE_KEYPHRASE

This allows i.MX based platforms to use the
samples for the keyphrase detector

Signed-off-by: Cristina Feies (ilie) <email address hidden>

9c499bc... by "Cristina Feies (ilie)" <email address hidden>

topology: imx8m: add kwd component with wm8960 codec

Adapt the apl KWD topology to imx8m by switching to
SCHEDULE_TIME_DOMAIN_DMA on capture pipeline and
creating a no LP capture file for KFBM component.

Signed-off-by: Cristina Feies (ilie) <email address hidden>

1c09ccf... by Yong Zhi <email address hidden>

config: disable alh in jasperlake_defconfig

Since soundwire is not enabled on any jsl+ product,
it's safe to turn it off by default.

Signed-off-by: Yong Zhi <email address hidden>

e995bbb... by Marc Herbert <email address hidden>

Dockerfile: apt-get install tree

Required to remove the copy hack introduced in
commit eb4373cb6143 (".github: new installer.yml")

Signed-off-by: Marc Herbert <email address hidden>

5f93ad4... by Iuliana Prodan <email address hidden>

drivers: imx: sai: W1C for a clean start

On start W1C the Work Start Flag, Sync Error Flag and
FIFO Error Flag.

Write a logic 1 to this field to clear each of this
flags and have a clean start for SAI.

Signed-off-by: Iuliana Prodan <email address hidden>

f60adbb... by Iuliana Prodan <email address hidden>

drivers: imx: sai: update start/stop operations

For SAI, we have the synchronous mode enabled: the transmitter is
configured for asynchronous operation and the receiver for
synchronous operation.
In this case, transmitter bit clock and frame sync are used by both
the transmitter and receiver. So, when enabling RX we need to enable TX
(if not already enabled).

Therefore, for a clear start, we first do a software reset for the current
direction, but checking the state of RX and TX.
This will reset the internal transmitter/receiver logic including the FIFO
pointers.

For capture we can disable the receiver data channel, but on playback,
we can disable the transmitter only if the RX has the DMA requests
disabled.
Also, for capture, there's no need to enable the transmit data channel.
It's sufficient to enable only the transmitter, which enables the bit
clock (shared with RX).

On stop, we just need to disable the DMA request, the transmit/receive data
channel, the interrupts and the receiver and/or the transmitter.

Fixes: #3809

Signed-off-by: Iuliana Prodan <email address hidden>

0d20c6c... by Iuliana Prodan <email address hidden>

drivers: imx: sai: set SAI watermark only once

Set SAI watermark only once, on sai_set_config().
There is no need to set it each time, on start().

SAI watermark is kept on half FIFO size.

Signed-off-by: Iuliana Prodan <email address hidden>

1fa1001... by Iuliana Prodan <email address hidden>

dai: correct the order for DAI and DMA start/stop

To stop/suspend an active DMA channel:
1. Stop the DMA service request at the peripheral first (stop the DAI);
2. Disable the hardware service request on the appropriate DMA channel.

For start/resume:
1. Enable the DMA service request on the appropriate channel;
2. Enable the DMA service request at the peripheral (enable DAI).

When the start/stop order for DMA and DAI is different, on multiple
start/stop runs for playback or record or combined, we get an
underrun/overflow.
That's because the DAI makes a DMA request, before the DMA channel is
enabled.

Some platforms cannot just simple disable DMA channel during
the transfer, because it will hang the whole DMA controller.
Therefore, for DMA_SUSPEND_DRAIN, stop the DMA first
and let the DAI drain the FIFO in order to stop the channel
as soon as possible.

Fixes: #3809

Signed-off-by: Iuliana Prodan <email address hidden>

fa35ee0... by Iuliana Prodan <email address hidden>

kpb: fix type for force_copy_type

In kpb force_copy_type is declared as enum comp_copy_type,
but later on is initialized and compared with an integer
constant.

We should use everywhere only enum comp_copy_type.
Therefore add an invalid copy_type, COMP_COPY_INVALID in
enum comp_copy_type.
Use this one to initialize and compare force_copy_type.

Fixes: 7e46996c967e ("kpb: Introduce force_copy_type")

Signed-off-by: Iuliana Prodan <email address hidden>