Lines Matching defs:tm_vdev
247 struct mlxbf_tmfifo_vdev *tm_vdev)
252 for (i = 0; i < ARRAY_SIZE(tm_vdev->vrings); i++) {
253 vring = &tm_vdev->vrings[i];
256 dma_free_coherent(tm_vdev->vdev.dev.parent, size,
269 struct mlxbf_tmfifo_vdev *tm_vdev)
277 for (i = 0; i < ARRAY_SIZE(tm_vdev->vrings); i++) {
278 vring = &tm_vdev->vrings[i];
283 vring->vdev_id = tm_vdev->vdev.id.device;
285 dev = &tm_vdev->vdev.dev;
290 mlxbf_tmfifo_free_vrings(fifo, tm_vdev);
936 struct mlxbf_tmfifo_vdev *tm_vdev;
945 tm_vdev = fifo->vdev[i];
946 if (tm_vdev) {
947 vring = &tm_vdev->vrings[queue_id];
980 struct mlxbf_tmfifo_vdev *tm_vdev;
999 tm_vdev = fifo->vdev[VIRTIO_ID_CONSOLE];
1000 mlxbf_tmfifo_console_output(tm_vdev, vring);
1020 struct mlxbf_tmfifo_vdev *tm_vdev = mlxbf_vdev_to_tmfifo(vdev);
1022 return tm_vdev->features;
1028 struct mlxbf_tmfifo_vdev *tm_vdev = mlxbf_vdev_to_tmfifo(vdev);
1030 tm_vdev->features = vdev->features;
1038 struct mlxbf_tmfifo_vdev *tm_vdev = mlxbf_vdev_to_tmfifo(vdev);
1043 for (i = 0; i < ARRAY_SIZE(tm_vdev->vrings); i++) {
1044 vring = &tm_vdev->vrings[i];
1066 struct mlxbf_tmfifo_vdev *tm_vdev = mlxbf_vdev_to_tmfifo(vdev);
1071 if (nvqs > ARRAY_SIZE(tm_vdev->vrings))
1079 vring = &tm_vdev->vrings[i];
1115 struct mlxbf_tmfifo_vdev *tm_vdev = mlxbf_vdev_to_tmfifo(vdev);
1117 return tm_vdev->status;
1124 struct mlxbf_tmfifo_vdev *tm_vdev = mlxbf_vdev_to_tmfifo(vdev);
1126 tm_vdev->status = status;
1132 struct mlxbf_tmfifo_vdev *tm_vdev = mlxbf_vdev_to_tmfifo(vdev);
1134 tm_vdev->status = 0;
1143 struct mlxbf_tmfifo_vdev *tm_vdev = mlxbf_vdev_to_tmfifo(vdev);
1145 if ((u64)offset + len > sizeof(tm_vdev->config))
1148 memcpy(buf, (u8 *)&tm_vdev->config + offset, len);
1157 struct mlxbf_tmfifo_vdev *tm_vdev = mlxbf_vdev_to_tmfifo(vdev);
1159 if ((u64)offset + len > sizeof(tm_vdev->config))
1162 memcpy((u8 *)&tm_vdev->config + offset, buf, len);
1169 struct mlxbf_tmfifo_vdev *tm_vdev = mlxbf_vdev_to_tmfifo(vdev);
1171 kfree(tm_vdev);
1193 struct mlxbf_tmfifo_vdev *tm_vdev, *reg_dev = NULL;
1198 tm_vdev = fifo->vdev[vdev_id];
1199 if (tm_vdev) {
1205 tm_vdev = kzalloc(sizeof(*tm_vdev), GFP_KERNEL);
1206 if (!tm_vdev) {
1211 tm_vdev->vdev.id.device = vdev_id;
1212 tm_vdev->vdev.config = &mlxbf_tmfifo_virtio_config_ops;
1213 tm_vdev->vdev.dev.parent = dev;
1214 tm_vdev->vdev.dev.release = tmfifo_virtio_dev_release;
1215 tm_vdev->features = features;
1217 memcpy(&tm_vdev->config, config, size);
1219 if (mlxbf_tmfifo_alloc_vrings(fifo, tm_vdev)) {
1227 tm_vdev->tx_buf.buf = devm_kmalloc(dev,
1230 fifo->vdev[vdev_id] = tm_vdev;
1233 ret = register_virtio_device(&tm_vdev->vdev);
1234 reg_dev = tm_vdev;
1244 mlxbf_tmfifo_free_vrings(fifo, tm_vdev);
1247 put_device(&tm_vdev->vdev.dev);
1249 kfree(tm_vdev);
1258 struct mlxbf_tmfifo_vdev *tm_vdev;
1263 tm_vdev = fifo->vdev[vdev_id];
1264 if (tm_vdev) {
1265 unregister_virtio_device(&tm_vdev->vdev);
1266 mlxbf_tmfifo_free_vrings(fifo, tm_vdev);