Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
d53cc3b
topology: sof-tgl-nocodec-ci: use 38.4MHz MCLK
keyonjie Feb 5, 2021
961f725
schedule: dma_multi_chan: do not skip tasks for dma_domain scheduler
iuliana-prodan Feb 1, 2021
f155cf1
platform: imx: use DMA_DOMAIN in full synchronous mode
iuliana-prodan Feb 1, 2021
f1a6740
probe: fix ret type
cujomalainey Jan 15, 2021
bace002
smart_amp_test: fix redundent check and double free
cujomalainey Jan 15, 2021
d1b0df9
library: edf_schedule: fix naming collision
cujomalainey Jan 15, 2021
af91fde
pipeline: fix data structure linking
cujomalainey Jan 15, 2021
958ff4a
codec_adapter: stop leaking memory on prepare
cujomalainey Feb 11, 2021
e492d51
crossover: dont set values where it doesn't matter
cujomalainey Feb 11, 2021
2a292a8
zephyr: reference local Kconfig
nashif Nov 27, 2020
c70aced
trace: do not set trace_ctx section for Zephyr [REVERTME]
nashif Dec 18, 2020
89af7b5
Revert "zephyr: fixed cached rimage path"
nashif Feb 10, 2021
538c2e8
trace: fix formatting
nashif Dec 18, 2020
04b237c
smart_amp: clarify order of operations
cujomalainey Feb 11, 2021
09ecfe4
smart_amp: remove initial set
cujomalainey Feb 11, 2021
848e721
intel: dmic: remove unused struct
cujomalainey Feb 16, 2021
2fd92be
imx: edma: remove unused variable
cujomalainey Feb 16, 2021
eba28d7
cppcheck: imx: suppress divide by sizeof
cujomalainey Feb 16, 2021
3522723
codec_adapter: don't error on free(NULL)
cujomalainey Feb 19, 2021
d4e13fe
trace: remove unused code based on build
cujomalainey Feb 19, 2021
9c2b205
trace: suppress cppcheck comparison error
cujomalainey Feb 19, 2021
b2dab66
math: don't use implicit types in fixed point math
cujomalainey Feb 19, 2021
0ae3fa5
math: clarify order of operations with ternary
cujomalainey Feb 19, 2021
a861efb
codec_adapter: delete empty header
cujomalainey Jan 7, 2021
71e02a9
codec_adapter: fix documentation for apply config
cujomalainey Jan 7, 2021
7ba1e37
ll_schedule: rename last_tick to next_tick
keyonjie Feb 4, 2021
0a176aa
timer_domain: refine the timer_domain_set() logic
keyonjie Feb 4, 2021
7102012
ll_schedule: refine the _domain_set/clear() logic
keyonjie Feb 4, 2021
a575288
ll_schedule: _tasks_run() refining
keyonjie Feb 4, 2021
71faa3e
ll_schedule: reschedule logic refining
keyonjie Feb 4, 2021
622f1c8
Kconfig: update the description of SYSTICK_PERIOD
keyonjie Feb 25, 2021
dde4ef6
cavs: clk: do TGL specific HW recommended flow unconditionally
keyonjie Feb 23, 2021
8fe313a
fix norm_int32 implementation
stolx Mar 2, 2021
386871d
ipc: fix logic for buffer free
ranj063 Nov 5, 2020
9b88fdf
host: fix buffer size alignment
Mar 3, 2021
1ff0e81
audio: codec_adapter: Waves custom codec
stolx Feb 9, 2021
74b2cae
codec_adapter: Bail out only on fatal errors
dbaluta Feb 26, 2021
b1ee846
codec_adapter: cadence: Fix API func search
dbaluta Feb 26, 2021
86eabe1
clk: do not release clock only for LPRO->HPRO transition
abonislawski Jan 19, 2021
c549e54
Drivers: DMIC: Fix FW panic when stopping both paused FIFO streams
singalsu Mar 5, 2021
2d43c77
Drivers: Intel: Updates to DMIC for runtime instantiate and remove DAI
singalsu Nov 5, 2020
1ee1b4a
Drivers: DMIC: Fix a mistake in FIR length and update the entire set
singalsu Nov 9, 2020
e4dbc06
Drivers: DMIC: Make FIR decimation factor preference order configurable
singalsu Nov 9, 2020
4ec8564
Drivers: DMIC: Move decimation factors 5 and 10 to less preferred
singalsu Nov 10, 2020
b7f2da6
Topology: Change minimum bus clock to 2.4 MHz for 48 kHz DMIC DAI
singalsu Nov 6, 2020
fdaa092
mux: enable playback of multiple simultaneous streams
Dec 15, 2020
02175a7
mux/demux: update mux/demux documentation.
bkokoszx Feb 17, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions src/audio/codec_adapter/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
# SPDX-License-Identifier: BSD-3-Clause

