diff options
author | Aidan MacDonald <amachronic@protonmail.com> | 2023-01-18 17:49:23 +0000 |
---|---|---|
committer | Aidan MacDonald <amachronic@protonmail.com> | 2023-01-18 17:52:55 +0000 |
commit | 969e1ef6cda10aaf1affb07a953ec1b597de24e0 (patch) | |
tree | 4767ad4a7ec4b979a9cfed01d6d1f52f4e58055f | |
parent | aae34b2e7faead258e99e42bd199b329475eb17c (diff) | |
download | rockbox-969e1ef6cd.tar.gz rockbox-969e1ef6cd.zip |
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
-rw-r--r-- | lib/rbcodec/codecs/codecs.h | 4 | ||||
-rw-r--r-- | lib/rbcodec/dsp/dsp_core.c | 10 | ||||
-rw-r--r-- | lib/rbcodec/dsp/dsp_core.h | 1 |
3 files changed, 2 insertions, 13 deletions
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, |