Lines Matching refs:channels
212 struct scmi_vio_channel *channels, *vioch = NULL; in virtio_chan_available() local
217 channels = (struct scmi_vio_channel *)scmi_vdev->priv; in virtio_chan_available()
221 vioch = &channels[VIRTIO_SCMI_VQ_TX]; in virtio_chan_available()
225 vioch = &channels[VIRTIO_SCMI_VQ_RX]; in virtio_chan_available()
385 struct scmi_vio_channel *channels; in scmi_vio_probe() local
402 channels = devm_kcalloc(dev, vq_cnt, sizeof(*channels), GFP_KERNEL); in scmi_vio_probe()
403 if (!channels) in scmi_vio_probe()
407 channels[VIRTIO_SCMI_VQ_RX].is_rx = true; in scmi_vio_probe()
419 spin_lock_init(&channels[i].lock); in scmi_vio_probe()
420 spin_lock_init(&channels[i].ready_lock); in scmi_vio_probe()
421 INIT_LIST_HEAD(&channels[i].free_list); in scmi_vio_probe()
422 channels[i].vqueue = vqs[i]; in scmi_vio_probe()
424 sz = virtqueue_get_vring_size(channels[i].vqueue); in scmi_vio_probe()
426 if (!channels[i].is_rx) in scmi_vio_probe()
432 channels[i].is_rx ? "rx" : "tx", in scmi_vio_probe()
436 channels[i].max_msg = sz; in scmi_vio_probe()
439 vdev->priv = channels; in scmi_vio_probe()