From 969e1ef6cda10aaf1affb07a953ec1b597de24e0 Mon Sep 17 00:00:00 2001 From: Aidan MacDonald Date: Wed, 18 Jan 2023 17:49:23 +0000 Subject: Bump codec API version, remove dummy configure loop in dsp_init() It turns out removing DSP_INIT broke the codec ABI and caused old codecs to crash; the loop and mdelay() was a red herring. This reverts commit 541960a11061213f682d67bb036f861b2605f9d3. Change-Id: I020d826e7b4beb006d093d9c3d4f45fa5eaac717 --- lib/rbcodec/codecs/codecs.h | 4 ++-- lib/rbcodec/dsp/dsp_core.c | 10 ---------- lib/rbcodec/dsp/dsp_core.h | 1 - 3 files changed, 2 insertions(+), 13 deletions(-) (limited to 'lib/rbcodec') diff --git a/lib/rbcodec/codecs/codecs.h b/lib/rbcodec/codecs/codecs.h index 6048e5012c..fd19dcb6b5 100644 --- a/lib/rbcodec/codecs/codecs.h +++ b/lib/rbcodec/codecs/codecs.h @@ -72,12 +72,12 @@ #define CODEC_ENC_MAGIC 0x52454E43 /* RENC */ /* increase this every time the api struct changes */ -#define CODEC_API_VERSION 48 +#define CODEC_API_VERSION 49 /* update this to latest version if a change to the api struct breaks backwards compatibility (and please take the opportunity to sort in any new function which are "waiting" at the end of the function table) */ -#define CODEC_MIN_API_VERSION 48 +#define CODEC_MIN_API_VERSION 49 /* reasons for calling codec main entrypoint */ enum codec_entry_call_reason { diff --git a/lib/rbcodec/dsp/dsp_core.c b/lib/rbcodec/dsp/dsp_core.c index c15e4342ae..5108c9ef47 100644 --- a/lib/rbcodec/dsp/dsp_core.c +++ b/lib/rbcodec/dsp/dsp_core.c @@ -535,16 +535,6 @@ void dsp_init(void) for (unsigned int j = 0; j < ARRAYLEN(dsp_init_fn); ++j) dsp_init_fn[j](dsp, i); - /* - * FIXME: This is a no-op and should not be needed, but it - * appears there is a race condition here that causes - * prefetch abort panics on the Clip+. See FS#13386. - * Replacing the loop with mdelay(1) also suppresses - * the crash. - */ - for (unsigned int j = 0; j < DSP_NUM_PROC_STAGES; j++) - dsp_proc_database[j]->configure(NULL, dsp, DSP_INIT, i); - dsp_configure(dsp, DSP_RESET, 0); } } diff --git a/lib/rbcodec/dsp/dsp_core.h b/lib/rbcodec/dsp/dsp_core.h index 2fc26161fa..9b09d981cc 100644 --- a/lib/rbcodec/dsp/dsp_core.h +++ b/lib/rbcodec/dsp/dsp_core.h @@ -32,7 +32,6 @@ enum dsp_ids enum dsp_settings { - DSP_INIT, DSP_RESET, DSP_SET_FREQUENCY, DSP_SET_SAMPLE_DEPTH, -- cgit v1.2.3