1
0
Fork 0
forked from len0rd/rockbox

rbcodec dsp: Refactor DSP init routines, restore INIT_ATTR

Refactor DSP init routines so there is a dedicated init function
for the stages that need it. Remove the DSP_INIT configure message.
This allows the init code to be safely marked INIT_ATTR, saving a
bit of code size, and allowing the linker to verify that there are
no unsafe references to the init routines.

Change-Id: I1702f0f579bbb300a6fe7d0e67b13aa2e9dd7f8a
This commit is contained in:
Aidan MacDonald 2022-12-03 15:33:15 +00:00
parent 34a092a997
commit 6e794c9a2d
10 changed files with 62 additions and 35 deletions

View file

@ -26,6 +26,7 @@
#include "fixedpoint.h"
#include "dsp_proc_entry.h"
#include "dsp_misc.h"
#include "resample.h"
#include <string.h>
/**
@ -262,7 +263,7 @@ static intptr_t resample_new_format(struct dsp_proc_entry *this,
return PROC_NEW_FORMAT_DEACTIVATED;
}
static void resample_dsp_init(struct dsp_config *dsp, unsigned int dsp_id)
void dsp_resample_init(struct dsp_config *dsp, unsigned int dsp_id)
{
int32_t *lbuf, *rbuf;
@ -310,10 +311,6 @@ static intptr_t resample_configure(struct dsp_proc_entry *this,
switch (setting)
{
case DSP_INIT:
resample_dsp_init(dsp, value);
break;
case DSP_FLUSH:
resample_flush(this);
break;