add_local_sources(sof codec_adapter.c codec/generic.c)

if(CONFIG_CADENCE_CODEC)
add_local_sources(sof codec/cadence.c)
endif()

if(CONFIG_DUMMY_CODEC)
add_local_sources(sof codec/dummy.c)
endif()

if(CONFIG_WAVES_CODEC)
add_local_sources(sof codec/waves.c)
sof_add_static_library(MaxxChrome ${CMAKE_CURRENT_LIST_DIR}/lib/release/libMaxxChrome.a)
endif()
9 changes: 9 additions & 0 deletions src/audio/codec_adapter/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,13 @@ menu "Codec Adapter codecs"
Select for a dummy API codec implementation.
This will cause codec adapter component to include header
files specific to DUMMY base codecs.

config WAVES_CODEC
bool "Waves codec"
default n
help
Select to include Waves codec. Waves codec implements MaxxEffect API.
API definition together with pre-compiled library is shared by Waves Audio Ltd.
If library is not provided will result in compilation error.
For more information, contact consumer@waves.com.
endmenu
8 changes: 5 additions & 3 deletions src/audio/codec_adapter/codec/cadence.c
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ int cadence_codec_init(struct comp_dev *dev)
/* Find and assign API function */
for (i = 0; i < no_of_api; i++) {
if (cadence_api_table[i].id == api_id) {
cd->api = cadence_api_table[0].api;
cd->api = cadence_api_table[i].api;
break;
}
}
Expand Down Expand Up @@ -97,7 +97,7 @@ int cadence_codec_init(struct comp_dev *dev)

static int apply_config(struct comp_dev *dev, enum codec_cfg_type type)
{
int ret;
int ret = 0;
int size;
struct codec_config *cfg;
void *data;
Expand Down Expand Up @@ -133,14 +133,16 @@ static int apply_config(struct comp_dev *dev, enum codec_cfg_type type)
if (ret != LIB_NO_ERROR) {
comp_err(dev, "apply_config() error %x: failed to apply parameter %d value %d",
ret, param->id, *(int32_t *)param->data);
goto ret;
if (LIB_IS_FATAL_ERROR(ret))
goto ret;
}
/* Obtain next parameter, it starts right after the preceding one */
data = (char *)data + param->size;
size -= param->size;
}

comp_dbg(dev, "apply_config() done");
ret = 0;
ret:
return ret;
}
Expand Down
11 changes: 5 additions & 6 deletions src/audio/codec_adapter/codec/generic.c
Original file line number Diff line number Diff line change
Expand Up @@ -182,8 +182,7 @@ int codec_free_memory(struct comp_dev *dev, void *ptr)
struct list_item *_mem_list;

if (!ptr) {
comp_err(dev, "codec_free_memory: error: NULL pointer passed.");
return -EINVAL;
return 0;
}
/* Find which container keeps this memory */
list_for_item_safe(mem_list, _mem_list, &cd->codec.memory.mem_list) {
Expand Down Expand Up @@ -229,17 +228,17 @@ int codec_prepare(struct comp_dev *dev)
goto end;
}

codec->s_cfg.avail = false;
codec->r_cfg.avail = false;
codec->r_cfg.data = NULL;

/* After prepare is done we no longer need runtime configuration
* as it has been applied during the procedure - it is safe to
* free it.
*/
if (codec->r_cfg.data)
rfree(codec->r_cfg.data);

codec->s_cfg.avail = false;
codec->r_cfg.avail = false;
codec->r_cfg.data = NULL;

codec->state = CODEC_PREPARED;
comp_dbg(dev, "codec_prepare() done");
end:
Expand Down
Loading