This commit:
1. Renames specific schedulers:
- schedule (.c/.h) -> edf_schedule (.c/.h)
- work (.c/.h) -> ll_schedule (.c/.h)
2. Implements new generic scheduler api based on generic
struct with scheduler ops. Every specific
scheduler exports struct with pointers to its
specific functions.
3. Makes edf and ll using generic api (exports structure
with pointers to its own specific functions)
4. Updates host and pipeline tests due to scheduler
changes.
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
Use the same m4 file to generate the topology for all bdw
boards based on the CODEC name defined during compilation.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
BYT with RT5645, RT5640, RT5651 and DA7213 all have similar
topologies with the only difference in codec name. Merge
them all into a single m4 file and set the codec name
using the macro defined during compilation.
This will also take care of adding the virtual widgets
for all the BYT topologies for compatibility with the
machine drivers.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Merge the 2 m4 files and use the PLATFORM defined during
compilation to generate the appropriate topology.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Use the same m4 files to generate both 2ch and 4ch topologies
by defining channels during compilation.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
The only difference between them is the SSP index and name.
Use a macro during compilation to indicate which platform
we're building for and set these appropriately.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
"Formate" and "format" are two different words, in this case it's
"format" that is meant.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Add pipeline with keyword detect and channel selector comps.
This should be connected to a capture pipeline such as
pipe-kfbm-capture.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Add support for constructing and adding keyword detect
component in topology
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Add support for generic capture pipeline with a KPBM between PCM and
other pipelines. This can be used for Keyword detection use case.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
We can use widget type combined with component type to identify specific
process type, the subtype is no need anymore, here remove it.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Add virtual widgets for ssp2 RX/TX for compatibility with the
bytcr_rt5651 machine driver. This is needed now because a recent
change in the driver removed these from the dai definitions
which results in card registration failure.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Some properties are not populated from the topologies and not being used
by DSP either. Need to clean up token data structures. These are
identified as unused.
comp_tokens: preload_count
dai_tokens: dmac_config
Signed-off-by: Fred Oh <fred.oh@linux.intel.com>
the kcontrol item name doesn't follow the SOURCE:DIRECTION:FUNCTION, and
can't separate playback and capture when display in alsamixer.
This fix is to move the pipeline id from the end of the name to the
head, this will make alsamixer to serperate playback and capture when
press F3 F4.
Signed-off-by: Zhu Yingjiang <yingjiang.zhu@linux.intel.com>
Some pipelines might need to share the scheduling comp
with other pipelines. In this case, the scheduling comp
name should be passed as an argument.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
The token can be used for more generic processing, not only effect
component, let's rename it.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
This patch replaces all the filter coefficients to avoid the
unpleasant effect of samples saturation that the previous 0 dB max.
gain scaled coefficients could cause. The saturation of transients
may still happen but it should be more rare.
The filter coefficients scaling is changed from fixed pass band peak
align (to 0 dB) into DC gain controllable via new parameter gain in
src_param.m.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This route is automatically created when the host comp is created
during topology loading. So remove it to avoid duplicating
the connection in the dapm graph.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
alsatplg allows setting inverted bclk and fsync polarities
by setting either bclk_invert or fsync_invert to "true".
This patch adds a default parameter in the SSP_CLOCK m4
macro which allows setting inverted bclk and fsync polarities.
Signed-off-by: Dragos Tarcatu <dragos_tarcatu@mentor.com>
Argument -B<builddir> is not supported in minimum version of CMake
required by our project (3.10).
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
Add topology for WHL with RT5682. This will be merged with
sof-cml-rt5682 in the future to avoid maintaining 2 files
with just the difference in SSP port numbers.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
The CML board has the rt5682 connected to SSP0 and the
machine driver defines the dai link for the headset
with the name "SSP0-codec" too. So change the topology
file accordingly.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
HDaudio support was missing, along with a slew of codecs
Also add a log on module insertion
Tested on Up2 with HDMI&PCM512x, and CHT w/ rt5645
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
missing 2 in DAI_ADD() macro. This seems to be the only place where this
typo/mistake happens
we really need a parameter checker or move away from M4...
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
filter out modprobe log if module is not in tree
also add missing codecs (rt5682 and wm8804) and reorder codec list
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>