@@ -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
286271e_ipcgtw :
287272 rfree (ipcgtw_data );
288- e_buf :
289- buffer_free (cd -> endpoint_buffer [cd -> endpoint_num ]);
290273 return ret ;
291274}
292275
293276void 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