1
0
Fork 0
forked from len0rd/rockbox

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 541960a110.

Change-Id: I020d826e7b4beb006d093d9c3d4f45fa5eaac717
This commit is contained in:
Aidan MacDonald 2023-01-18 17:49:23 +00:00
parent aae34b2e7f
commit 969e1ef6cd
3 changed files with 2 additions and 13 deletions

View file

@ -72,12 +72,12 @@
#define CODEC_ENC_MAGIC 0x52454E43 /* RENC */ #define CODEC_ENC_MAGIC 0x52454E43 /* RENC */
/* increase this every time the api struct changes */ /* 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 /* update this to latest version if a change to the api struct breaks
backwards compatibility (and please take the opportunity to sort in any backwards compatibility (and please take the opportunity to sort in any
new function which are "waiting" at the end of the function table) */ 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 */ /* reasons for calling codec main entrypoint */
enum codec_entry_call_reason { enum codec_entry_call_reason {

View file

@ -535,16 +535,6 @@ void dsp_init(void)
for (unsigned int j = 0; j < ARRAYLEN(dsp_init_fn); ++j) for (unsigned int j = 0; j < ARRAYLEN(dsp_init_fn); ++j)
dsp_init_fn[j](dsp, i); 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); dsp_configure(dsp, DSP_RESET, 0);
} }
} }

View file

@ -32,7 +32,6 @@ enum dsp_ids
enum dsp_settings enum dsp_settings
{ {
DSP_INIT,
DSP_RESET, DSP_RESET,
DSP_SET_FREQUENCY, DSP_SET_FREQUENCY,
DSP_SET_SAMPLE_DEPTH, DSP_SET_SAMPLE_DEPTH,