Commit Graph

830 Commits

Author SHA1 Message Date
Ranjani Sridharan bacada5c6b host: fix rzalloc function
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-07-02 23:55:06 -07:00
Ranjani Sridharan 528ec8f3eb host: move command line args parsing to a separate function
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2018-07-02 23:55:06 -07:00
Ranjani Sridharan e822cfab7c host: allow overriding input and output sample rates through command line args
By default the input and output sample rates for the testbench
will be calculated from the frames_per_sched and deadline. But
this patch makes it possible for it to be overridden in preparation
for support for SRC based pipelines.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-07-02 23:55:01 -07:00
Ranjani Sridharan f15512e920 host: move common testbench input parameters to header file
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2018-07-02 22:59:57 -07:00
Ranjani Sridharan 42b1a2e653 host: redirect errors to stderr
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2018-07-02 22:59:57 -07:00
Ranjani Sridharan 5b0965d094 host: add support for src component in topology parser
Add support for parsing topologies with SRC component.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2018-07-02 22:59:57 -07:00
Ranjani Sridharan 03067c6c77 host: set up shared library table
Update testbench with a table containing the shared library handles
for all components. Currently, we support only volume and src
components. More component support will be added in future.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2018-07-02 22:59:56 -07:00
Ranjani Sridharan 2757a2ccd6 host: update header files for host library build
Fix some missing definitions and add atomic.h to fix host library
compilation errors.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2018-07-02 22:59:53 -07:00
Ranjani Sridharan 4bf4860af9 host: remove unused variable
fixes compilation error

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2018-06-26 20:48:18 -07:00
Liam Girdwood 9f418ccd34
Merge pull request #20 from tlauda/topic/buffer_l1_cache_handling
buffer: L1 cache operations handling
2018-06-26 20:16:10 +01:00
Tomasz Lauda 76596a89b3 buffer: L1 cache operations handling
Moves L1 cache operations from other components to buffer.
Right now handles buffers connected to DMAs.
Will handle connections to other cores in the future.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2018-06-26 16:46:31 +02:00
Liam Girdwood 11716bb415
Merge pull request #16 from tlauda/issue-9
core: fix wrong inclusion of core-isa.h
2018-06-25 14:56:39 +01:00
Liam Girdwood ab8acab4e5
Merge pull request #15 from keyonjie/master
multiple SSPs/BEs support for SOF--SOF Part
2018-06-25 14:55:57 +01:00
Liam Girdwood ddcc1e7af9
Merge pull request #14 from ranj063/tone
Tone related patches
2018-06-25 14:51:50 +01:00
Liam Girdwood 71fa73f120
Merge pull request #13 from tlauda/topic/vol_ut
test: volume tests
2018-06-25 14:50:05 +01:00
Tomasz Lauda 4fd4aa1cfa core: fix wrong inclusion of core-isa.h
Moves inclusion of PLATFORM_INCDIR before SOF_INCDIR.
This temporarily fixes wrong inclusion of core-isa.h from
xtensa-root directory during build with gcc. It's the best
solution for now, because that unwanted header comes from
Xtensa Newlib C library, which will take much more time to change.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2018-06-25 13:36:50 +02:00
Keyon Jie fdf5024110 apl: memory: expand number of 256 Bytes block to be 64
The 256 Bytes block are used frequently for component new, 16 is
not enough for GP-MRB multiple SSPs/pipelines support, here expand
it to be 64.

Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
2018-06-25 18:18:07 +08:00
Ranjani Sridharan 3cae0f7088 tone: fix default frequency and gain to match AES17 requirement
Fix frequenyc to 997Hz and gain to -20dB to match AES17 single
tone test case requirement

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2018-06-24 19:27:15 -07:00
Ranjani Sridharan 9dfd80d458 tone: fix calculation for period_bytes
period bytes depends on the frame_fmt and the number of channels
set in topology. So fix calculation accordingly.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2018-06-24 19:27:15 -07:00
Ranjani Sridharan b5754f6e2a tone: set sample rate from topology
set the sample rate from the value set in topology.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2018-06-24 19:27:15 -07:00
Ranjani Sridharan 7824be5d78 ipc: add sample_rate member to ipc tone comp def
add sample_rate memeber in tone ipc comp def to read in
the value from topology.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2018-06-24 19:27:15 -07:00
Ranjani Sridharan 84dab8990f tone: add get command handler to return tone state
This patch adds the get() handler to respond to requests for the current
tone state.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2018-06-24 19:27:15 -07:00
Ranjani Sridharan 05328405ac ipc: skip host page table set up for hostless tone pipeline
Hostless pipelines such as the tone pipeline do not need
host page table while setting up pcm params. Walk pipeline
in both directions to ensure it is hostless.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2018-06-24 19:27:15 -07:00
Tomasz Lauda 2fa6b3ac62 test: volume tests
Tests for volume processing functions.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2018-06-23 10:46:54 +02:00
Liam Girdwood 3507eb2d08
Merge pull request #12 from tlauda/issue-7
cavs: pm_runtime: scale down host dma l1 exit times
2018-06-22 15:22:33 +01:00
Tomasz Lauda be53c86917 cavs: pm_runtime: scale down host dma l1 exit times
Scales down host dma l1 exit times, since they were defined
for Fast RING clock, but implementation uses XTAL based timer.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2018-06-22 15:55:55 +02:00
Liam Girdwood fab2f4e782
Merge pull request #11 from tlauda/issue-6
cavs: platform: clear memory windows
2018-06-22 13:56:29 +01:00
Tomasz Lauda c79146e05e cavs: platform: clear memory windows
Clear memory windows after initialization on APL and CNL.
They were recently moved to the beginning of HPSRAM and since
that area is also used by ROM, there was some unneeded data left.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2018-06-22 14:17:25 +02:00
Liam Girdwood 8a48cc4902
Merge pull request #8 from xiulipan/master
scripts: xtensa-build: fix ROOT var alais for BXT/APL gcc
2018-06-22 11:08:31 +01:00
Pan Xiuli 7cba6e3f47 scripts: xtensa-build: fix ROOT var alais for BXT/APL gcc
Need to change ROOT as well as HOST target.

Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
2018-06-22 17:14:49 +08:00
Liam Girdwood 7c281d3d89
Merge pull request #4 from thesofproject/cavs_common
Cavs common
2018-06-21 12:39:20 +01:00
Wu Zhigang 1ac81d7daa mixer: fix typo error
fix typo error in mixer component

