Commit Graph

324 Commits

Author SHA1 Message Date
Liam Girdwood e37aa3f422
Merge pull request #88 from akloniex/unify-logger
logger/rmbox: unify implementation of new logger tool with old rmbox
2018-10-08 20:40:37 +01:00
ArturX Kloniecki 86b8dafe41 logger/rmbox: unify implementation of new logger tool with old rmbox
Integrate both tools to provide common CLI.
Also provide better logging format for logger tool.

Signed-off-by: ArturX Kloniecki arturx.kloniecki@linux.intel.com
2018-10-08 19:38:35 +02:00
Liam Girdwood 2d7a933aa8
Merge pull request #91 from singalsu/fix_eq_m4_export
EQ tune: Update m4 format EQ filter coefficients syntax
2018-10-04 17:38:21 +01:00
Seppo Ingalsuo 7372f1ec7e EQ tune: Update m4 format EQ filter coefficients syntax
This patch updates the export format to currently used format in
topology. It adds also possibility to pass text comment into line
above the bytes from EQ design script. The date is appended
automatically after comment.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-10-04 18:17:17 +03:00
Liam Girdwood 8a56694668
Merge pull request #89 from cujomalainey/master
Use passed in number of channels for pipeline
2018-10-03 13:17:52 +01:00
Curtis Malainey 9050d82a7d Use passed in number of channels for pipeline
Pipelines should not expose more channels than what they are configured
to support.

Signed-off-by: Curtis Malainey <cujomalainey@google.com>
2018-10-02 13:54:04 -07:00
Liam Girdwood 54d191e82b
Merge pull request #87 from ranj063/eqctl
eqctl: do not process invalid input file name
2018-10-02 08:32:38 +01:00
Ranjani Sridharan e4171c89f8 eqctl: do not process invalid input file name
Fixes seg faults when input file does not exist.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2018-10-01 21:10:55 -07:00
Liam Girdwood 4c9498a8ac
Merge pull request #86 from xiulipan/pr/loggerfix
Some optimization to logger
2018-09-29 21:00:01 +01:00
Liam Girdwood e97bda295f
Merge pull request #74 from singalsu/add_eqctl_proposal
EQ: Add equalizer control tool eqctl
2018-09-29 20:53:28 +01:00
Liam Girdwood e66596e418
Merge pull request #84 from RanderWang/hda-fix
hda: add virtual widgets to kill error message in kernel log
2018-09-29 20:49:51 +01:00
Pan Xiuli a8d54314c9 logger: make logger usage similiar to old rmbox
Add wrapper for parser function and add default path for error
trace and dam trace.

Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
2018-09-29 13:10:35 +08:00
Pan Xiuli 8f9b35071b logger: run dos2unix for some format issues
Change some dos format to unix

Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
2018-09-29 13:10:35 +08:00
Pan Xiuli 497acc82a9 logger: change include filename for uapi
Did not include header in a absolute path.

Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
2018-09-29 13:10:35 +08:00
Rander Wang 2f65d96833 hda: add virtual widgets to kill error message in kernel log
Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
2018-09-29 10:40:21 +08:00
Seppo Ingalsuo 1a1e1268ee EQ: Add equalizer control tool eqctl
This patch adds a simple control tool to setup during runtime (idle)
the IIR or FIR equalizer with new coefficients configuration. It is
useful in tuning of the equalizers. The tool also has capability to read
the EQ configuration from DSP.

Run "sof-eqctl -h" to see usage. The directory SOFT/tune/eq contains tool
to create EQ setup data.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-09-28 17:41:53 +03:00
Liam Girdwood 918e401319
Merge pull request #77 from bkokoszx/logger
Logger: added tool for parsing new trace format
2018-09-28 13:45:14 +01:00
Bartosz Kokoszko 437de79ec0 logger: added and updated logger makefiles
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
2018-09-28 14:24:09 +02:00
Bartosz Kokoszko 6157e899e2 logger: added tool for parsing new trace format
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
2018-09-28 14:23:43 +02:00
Liam Girdwood 18c9950855
Merge pull request #82 from keyonjie/master
topology: add topology file for hda generic machine
2018-09-28 08:39:47 +01:00
Liam Girdwood 933fce3c88
Merge pull request #79 from bardliao/apl_rvp
topology: initial topology file for APL RVP
2018-09-28 08:23:50 +01:00
Keyon Jie 8dc01f7cb5 topology: add topology file for hda generic machine
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
2018-09-28 14:21:05 +08:00
Bard liao 41184b076f topology: initial topology file for APL RVP
It is basically copy from sof-apl-pcm512x.m4 and add hdmi support

