Skip to content

Commit 5a22e9b

Browse files
serhiy-katsyuba-intelkv2019i
authored andcommitted
ipc4: ipcgtw: code cleanup
The use of intermediate endpoint buffer was removed from gateways some time ago. However, the IPC gateway code still contained logic that unnecessarily creates such endpoint buffer. That code has now been removed. Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
1 parent 70b692e commit 5a22e9b

File tree

1 file changed

+5
-23
lines changed

1 file changed

+5
-23
lines changed

src/audio/copier/copier_ipcgtw.c

Lines changed: 5 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -223,31 +223,22 @@ int copier_ipcgtw_create(struct comp_dev *dev, struct copier_data *cd,
223223

224224
cd->ipc_gtw = true;
225225

226-
/* create_endpoint_buffer() uses this value to choose between input and
227-
* output formats in copier config to setup buffer. For this purpose
228-
* IPC gateway should be handled similarly as host gateway.
229-
*/
226+
/* The IPC gateway is treated as a host gateway */
230227
config->type = SOF_COMP_HOST;
231228
cd->gtw_type = ipc4_gtw_host;
232229

233-
ret = create_endpoint_buffer(dev, cd, copier, false);
234-
if (ret < 0)
235-
return ret;
236-
237230
ipcgtw_data = rzalloc(SOF_MEM_ZONE_RUNTIME, 0, SOF_MEM_CAPS_RAM, sizeof(*ipcgtw_data));
238-
if (!ipcgtw_data) {
239-
ret = -ENOMEM;
240-
goto e_buf;
241-
}
231+
if (!ipcgtw_data)
232+
return -ENOMEM;
242233

243234
ipcgtw_data->node_id = gtw_cfg->node_id;
244235
ipcgtw_data->dev = dev;
245236

246237
blob = (const struct ipc4_ipc_gateway_config_blob *)
247238
((const struct ipc4_gateway_config_data *)gtw_cfg->config_data)->config_blob;
248239

249-
/* Endpoint buffer is created in copier with size specified in copier config. That buffer
250-
* will be resized to size specified in IPC gateway blob later in ipcgtw_params().
240+
/* The buffer connected to the IPC gateway will be resized later in ipcgtw_params()
241+
* to the size specified in the IPC gateway blob.
251242
*/
252243
comp_dbg(dev, "ipcgtw_create(): buffer_size: %u", blob->buffer_size);
253244
ipcgtw_data->buf_size = blob->buffer_size;
@@ -264,15 +255,9 @@ int copier_ipcgtw_create(struct comp_dev *dev, struct copier_data *cd,
264255
}
265256

266257
if (cd->direction == SOF_IPC_STREAM_PLAYBACK) {
267-
comp_buffer_connect(dev, config->core,
268-
cd->endpoint_buffer[cd->endpoint_num],
269-
PPL_CONN_DIR_COMP_TO_BUFFER);
270258
cd->bsource_buffer = false;
271259
pipeline->source_comp = dev;
272260
} else {
273-
comp_buffer_connect(dev, config->core,
274-
cd->endpoint_buffer[cd->endpoint_num],
275-
PPL_CONN_DIR_BUFFER_TO_COMP);
276261
cd->bsource_buffer = true;
277262
pipeline->sink_comp = dev;
278263
}
@@ -285,14 +270,11 @@ int copier_ipcgtw_create(struct comp_dev *dev, struct copier_data *cd,
285270

286271
e_ipcgtw:
287272
rfree(ipcgtw_data);
288-
e_buf:
289-
buffer_free(cd->endpoint_buffer[cd->endpoint_num]);
290273
return ret;
291274
}
292275

293276
void copier_ipcgtw_free(struct copier_data *cd)
294277
{
295278
list_item_del(&cd->ipcgtw_data->item);
296279
rfree(cd->ipcgtw_data);
297-
buffer_free(cd->endpoint_buffer[0]);
298280
}

0 commit comments

Comments
 (0)