Signed-off-by: Wu Zhigang <zhigang.wu@linux.intel.com>
2018-06-21 11:51:58 +01:00
Seppo Ingalsuo be4bf56169 DMIC: Set DAI parameters from topology parameters instead of hardwired
This patch enables the 1, 2, and 4ch topologies usage with S32_LE and
S16_LE sample formats. The DMA burst length is also changed to maximum
(8) to fully utilize the DMIC FIFO.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-06-21 11:32:37 +01:00
Liam Girdwood 9459cc0534
Merge branch 'master' into cavs_common 2018-06-21 08:09:57 +01:00
Slawomir Blauciak b84cb09f27 test: audio buffer unit tests
Signed-off-by: Slawomir Blauciak <slawomir.blauciak@linux.intel.com>
2018-06-20 15:18:10 +02:00
Tomasz Lauda cfc5ff9266 arch: spinlock: fix value sharing between cores
Fixes xtensa spinlock implementation.
Previous one caused deadlock between cores.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2018-06-20 15:18:10 +02:00
Slawomir Blauciak 3936516cdd test: incorrect param for one of norm_int32 tests
Signed-off-by: Slawomir Blauciak <slawomir.blauciak@linux.intel.com>
2018-06-20 15:18:10 +02:00
Slawomir Blauciak 67f56f10f9 buffer: corrected check in comp_buffer_get_copy_bytes
Signed-off-by: Slawomir Blauciak <slawomir.blauciak@linux.intel.com>
2018-06-20 15:18:09 +02:00
Tomasz Lauda 2e2f669176 platform: extract number of available cores
Extracts number of available cores to platform/platcfg.h.
This header is asm friendly and can be easily used in xtos.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2018-06-20 15:18:09 +02:00
Tomasz Lauda d5d1f285eb volume: add doxygen comments
Adds doxygen comments to volume implementation.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2018-06-20 15:18:09 +02:00
Tomasz Lauda 14ca1fa3d5 pm_runtime: add runtime power management initial implementation
This patch adds initial empty implementation of runtime power management.
It is based on linux kernel implementation and will be developed
in the future.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2018-06-20 15:18:09 +02:00
Slawomir Blauciak 5827f391f6 test: Math unit tests
Tests provided: ceil_divide, find_equal_int16, find_min_int16, find_max_abs_int32, norm_int32, sin_fixed

