Skip to content

Commit d7ebc15

Browse files
tobonexkv2019i
authored andcommitted
crossover: remove buffer_acquire from crossover
remove buffer ops from crossover module this is a continuation of changes from commit 4a03699 Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
1 parent 4f74ed7 commit d7ebc15

File tree

1 file changed

+11
-27
lines changed

1 file changed

+11
-27
lines changed

src/audio/crossover/crossover.c

Lines changed: 11 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,6 @@ static int crossover_assign_sinks(struct processing_module *mod,
133133
struct sof_crossover_config *config = cd->config;
134134
struct comp_dev *dev = mod->dev;
135135
struct comp_buffer *sink;
136-
struct comp_buffer *sink_c;
137136
struct list_item *sink_list;
138137
int num_sinks = 0;
139138
int i;
@@ -143,14 +142,12 @@ static int crossover_assign_sinks(struct processing_module *mod,
143142
unsigned int sink_id, state;
144143

145144
sink = container_of(sink_list, struct comp_buffer, source_list);
146-
sink_c = buffer_acquire(sink);
147145
#if CONFIG_IPC_MAJOR_4
148146
sink_id = cd->output_pin_index[j];
149147
#else
150-
sink_id = sink_c->pipeline_id;
148+
sink_id = sink->pipeline_id;
151149
#endif
152-
state = sink_c->sink->state;
153-
buffer_release(sink_c);
150+
state = sink->sink->state;
154151
if (state != dev->state) {
155152
j++;
156153
continue;
@@ -486,7 +483,6 @@ static int crossover_check_sink_assign(struct processing_module *mod,
486483
{
487484
struct comp_dev *dev = mod->dev;
488485
struct comp_buffer *sink;
489-
struct comp_buffer *sink_c;
490486
struct list_item *sink_list;
491487
int num_assigned_sinks = 0;
492488
uint8_t assigned_sinks[SOF_CROSSOVER_MAX_STREAMS] = {0};
@@ -496,9 +492,7 @@ static int crossover_check_sink_assign(struct processing_module *mod,
496492
unsigned int pipeline_id;
497493

498494
sink = container_of(sink_list, struct comp_buffer, source_list);
499-
sink_c = buffer_acquire(sink);
500-
pipeline_id = sink_c->pipeline_id;
501-
buffer_release(sink_c);
495+
pipeline_id = sink->pipeline_id;
502496

503497
i = crossover_get_stream_index(mod, config, pipeline_id);
504498
if (i < 0) {
@@ -691,7 +685,6 @@ static int crossover_process_audio_stream(struct processing_module *mod,
691685
static void crossover_params(struct processing_module *mod)
692686
{
693687
struct sof_ipc_stream_params *params = mod->stream_params;
694-
struct comp_buffer *sink_c, *source_c;
695688
struct comp_buffer *sinkb, *sourceb;
696689
struct list_item *sink_list;
697690
struct comp_dev *dev = mod->dev;
@@ -702,15 +695,11 @@ static void crossover_params(struct processing_module *mod)
702695
component_set_nearest_period_frames(dev, params->rate);
703696

704697
sourceb = list_first_item(&dev->bsource_list, struct comp_buffer, sink_list);
705-
source_c = buffer_acquire(sourceb);
706-
ipc4_update_buffer_format(source_c, &mod->priv.cfg.base_cfg.audio_fmt);
707-
buffer_release(source_c);
698+
ipc4_update_buffer_format(sourceb, &mod->priv.cfg.base_cfg.audio_fmt);
708699

709700
list_for_item(sink_list, &dev->bsink_list) {
710701
sinkb = container_of(sink_list, struct comp_buffer, source_list);
711-
sink_c = buffer_acquire(sinkb);
712-
ipc4_update_buffer_format(sink_c, &mod->priv.cfg.base_cfg.audio_fmt);
713-
buffer_release(sink_c);
702+
ipc4_update_buffer_format(sinkb, &mod->priv.cfg.base_cfg.audio_fmt);
714703
}
715704
}
716705
#endif
@@ -727,7 +716,6 @@ static int crossover_prepare(struct processing_module *mod,
727716
struct comp_data *cd = module_get_private_data(mod);
728717
struct comp_dev *dev = mod->dev;
729718
struct comp_buffer *source, *sink;
730-
struct comp_buffer *source_c, *sink_c;
731719
struct list_item *sink_list;
732720
int channels;
733721
int ret = 0;
@@ -741,27 +729,23 @@ static int crossover_prepare(struct processing_module *mod,
741729
/* Crossover has a variable number of sinks */
742730
mod->max_sinks = SOF_CROSSOVER_MAX_STREAMS;
743731
source = list_first_item(&dev->bsource_list, struct comp_buffer, sink_list);
744-
source_c = buffer_acquire(source);
745732

746733
/* Get source data format */
747-
cd->source_format = audio_stream_get_frm_fmt(&source_c->stream);
748-
channels = audio_stream_get_channels(&source_c->stream);
749-
audio_stream_init_alignment_constants(1, 1, &source_c->stream);
750-
buffer_release(source_c);
734+
cd->source_format = audio_stream_get_frm_fmt(&source->stream);
735+
channels = audio_stream_get_channels(&source->stream);
736+
audio_stream_init_alignment_constants(1, 1, &source->stream);
751737

752738
/* Validate frame format and buffer size of sinks */
753739
list_for_item(sink_list, &dev->bsink_list) {
754740
sink = container_of(sink_list, struct comp_buffer, source_list);
755-
sink_c = buffer_acquire(sink);
756-
if (cd->source_format == audio_stream_get_frm_fmt(&sink_c->stream)) {
757-
audio_stream_init_alignment_constants(1, 1, &sink_c->stream);
741+
if (cd->source_format == audio_stream_get_frm_fmt(&sink->stream)) {
742+
audio_stream_init_alignment_constants(1, 1, &sink->stream);
758743
} else {
759744
comp_err(dev, "crossover_prepare(): Source fmt %d and sink fmt %d are different.",
760-
cd->source_format, audio_stream_get_frm_fmt(&sink_c->stream));
745+
cd->source_format, audio_stream_get_frm_fmt(&sink->stream));
761746
ret = -EINVAL;
762747
}
763748

764-
buffer_release(sink_c);
765749
if (ret < 0)
766750
return ret;
767751
}

0 commit comments

Comments
 (0)