Signed-off-by: Bard liao <bard.liao@intel.com>
2018-09-27 10:50:14 +08:00
Liam Girdwood 60c3937700
Merge pull request #76 from keyonjie/master
topology: sof-glk-da7219: update to use s32le format for HDMI pipelines
2018-09-26 11:58:48 +01:00
Keyon Jie 110378d61c topology: sof-glk-da7219: update to use s32le format for HDMI pipelines
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
2018-09-26 17:08:22 +08:00
Liam Girdwood 57b52120ab
Merge pull request #68 from juimonen/eq_test
[RFC] generic effect type with fir and iir eq
2018-09-25 10:56:45 +01:00
Jaska Uimonen 6b56dafe30 Topology: Add generic type string to effect widgets data field
Adding type string to widget data allows the driver to identify
different effects. As an example use this in the equalizer.

Also modify equalizer to pass default parameters in control's
private data.

Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
2018-09-25 08:26:30 +03:00
Seppo Ingalsuo baa791f6e1 Topology: Add Equalizer
This patch adds EQ, bytecontrol, and EQ+volume pipeline m4 macros and an
enhanced topology with EQ for UP2 + HiFiberry. There is not yet FIR/IIR
type select. The EQ type is currently hardcoded into kernel.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
2018-09-25 08:26:15 +03:00
Liam Girdwood 15030d4cab
Merge pull request #73 from cujomalainey/master
Set capabilities of channels to those defined in topology
2018-09-22 15:31:47 +01:00
Curtis Malainey 46fc6fdf6e Set capabilities of channels to those defined in topology
Do not use a static defined number of channels, use the channels passed
in otherwise ASoC will try to allocate number of channels that should
not be allowed.

Signed-off-by: Curtis Malainey <cujomalainey@google.com>
2018-09-21 13:21:12 -07:00
Liam Girdwood 78748d42b9
Merge pull request #72 from singalsu/fix_eq_fir_length_trailing_zeros
EQ FIR: Add check and removal for trailing zeros in filter coefficients
2018-09-19 20:35:36 +01:00
Liam Girdwood e4ca26b55f
Merge pull request #71 from singalsu/add_eq_m4_export
EQ Tool: Output topology m4 binary control style configuration data
2018-09-19 20:35:09 +01:00
Seppo Ingalsuo c43666d6f0 EQ FIR: Add check and removal for trailing zeros in filter coefficients
This patch adds removing of extra zeros in the FIR coefficients. The
zeros can happen in some responses due to fixed point quantization of
very small values. The zero taps consume DSP resources for nothing so
better to clean them out for EQ configuration data.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-09-19 16:36:22 +03:00
Seppo Ingalsuo e3d68ecd89 EQ Tool: Output topology m4 binary control style configuration data
This patch adds export function for the m4 syntax bytes data and adds
the export of such blob to example designs. The example EQ designs are
edited to make this format export too.

In addition the example FIR length is adjusted to be near current IPC
length maximum (384) and improve the effect quality.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-09-19 15:47:29 +03:00
Liam Girdwood d77beaf8bd
Merge pull request #67 from mengdonglin/topic/yorp
topology: Add 3 HDMI/DP PCMs and backends for GLK
2018-09-07 09:16:49 +01:00
Mengdong Lin 4c9e3ddaf3 topology: Add 3 HDMI/DP PCMs and backends for GLK
Define 3 new PCMs and backends for HDMI/DP playback on GLK platform.

Here are the updated pipelines in sof-glk-da7219.m4:
PCM0  ----> volume (pipe 1)   ---> SSP1 (speaker - maxim98357a, BE link 0)
PCM1  <---> volume (pipe 2,3) <--> SSP2 (headset - da7219, BE link 1)
PCM99 <---- volume (pipe 4)   <--- DMIC0 (dmic capture, BE link 2)
PCM5  ----> volume (pipe 5)   ---> iDisp1 (HDMI/DP playback, BE link 3)
PCM6  ----> Volume (pipe 6)   ---> iDisp2 (HDMI/DP playback, BE link 4)
PCM7  ----> volume (pipe 7)   ---> iDisp3 (HDMI/DP playback, BE link 5)

There is also support for changing HDMI/DP pipelines to pass-through for
validation purpose, which is commented off by default.