Signed-off-by: Slawomir Blauciak <slawomir.blauciak@linux.intel.com>
2018-06-20 15:18:09 +02:00
Janusz Jankowski 9893313687 test: use AC_CHECK_LIB instead of PKG_CHECK_EXISTS in configure.ac to drop dependency on pkg-config
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2018-06-20 15:18:09 +02:00
Slawomir Blauciak 8e3b930a02 math: Comment for the innerworkings of ceil_divide()
Signed-off-by: Slawomir Blauciak <slawomir.blauciak@linux.intel.com>

math: ceil_divide - Check the signs of the dividant and divisor before rounding
Signed-off-by: Slawomir Blauciak <slawomir.blauciak@linux.intel.com>
2018-06-20 15:18:09 +02:00
Wu Zhigang 860280d115 volume: support 8-channel feature
add the 8-channel feature for the capture function
for apl-gpmrb platform.

Signed-off-by: Wu Zhigang <zhigang.wu@linux.intel.com>
Reviewed-by: Keyon Jie <yang.jie@linux.intel.com>
2018-06-20 11:24:25 +01:00
Seppo Ingalsuo fa48a05c15 DMIC: Use gain ramp and delayed filters unmute in start sequence
The loud DC thump sound plus the impulse like noises in the beginning of
capture can be mitigated with the gain ramp and muted filters start.
The gain ramp rate and CIC and FIR unmute delays parameters can be
adjusted from dmic.h header file.

Note: The logarithmic ramp length is now hardwired to 300 us for the 1 ms
update rate via macro LOGRAMP_GM in dmic.c. A larger value will shorten the
ramp. It will be replaced later by topology passed ramp characteristic.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-06-20 11:18:22 +01:00
Seppo Ingalsuo 06570f27a2 DMIC: Bug fix for HW version 2 IPM setup
Depending on HW configuration for two PDM controllers or less the
IPM bit field value calculation need to be done like for HW version 1.
The new style IPM bit field value calculation is used for three or four
PDM controllers.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-06-20 11:18:22 +01:00
Seppo Ingalsuo 24ee043938 DMIC: Rename HW version 2 bitfield to follow specification
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-06-20 11:18:22 +01:00
Seppo Ingalsuo f886d3d6d3 DMIC: Set TH and BFTH bit fields via the variables in HW version 2 code
This aligns the HW versions 1 and 2 code and avoids a build error about
unused variables.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-06-20 11:18:22 +01:00
Seppo Ingalsuo b2200bfe27 DMIC: Bug fix for IPM value calculation for HW version 2
The IPM bit field should be set to the number of used stereo controllers.
This patch fixes the issue that pdm[0] got counted twice.

Signed-off-by: Sathish K. Kuttan <sathish.k.kuttan@intel.com>
2018-06-20 11:18:22 +01:00