[Sound-open-firmware] [PATCH] SRC: Fix use of int and uint types and remove unused function parameters
This patch fixes the warning messages shown with gcc option -Wextra. The source and sink buffer pointers advance is moved from filter function to higher level copy function as update consume/produce parameter.
Signed-off-by: Seppo Ingalsuo seppo.ingalsuo@linux.intel.com --- src/audio/src.c | 32 +++++++++++--------------------- src/audio/src_core.c | 4 ++-- src/audio/src_core.h | 4 ++-- 3 files changed, 15 insertions(+), 25 deletions(-)
diff --git a/src/audio/src.c b/src/audio/src.c index 3fd9614..de84149 100644 --- a/src/audio/src.c +++ b/src/audio/src.c @@ -65,8 +65,7 @@ struct comp_data { void (*src_func)(struct comp_dev *dev, struct comp_buffer *source, struct comp_buffer *sink, - uint32_t source_frames, - uint32_t sink_frames); + int source_frames); };
/* Common mute function for 2s and 1s SRC. This preserves the same @@ -77,7 +76,6 @@ static void src_muted_s32(struct comp_buffer *source, struct comp_buffer *sink, {
int i; - int32_t *src = (int32_t *) source->r_ptr; int32_t *dest = (int32_t *) sink->w_ptr; int32_t *end = (int32_t *) sink->end_addr; int n_read = 0; @@ -101,8 +99,6 @@ static void src_muted_s32(struct comp_buffer *source, struct comp_buffer *sink, n_read += nch*blk_in; n_written += nch*blk_out; } - source->r_ptr = src + n_read; - sink->w_ptr = dest; }
/* Fallback function to just output muted samples and advance @@ -113,8 +109,7 @@ static void src_muted_s32(struct comp_buffer *source, struct comp_buffer *sink, static void fallback_s32(struct comp_dev *dev, struct comp_buffer *source, struct comp_buffer *sink, - uint32_t source_frames, - uint32_t sink_frames) + int source_frames) {
struct comp_data *cd = comp_get_drvdata(dev); @@ -129,7 +124,7 @@ static void fallback_s32(struct comp_dev *dev, /* Normal 2 stage SRC */ static void src_2s_s32_default(struct comp_dev *dev, struct comp_buffer *source, struct comp_buffer *sink, - uint32_t source_frames, uint32_t sink_frames) + int source_frames) { int i; int j; @@ -196,14 +191,12 @@ static void src_2s_s32_default(struct comp_dev *dev, n_written += blk_out; } } - source->r_ptr = s1.x_rptr - nch + 1; - sink->w_ptr = s2.y_wptr - nch + 1; }
/* 1 stage SRC for simple conversions */ static void src_1s_s32_default(struct comp_dev *dev, struct comp_buffer *source, struct comp_buffer *sink, - uint32_t source_frames, uint32_t sink_frames) + int source_frames) { int i; int j; @@ -254,8 +247,6 @@ static void src_1s_s32_default(struct comp_dev *dev, }
} - source->r_ptr = s1.x_rptr - nch + 1; - sink->w_ptr = s1.y_wptr - nch + 1; }
static struct comp_dev *src_new(struct sof_ipc_comp *comp) @@ -404,8 +395,7 @@ static int src_params(struct comp_dev *dev) /* Initize SRC for actual sample rate */ nch = MIN(params->channels, PLATFORM_MAX_CHANNELS); for (i = 0; i < nch; i++) { - n = src_polyphase_init(&cd->src[i], source_rate, sink_rate, - &need, buffer_start); + n = src_polyphase_init(&cd->src[i], &need, buffer_start); buffer_start += need.single_src; }
@@ -440,10 +430,10 @@ static int src_params(struct comp_dev *dev) * be too long. */ q = need.blk_out / dev->frames; - if (q * dev->frames < need.blk_out) + if (q * (int)dev->frames < need.blk_out) ++q;
- if (q * dev->frames < need.blk_out + dev->frames) + if (q * (int)dev->frames < need.blk_out + (int)dev->frames) ++q;
/* Configure downstream buffer */ @@ -543,13 +533,13 @@ static int src_copy(struct comp_dev *dev) need_sink = blk_out * dev->frame_bytes;
/* Run as many times as buffers allow */ - while ((source->avail >= need_source) && (sink->free >= need_sink)) { + while (((int) source->avail >= need_source) && ((int) sink->free >= need_sink)) { /* Run src */ - cd->src_func(dev, source, sink, blk_in, blk_out); + cd->src_func(dev, source, sink, blk_in);
/* calc new free and available */ - comp_update_buffer_consume(source, 0); - comp_update_buffer_produce(sink, 0); + comp_update_buffer_consume(source, need_source); + comp_update_buffer_produce(sink, need_sink); }
return 0; diff --git a/src/audio/src_core.c b/src/audio/src_core.c index 5b804d6..8098d87 100644 --- a/src/audio/src_core.c +++ b/src/audio/src_core.c @@ -269,8 +269,8 @@ void src_polyphase_reset(struct polyphase_src *src) src_state_reset(&src->state2); }
-int src_polyphase_init(struct polyphase_src *src, int fs1, int fs2, - struct src_alloc *res, int32_t *delay_lines_start) +int src_polyphase_init(struct polyphase_src *src, struct src_alloc *res, + int32_t *delay_lines_start) { int n_stages; int ret; diff --git a/src/audio/src_core.h b/src/audio/src_core.h index 2965c7d..a9f66d4 100644 --- a/src/audio/src_core.h +++ b/src/audio/src_core.h @@ -130,8 +130,8 @@ static inline int src_polyphase_get_blk_out(struct polyphase_src *src)
void src_polyphase_reset(struct polyphase_src *src);
-int src_polyphase_init(struct polyphase_src *src, int fs1, int fs2, - struct src_alloc *res, int32_t *delay_lines_start); +int src_polyphase_init(struct polyphase_src *src, struct src_alloc *res, + int32_t *delay_lines_start);
int src_polyphase(struct polyphase_src *src, int32_t x[], int32_t y[], int n_in);
On Thu, 2017-09-28 at 20:06 +0300, Seppo Ingalsuo wrote:
This patch fixes the warning messages shown with gcc option -Wextra. The source and sink buffer pointers advance is moved from filter function to higher level copy function as update consume/produce parameter.
Signed-off-by: Seppo Ingalsuo seppo.ingalsuo@linux.intel.com
Applied.
Thanks
Liam
--------------------------------------------------------------------- Intel Corporation (UK) Limited Registered No. 1134945 (England) Registered Office: Pipers Way, Swindon SN3 1RJ VAT No: 860 2173 47
This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.
participants (2)
-
Liam Girdwood
-
Seppo Ingalsuo