| 230 | } |
| 231 | |
| 232 | void virtio_free_desc(struct virtio_device *dev, rt_uint32_t queue_index, rt_uint16_t desc_index) |
| 233 | { |
| 234 | struct virtq *queue; |
| 235 | |
| 236 | _virtio_dev_check(dev); |
| 237 | |
| 238 | queue = &dev->queues[queue_index]; |
| 239 | |
| 240 | RT_ASSERT(queue_index < dev->queues_num); |
| 241 | RT_ASSERT(!queue->free[desc_index]); |
| 242 | |
| 243 | queue->desc[desc_index].addr = 0; |
| 244 | queue->desc[desc_index].len = 0; |
| 245 | queue->desc[desc_index].flags = 0; |
| 246 | queue->desc[desc_index].next = 0; |
| 247 | |
| 248 | queue->free[desc_index] = RT_TRUE; |
| 249 | |
| 250 | queue->free_count++; |
| 251 | } |
| 252 | |
| 253 | rt_err_t virtio_alloc_desc_chain(struct virtio_device *dev, rt_uint32_t queue_index, rt_size_t count, |
| 254 | rt_uint16_t *indexs) |
no test coverage detected