Lines Matching defs:tm_vdev
219 struct mlxbf_tmfifo_vdev *tm_vdev)
224 for (i = 0; i < ARRAY_SIZE(tm_vdev->vrings); i++) {
225 vring = &tm_vdev->vrings[i];
228 dma_free_coherent(tm_vdev->vdev.dev.parent, size,
241 struct mlxbf_tmfifo_vdev *tm_vdev)
249 for (i = 0; i < ARRAY_SIZE(tm_vdev->vrings); i++) {
250 vring = &tm_vdev->vrings[i];
255 vring->vdev_id = tm_vdev->vdev.id.device;
257 dev = &tm_vdev->vdev.dev;
262 mlxbf_tmfifo_free_vrings(fifo, tm_vdev);
848 struct mlxbf_tmfifo_vdev *tm_vdev;
857 tm_vdev = fifo->vdev[i];
858 if (tm_vdev) {
859 vring = &tm_vdev->vrings[queue_id];
892 struct mlxbf_tmfifo_vdev *tm_vdev;
911 tm_vdev = fifo->vdev[VIRTIO_ID_CONSOLE];
912 mlxbf_tmfifo_console_output(tm_vdev, vring);
932 struct mlxbf_tmfifo_vdev *tm_vdev = mlxbf_vdev_to_tmfifo(vdev);
934 return tm_vdev->features;
940 struct mlxbf_tmfifo_vdev *tm_vdev = mlxbf_vdev_to_tmfifo(vdev);
942 tm_vdev->features = vdev->features;
950 struct mlxbf_tmfifo_vdev *tm_vdev = mlxbf_vdev_to_tmfifo(vdev);
955 for (i = 0; i < ARRAY_SIZE(tm_vdev->vrings); i++) {
956 vring = &tm_vdev->vrings[i];
978 struct mlxbf_tmfifo_vdev *tm_vdev = mlxbf_vdev_to_tmfifo(vdev);
983 if (nvqs > ARRAY_SIZE(tm_vdev->vrings))
991 vring = &tm_vdev->vrings[i];
1021 struct mlxbf_tmfifo_vdev *tm_vdev = mlxbf_vdev_to_tmfifo(vdev);
1023 return tm_vdev->status;
1030 struct mlxbf_tmfifo_vdev *tm_vdev = mlxbf_vdev_to_tmfifo(vdev);
1032 tm_vdev->status = status;
1038 struct mlxbf_tmfifo_vdev *tm_vdev = mlxbf_vdev_to_tmfifo(vdev);
1040 tm_vdev->status = 0;
1049 struct mlxbf_tmfifo_vdev *tm_vdev = mlxbf_vdev_to_tmfifo(vdev);
1051 if ((u64)offset + len > sizeof(tm_vdev->config))
1054 memcpy(buf, (u8 *)&tm_vdev->config + offset, len);
1063 struct mlxbf_tmfifo_vdev *tm_vdev = mlxbf_vdev_to_tmfifo(vdev);
1065 if ((u64)offset + len > sizeof(tm_vdev->config))
1068 memcpy((u8 *)&tm_vdev->config + offset, buf, len);
1075 struct mlxbf_tmfifo_vdev *tm_vdev = mlxbf_vdev_to_tmfifo(vdev);
1077 kfree(tm_vdev);
1099 struct mlxbf_tmfifo_vdev *tm_vdev, *reg_dev = NULL;
1104 tm_vdev = fifo->vdev[vdev_id];
1105 if (tm_vdev) {
1111 tm_vdev = kzalloc(sizeof(*tm_vdev), GFP_KERNEL);
1112 if (!tm_vdev) {
1117 tm_vdev->vdev.id.device = vdev_id;
1118 tm_vdev->vdev.config = &mlxbf_tmfifo_virtio_config_ops;
1119 tm_vdev->vdev.dev.parent = dev;
1120 tm_vdev->vdev.dev.release = tmfifo_virtio_dev_release;
1121 tm_vdev->features = features;
1123 memcpy(&tm_vdev->config, config, size);
1125 if (mlxbf_tmfifo_alloc_vrings(fifo, tm_vdev)) {
1133 tm_vdev->tx_buf.buf = devm_kmalloc(dev,
1136 fifo->vdev[vdev_id] = tm_vdev;
1139 ret = register_virtio_device(&tm_vdev->vdev);
1140 reg_dev = tm_vdev;
1150 mlxbf_tmfifo_free_vrings(fifo, tm_vdev);
1153 put_device(&tm_vdev->vdev.dev);
1155 kfree(tm_vdev);
1164 struct mlxbf_tmfifo_vdev *tm_vdev;
1169 tm_vdev = fifo->vdev[vdev_id];
1170 if (tm_vdev) {
1171 unregister_virtio_device(&tm_vdev->vdev);
1172 mlxbf_tmfifo_free_vrings(fifo, tm_vdev);