Lines Matching refs:channel
132 struct ipc_mem_channel *channel) in ipc_imem_is_channel_active() argument
150 if (channel->state != IMEM_CHANNEL_RESERVED) { in ipc_imem_is_channel_active()
153 channel->channel_id, channel->state, in ipc_imem_is_channel_active()
162 channel->channel_id, phase); in ipc_imem_is_channel_active()
166 if (channel->state != IMEM_CHANNEL_ACTIVE) { in ipc_imem_is_channel_active()
168 channel->channel_id, channel->state); in ipc_imem_is_channel_active()
183 struct ipc_mem_channel *channel = ipc_cdev->channel; in ipc_imem_sys_cdev_close() local
200 if (channel->state == IMEM_CHANNEL_FREE) { in ipc_imem_sys_cdev_close()
202 channel->channel_id, channel->state); in ipc_imem_sys_cdev_close()
209 if (channel->ul_pipe.old_tail != channel->ul_pipe.old_head) { in ipc_imem_sys_cdev_close()
221 channel->ul_pipe.pipe_nr, in ipc_imem_sys_cdev_close()
222 channel->ul_pipe.old_head, in ipc_imem_sys_cdev_close()
223 channel->ul_pipe.old_tail); in ipc_imem_sys_cdev_close()
233 &channel->dl_pipe, NULL, &tail); in ipc_imem_sys_cdev_close()
235 if (tail != channel->dl_pipe.old_tail) { in ipc_imem_sys_cdev_close()
247 channel->dl_pipe.pipe_nr, in ipc_imem_sys_cdev_close()
248 channel->dl_pipe.old_head, in ipc_imem_sys_cdev_close()
249 channel->dl_pipe.old_tail); in ipc_imem_sys_cdev_close()
261 channel->state = IMEM_CHANNEL_CLOSING; in ipc_imem_sys_cdev_close()
263 ipc_imem_pipe_close(ipc_imem, &channel->ul_pipe); in ipc_imem_sys_cdev_close()
264 ipc_imem_pipe_close(ipc_imem, &channel->dl_pipe); in ipc_imem_sys_cdev_close()
266 ipc_imem_channel_free(channel); in ipc_imem_sys_cdev_close()
273 struct ipc_mem_channel *channel; in ipc_imem_sys_port_open() local
290 channel = ipc_imem_channel_open(ipc_imem, ch_id, hp_id); in ipc_imem_sys_port_open()
292 if (!channel) { in ipc_imem_sys_port_open()
297 return channel; in ipc_imem_sys_port_open()
303 struct ipc_mem_channel *channel = ipc_cdev->channel; in ipc_imem_sys_cdev_write() local
307 if (!ipc_imem_is_channel_active(ipc_imem, channel) || in ipc_imem_sys_cdev_write()
317 skb_queue_tail(&channel->ul_list, skb); in ipc_imem_sys_cdev_write()
322 skb_dequeue_tail(&channel->ul_list); in ipc_imem_sys_cdev_write()
324 ipc_cdev->channel->channel_id); in ipc_imem_sys_cdev_write()
333 struct ipc_mem_channel *channel; in ipc_imem_sys_devlink_open() local
353 channel = &ipc_imem->channels[channel_id]; in ipc_imem_sys_devlink_open()
358 channel->state = IMEM_CHANNEL_FREE; in ipc_imem_sys_devlink_open()
362 return channel; in ipc_imem_sys_devlink_open()
390 struct ipc_mem_channel *channel; in ipc_imem_sys_devlink_close() local
394 channel = ipc_imem->ipc_devlink->devlink_sio.channel; in ipc_imem_sys_devlink_close()
408 if (channel->ul_pipe.old_tail != channel->ul_pipe.old_head) { in ipc_imem_sys_devlink_close()
415 channel->ul_pipe.pipe_nr, in ipc_imem_sys_devlink_close()
416 channel->ul_pipe.old_head, in ipc_imem_sys_devlink_close()
417 channel->ul_pipe.old_tail); in ipc_imem_sys_devlink_close()
422 &channel->dl_pipe, NULL, &tail); in ipc_imem_sys_devlink_close()
424 if (tail != channel->dl_pipe.old_tail) { in ipc_imem_sys_devlink_close()
431 channel->dl_pipe.pipe_nr, in ipc_imem_sys_devlink_close()
432 channel->dl_pipe.old_head, in ipc_imem_sys_devlink_close()
433 channel->dl_pipe.old_tail); in ipc_imem_sys_devlink_close()
443 channel->state = IMEM_CHANNEL_CLOSING; in ipc_imem_sys_devlink_close()
445 ipc_imem_pipe_cleanup(ipc_imem, &channel->ul_pipe); in ipc_imem_sys_devlink_close()
446 ipc_imem_pipe_cleanup(ipc_imem, &channel->dl_pipe); in ipc_imem_sys_devlink_close()
459 struct ipc_mem_channel *channel, in ipc_imem_sys_psi_transfer() argument
480 (&channel->ul_sem, in ipc_imem_sys_psi_transfer()
525 (&channel->ul_sem, msecs_to_jiffies(IPC_PSI_TRANSFER_TIMEOUT)); in ipc_imem_sys_psi_transfer()
536 channel->channel_id, in ipc_imem_sys_psi_transfer()
560 struct ipc_mem_channel *channel; in ipc_imem_sys_devlink_write() local
565 channel = ipc_imem->ipc_devlink->devlink_sio.channel; in ipc_imem_sys_devlink_write()
571 ret = ipc_imem_sys_psi_transfer(ipc_imem, channel, buf, count); in ipc_imem_sys_devlink_write()
595 skb_queue_tail(&channel->ul_list, skb); in ipc_imem_sys_devlink_write()
599 ret = wait_for_completion_interruptible(&channel->ul_sem); in ipc_imem_sys_devlink_write()
604 channel->channel_id, ret); in ipc_imem_sys_devlink_write()