Commit Graph

141 Commits

Author SHA1 Message Date
Rander Wang 896f73d36a topology: dmic: add dmic support in generic hda topology
Now sof kernel driver supports two dmic dai links: DMIC01 PIN,
which supports rate of 48k, and DMIC16k Pin, which supports rate
of 16k. And if four channels dmic is used, we only support one dmic
dai link. CHANNELS would check in intel-generic-dmic to generate
the correct topology file.

Tested on whiskylake & icelake & apollolake up2

Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
2019-04-19 10:19:04 +01:00
Seppo Ingalsuo 5ef0713b7b TPLG: Rename a volume scale macro to avoid confusion
The macro in tlv.m4 defines a volume scale from -64 dB with 2 dB
steps for playback pipelines. Hence the name m90s3 is incorrect.
The new name m64s2 is a correct description of the defined volume
scale. It's useful since there's another volume scale defined for
capture pipelines.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2019-04-18 22:06:13 +02:00
Seppo Ingalsuo 90a6efd154 TPLG: Change volume capture pipeline gain range to -50 .. +30 dB
This patch replaces the -64 to 0 dB volume scale for capture with
more practical -50 to +30 dB gain. The step is 1 dB. It allows to
compensate for different microphone model sensitivities when constant
acoustical decibels to digital decibels level is needed in a
microphone capture application.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2019-04-18 22:06:13 +02:00
Adrian Bonislawski 9d3471d851 coredump-reader: print exception cause and location
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-04-16 10:14:37 +01:00
Tomasz Lauda 68f27263c8 topology: increase number of periods for low latency pipeline
Increases number of periods for low latency playback pipeline
from 1 to 2 for volume and mixer components. 1 period
is not good enough to have continuous DMA transfer across
the whole pipeline, especially with the new copy flow,
which requires playback pipeline preload.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-04-16 10:13:20 +01:00
Seppo Ingalsuo 1b15fad849 TPLG: Fix mistake in 2ch configuration related DMIC macro
This patch fixes 2ch dmic capture topology. It appeared as topology
completion fail in SOF boot. The missing quote characters in m4
caused the STEREO_PDM0 macro triggered lines to no not be included
into conf file.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2019-04-15 23:08:08 +02:00
Kai Vehmanen e14ab7088b tools: logger: fix parsing of -s argument
Fix logic for saving the snapshot file argument. getopt()
is called at least once after snapshot option is parsed and
getopt() will erase the optarg value when exiting the while
loop. Without this patch, argument is always NULL and snapshot
cannot be taken.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2019-04-15 16:25:39 +01:00
Adrian Bonislawski db1e17d880 coredump-reader: grep gdb output to print only interesting parts
this will hide default starting gdb prints

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-04-15 15:41:49 +02:00
Kai Vehmanen 9fa0aef635 tools: logger: ignore end-of-file in trace mode
Change logger behaviour such that in trace (-t) mode logger
only stops if an error is detected. If no error, logger
continues to try and read data from debugfs node.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2019-04-11 10:29:54 +02:00
Adrian Bonislawski ed6ac05f6b coredump-reader: proper structs alignment with fw data
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-04-09 12:46:48 +02:00
Adrian Bonislawski faf6696ea3 coredump-reader: fix windowbase and windowstart calculations
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-04-09 12:46:48 +02:00
Adrian Bonislawski b5ea5da52b coredump: add stack ptr + rewind_frames offset to plat header
+ coredump-reader changes to use new variable
+ moved dump_stack before arch_dump_regs in panic

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-04-09 12:46:48 +02:00
Janusz Jankowski 3caeefd824 tools: scripts: update host installation path
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-04-05 15:01:44 +01:00
Adrian Bonislawski 1071076be1 coredump: enhancement of example file
To make it more user-friendly by getting rid of empty prompts in output

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-04-05 11:25:16 +02:00
Adrian Bonislawski 5949148b94 coredump-reader: add info to notice user about non-critical warning
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-04-04 15:10:42 +01:00
Adrian Bonislawski fc13cff773 coredump-reader: unnecessary comments removed
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-04-04 15:10:42 +01:00
Adrian Bonislawski db7a3cfe1b coredump-reader: core header and registers printing separately
To separate them visually for better reading

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-04-04 15:10:42 +01:00
Adrian Bonislawski 56682f4d79 coredump-reader: remove isatty() and fixed print when used with piped more
Now it is possible to pipe output with 'more'

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-04-04 15:10:42 +01:00
Adrian Bonislawski 2e63ee2144 coredump-reader: make columncount dependent on verbose option in help
This is to notice user that columncount option will work only with verbose

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-04-04 15:10:42 +01:00
Adrian Bonislawski 75466d8b2d coredump-reader: remove unnecessary separator + proper permissions
Two separators didnt work correctly

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-04-04 15:10:42 +01:00
Xun Zhang cbbc6afd35 tools: test: topology: add argument to fix build error in test tplg
Add one argument in test-tone-playback.m4 to fix the building error
of insufficient PIPELINE_ADD arguments.