Pleaes note that 3 virtual widgets hifi1~3 are removed, because they'll
be created by HDMI codec driver. This m4 was verified on GLK platform.
2018-09-06 15:16:55 -04:00
Liam Girdwood d2721194f7
Merge pull request #66 from juimonen/testtarget
topology: make building tests into a separate target
2018-09-04 21:55:56 +01:00
Jaska Uimonen 1354af8b66 topology: make building tests into a separate target
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
2018-09-04 17:50:43 +03:00
Liam Girdwood 9af65849fa
Merge pull request #65 from juimonen/m4debug
[RFC] topology: first try of m4 debug macros
2018-09-04 13:09:03 +01:00
Jaska Uimonen 72629ac2d9 topology: first try of m4 debug macros
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
2018-09-04 15:04:53 +03:00
Liam Girdwood 796663bdca
Merge pull request #64 from mengdonglin/topic/hda-v3
v3 topology: Add suppport for HDA links
2018-09-04 11:54:18 +01:00
Mengdong Lin c0062f98c7 topology: Create HDMI only m4 file for APL
This patch creates sof_apl_hdmi.m4 to define topology for 3 playback
pipelines, FE and BE links for HDMI/DisplayPort(DP) audio. This can be
a reference to verify audio over HDMI/DP on APL platforms.

The HDMI/DP frontends are named as HDMIx, to reuse the generic HDA DSP
machine driver which checks the link names and will do extra
initialization on HDMI/DP frontends if "HDMI" is found in the link name.

This m4 does't include topology for using external HD-A analog codecs. We
will create another m4 file to include both HDA display and analog audio.

Signed-off-by: Mengdong Lin <mengdong.lin@linux.intel.com>
2018-09-03 21:51:52 -04:00
Mengdong Lin e767798c7f topology: Define hda.m4 for HD-Audio configurations
This patch adds a new file hda.m4.

This file defines macro HDA_DAI_CONFIG(idx, link_id, name) for user to
define configurations for HDA Backend links. The link's data tuple will
carry the HDA type info for kernel driver to check the link type.

Pleae note that there are no HW configurations defined for HDA BE links
because current HW configurations is more suitable for SSP BE links, but
not for HDA. We'll decide what HW configurations are suitable for HDA BE
links later.

Signed-off-by: Mengdong Lin <mengdong.lin@linux.intel.com>
2018-09-03 19:41:43 -04:00
Liam Girdwood d40087fdd4
Merge pull request #62 from singalsu/fix_src_test_cmdline_arg_proposal
SRC test: Fix testbench execute command line plus cleanup
2018-08-30 15:55:54 +01:00
Seppo Ingalsuo a47524a2b2 SRC test: Fix testbench execute command line plus cleanup
This patch fixes the command line sample rate parameters passing
into host testbench (-r & -R).

In my computer at least the print command of non-visible plots stopped
working into error so I disabled the print commant that creates PNG
graphics files. It's OK since the purpose of this script is batch testing.
The visible plot files can be enabled from SRC test script to see plots
if need for deep dive.

The patch includes also fix for text output for "help src_test". The
input and output word lengths were missing from sample command.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-08-30 16:32:02 +03:00
Liam Girdwood eddca597ae
Merge pull request #61 from singalsu/fix_matlab_iir_eq_proposal
EQ Tool: Fix compatibility with Matlab and improve accuracy of IIR filters
2018-08-30 12:47:55 +01:00
Seppo Ingalsuo 206deaf457 EQ Tool: Fix compatibility with Matlab and improve accuracy of IIR filters
This patch changes code to allocate filter poles and zeros to biquads
to allow seeing poor SNR due to strong scaling vs. available fixed point
filter word length. The issue was severe especially with Matlab version
of tf2sos() function. The replacement is straighforward z, p frequency
sort. The scaling of biquads was changed to max -6 dB instead of previous
-3 dB to be more safe against internal signal clipping.

The IIR design was changed entirely to be based on zeros and poles
(z, p, k) in intermediate storate instead of polynomial coefficients.
This improves the accuracy especially of low frequencies high-pass
designs.

The default max. IIR order is increased from 12 to 16.

Finally since the grpdelay() function in octave-signal package calculates
incorrect result the group delay computation and plotting is disabled
for now in Octave. It works in Matlab.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-08-30 13:49:17 +03:00
Liam Girdwood 41861aac37
Merge pull request #58 from plbossart/topic/wm8804
topology: add support for wm8804
2018-08-23 02:59:32 -07:00
Pierre-Louis Bossart 67802d8174 topology: add support for wm8804
This SPDIF transmitter/receiver is used by the HifiBerry DIGI+ and
DIGI IO. The wm8804 operates as bit clock and frame master.

TODO in future update: add support for capture on the DIGI+ IO (this
may be done with a different topology file to avoid confusing users
with a non-working PCM capture patch)

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
2018-08-22 21:46:01 -05:00
Liam Girdwood 53e8c47591
Merge pull request #56 from singalsu/tplg_src_save_buffers_ram_proposal
Decrease SRC pipeline buffers RAM size and update PCM configuration
2018-08-21 05:36:35 -07:00