Lines Matching refs:vring_packed

2366 static void vring_free_packed(struct vring_virtqueue_packed *vring_packed,  in vring_free_packed()  argument
2370 if (vring_packed->vring.desc) in vring_free_packed()
2371 vring_free_queue(vdev, vring_packed->ring_size_in_bytes, in vring_free_packed()
2372 vring_packed->vring.desc, in vring_free_packed()
2373 vring_packed->ring_dma_addr, in vring_free_packed()
2376 if (vring_packed->vring.driver) in vring_free_packed()
2377 vring_free_queue(vdev, vring_packed->event_size_in_bytes, in vring_free_packed()
2378 vring_packed->vring.driver, in vring_free_packed()
2379 vring_packed->driver_event_dma_addr, in vring_free_packed()
2382 if (vring_packed->vring.device) in vring_free_packed()
2383 vring_free_queue(vdev, vring_packed->event_size_in_bytes, in vring_free_packed()
2384 vring_packed->vring.device, in vring_free_packed()
2385 vring_packed->device_event_dma_addr, in vring_free_packed()
2388 kfree(vring_packed->desc_state); in vring_free_packed()
2389 kfree(vring_packed->desc_extra); in vring_free_packed()
2392 static int vring_alloc_queue_packed(struct vring_virtqueue_packed *vring_packed, in vring_alloc_queue_packed() argument
2410 vring_packed->vring.desc = ring; in vring_alloc_queue_packed()
2411 vring_packed->ring_dma_addr = ring_dma_addr; in vring_alloc_queue_packed()
2412 vring_packed->ring_size_in_bytes = ring_size_in_bytes; in vring_alloc_queue_packed()
2423 vring_packed->vring.driver = driver; in vring_alloc_queue_packed()
2424 vring_packed->event_size_in_bytes = event_size_in_bytes; in vring_alloc_queue_packed()
2425 vring_packed->driver_event_dma_addr = driver_event_dma_addr; in vring_alloc_queue_packed()
2434 vring_packed->vring.device = device; in vring_alloc_queue_packed()
2435 vring_packed->device_event_dma_addr = device_event_dma_addr; in vring_alloc_queue_packed()
2437 vring_packed->vring.num = num; in vring_alloc_queue_packed()
2442 vring_free_packed(vring_packed, vdev, map); in vring_alloc_queue_packed()
2446 static int vring_alloc_state_extra_packed(struct vring_virtqueue_packed *vring_packed) in vring_alloc_state_extra_packed() argument
2450 u32 num = vring_packed->vring.num; in vring_alloc_state_extra_packed()
2462 vring_packed->desc_state = state; in vring_alloc_state_extra_packed()
2463 vring_packed->desc_extra = extra; in vring_alloc_state_extra_packed()
2473 static void virtqueue_vring_init_packed(struct vring_virtqueue_packed *vring_packed, in virtqueue_vring_init_packed() argument
2476 vring_packed->next_avail_idx = 0; in virtqueue_vring_init_packed()
2477 vring_packed->avail_wrap_counter = 1; in virtqueue_vring_init_packed()
2478 vring_packed->event_flags_shadow = 0; in virtqueue_vring_init_packed()
2479 vring_packed->avail_used_flags = 1 << VRING_PACKED_DESC_F_AVAIL; in virtqueue_vring_init_packed()
2483 vring_packed->event_flags_shadow = VRING_PACKED_EVENT_FLAG_DISABLE; in virtqueue_vring_init_packed()
2484 vring_packed->vring.driver->flags = in virtqueue_vring_init_packed()
2485 cpu_to_le16(vring_packed->event_flags_shadow); in virtqueue_vring_init_packed()
2490 struct vring_virtqueue_packed *vring_packed) in virtqueue_vring_attach_packed() argument
2492 vq->packed = *vring_packed; in virtqueue_vring_attach_packed()
2519 struct vring_virtqueue_packed *vring_packed, in __vring_new_virtqueue_packed() argument
2560 err = vring_alloc_state_extra_packed(vring_packed); in __vring_new_virtqueue_packed()
2566 virtqueue_vring_init_packed(vring_packed, !!callback); in __vring_new_virtqueue_packed()
2568 virtqueue_init(vq, vring_packed->vring.num); in __vring_new_virtqueue_packed()
2569 virtqueue_vring_attach_packed(vq, vring_packed); in __vring_new_virtqueue_packed()
2590 struct vring_virtqueue_packed vring_packed = {}; in vring_create_virtqueue_packed() local
2593 if (vring_alloc_queue_packed(&vring_packed, vdev, num, map)) in vring_create_virtqueue_packed()
2596 vq = __vring_new_virtqueue_packed(index, &vring_packed, vdev, weak_barriers, in vring_create_virtqueue_packed()
2599 vring_free_packed(&vring_packed, vdev, map); in vring_create_virtqueue_packed()
2610 struct vring_virtqueue_packed vring_packed = {}; in virtqueue_resize_packed() local
2614 if (vring_alloc_queue_packed(&vring_packed, vdev, num, vq->map)) in virtqueue_resize_packed()
2617 err = vring_alloc_state_extra_packed(&vring_packed); in virtqueue_resize_packed()
2623 virtqueue_vring_init_packed(&vring_packed, !!vq->vq.callback); in virtqueue_resize_packed()
2625 virtqueue_init(vq, vring_packed.vring.num); in virtqueue_resize_packed()
2626 virtqueue_vring_attach_packed(vq, &vring_packed); in virtqueue_resize_packed()
2631 vring_free_packed(&vring_packed, vdev, vq->map); in virtqueue_resize_packed()
3416 struct vring_virtqueue_packed vring_packed = {}; in vring_new_virtqueue() local
3418 vring_packed.vring.num = num; in vring_new_virtqueue()
3419 vring_packed.vring.desc = pages; in vring_new_virtqueue()
3420 return __vring_new_virtqueue_packed(index, &vring_packed, in vring_new_virtqueue()