Signed-off-by: Xun Zhang <xun2.zhang@intel.com>
2019-04-03 21:39:42 +01:00
Marcin Maka cbd3e07031 tools: doc: README converted to README.md
MD content is rendered by GH automatically when listing
tools folder.

Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
2019-04-02 12:23:13 +01:00
Bard liao ed97bb9418 topology: update HDA index
The index should be 0,1,2 instead of all 0.

Signed-off-by: Bard liao <yung-chuan.liao@linux.intel.com>
2019-04-02 09:52:25 +01:00
Adrian Bonislawski 592ffdd567 coredump-reader: add README
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-04-01 12:39:46 +01:00
Ranjani Sridharan eac4a73232 scripts: use project root directory instead of relative path
Use the SOF project root directory in get_abi.sh to read the
ABI macros instead of using the relative path.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2019-04-01 10:39:26 +01:00
Marcin Maka ad0ff1f2e5 tools: logger: added less formatted output mode
Activated by '-r' option. Useful for intermediate log
processing when the output is used as an input for another
tool. No headers, tokens separated by single spaces,
component ids concatenated with component name to
still produce a single token if present.

Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
2019-04-01 11:37:57 +02:00
Bard liao 052942c863 topology: add ABI information
We can add ABI information to the Manifest section. So kernel can
check if the topology is compatible with the kernel.

Signed-off-by: Bard liao <yung-chuan.liao@linux.intel.com>
2019-03-29 16:55:04 +00:00
Adrian Bonislawski 2302012fe9 coredump-reader: fix fg error when running without colours
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-03-29 13:27:53 +01:00
Kai Vehmanen a9cb19ada3 topology: add param check to PIPELINE_*() macros
Abort build if not all mandatory arguments are passed to
the top-level pipeline macros.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2019-03-29 12:14:05 +00:00
Kai Vehmanen 10c641d307 topology: add param check to VIRTUAL_WIDGET()
Abort build if not all mandatory arguments are passed to the
macro.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2019-03-29 12:14:05 +00:00
Kai Vehmanen 90fbcd54f3 topology: add param check to DAI_CONFIG()
Abort build if not all mandatory arguments are passed to the
macro.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2019-03-29 12:14:05 +00:00
Kai Vehmanen 322fe24e95 topology: add param checks to PCM macros
Abort build if not all mandatory arguments are passed to
the macros. This should help to catch invalid usage.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2019-03-29 12:14:05 +00:00
Tomasz Lauda 6a0dcb3a10 topology: update all HDA pipelines to use timer
Updates all HDA pipelines in topologies to use
timer as a scheduling source.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-03-27 21:44:02 +00:00
Keyon Jie 0da78d7236 topology: refine scheduling period and add time domain for pipelines
Rename 'deadline' to 'period' to indicate pipeline scheduling period,
and add time domain to indicate the pipeline scheduling domain (e.g. DMA
interrupt, timer interrupt).

Please be noticed that this might introduce an abi change so consequent
abi changes in both FW and driver side are needed.

Haven't set the flag in topology/sof/sof-xxx.m4 yet, that means it will
use io/interrupt scheduling for those topologies/pipelines at the
moment, if wanna to change them, please change them specific there.

Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-03-27 21:44:02 +00:00
Adrian Bonislawski 44705dfc09 debugability: update coredump reader
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-03-27 21:10:48 +00:00
Fred Oh 498a5f571d topology: enable LBM for nocodec topology
Add quirks parameter in SSP_CONFIG_DATA(). Enable LBM in dupulex pipelines
by setting quirks as SOF_DAI_INTEL_SSP_QUIRK_LBM 64(1<<6). SSPx.IN port get
PCM data from SSPx.OUT. Note both mclk and quirks are optional parameter.
When quirks set, mclk should have value or initialize to default value
which is 0.

Signed-off-by: Fred Oh <fred.oh@linux.intel.com>
2019-03-27 11:39:58 +00:00
Fred Oh 5194eabf4f topology: ssp: add quirks parameter in SSP_CONFIG_DATA
Support quirks setting from topology. quirk are used to set
ssc1/ssc2 registers according to its bit value.

Signed-off-by: Fred Oh <fred.oh@linux.intel.com>
2019-03-27 11:39:58 +00:00
Tomasz Lauda 9890d2b782 topology: add missing param to hda-generic-idisp topology
Adds missing param to sof-hda-generic-idisp.m4.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-03-26 17:18:22 +00:00
Bartosz Kokoszko e5cf39ff9c schedule: ll: add ll specific traces
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
2019-03-26 16:20:34 +00:00
Pierre-Louis Bossart e54087caa4 topology: add support for HDMI only w/ 3 iDISP streams
This is useful for headless devices such as Up2 with no external
HDAudio codec but an HDMI/DP output.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2019-03-21 15:39:00 +00:00
Pierre-Louis Bossart 65fb817100 topology: rename HDA topology to name used by kernel
s/sof-hda-intel-common/sof-hda-generic

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2019-03-21 15:39:00 +00:00
Sathya Prakash M R b70e9151cb topology: Add CML topology support for rt5682+max98357a variant
Add max98357a speaker on top of sof-rt5682 CML Audio topology

Signed-off-by: Sathya Prakash M R <sathya.prakash.m.r@intel.com>
2019-03-20 11:19:31 +00:00
Bartosz Kokoszko 648345065a scheduler: add new generic scheduler api
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>
2019-03-19 14:37:15 +00:00
Ranjani Sridharan 0ead3bda19 topology: merge bdw codec topologies into single m4
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>
2019-03-15 11:51:18 +00:00
Ranjani Sridharan 08c0db49f1 topology: merge all byt codec topologies into one m4 file
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>
2019-03-15 11:51:18 +00:00
Ranjani Sridharan cd2168cf2b topology: pipe-pcm-media fix various typos/errors in comments
fix some typos and copy errors in pipe-pcm-media m4 file.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2019-03-15 11:51:18 +00:00
Ranjani Sridharan 958ed657c1 topology: merge sof-byt-nocodec and sof-cht-nocodec m4 files
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>
2019-03-15 11:51:18 +00:00
Ranjani Sridharan e5e5dcc806 topology: merge sof-apl-dmic-2ch and sof-apl-dmic-4ch m4 files
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>
2019-03-15 11:51:18 +00:00
Ranjani Sridharan 17f85baa70 topology: merge sof-cml-rt5682 and sof-whl-rt5682 m4 files
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>
2019-03-15 11:51:18 +00:00
Guennadi Liakhovetski 01f1a4aeae tools: fix a typo
"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>
2019-03-14 10:13:22 +00:00