Lines Matching refs:vring_packed
1855 static void vring_free_packed(struct vring_virtqueue_packed *vring_packed, in vring_free_packed() argument
1859 if (vring_packed->vring.desc) in vring_free_packed()
1860 vring_free_queue(vdev, vring_packed->ring_size_in_bytes, in vring_free_packed()
1861 vring_packed->vring.desc, in vring_free_packed()
1862 vring_packed->ring_dma_addr, in vring_free_packed()
1865 if (vring_packed->vring.driver) in vring_free_packed()
1866 vring_free_queue(vdev, vring_packed->event_size_in_bytes, in vring_free_packed()
1867 vring_packed->vring.driver, in vring_free_packed()
1868 vring_packed->driver_event_dma_addr, in vring_free_packed()
1871 if (vring_packed->vring.device) in vring_free_packed()
1872 vring_free_queue(vdev, vring_packed->event_size_in_bytes, in vring_free_packed()
1873 vring_packed->vring.device, in vring_free_packed()
1874 vring_packed->device_event_dma_addr, in vring_free_packed()
1877 kfree(vring_packed->desc_state); in vring_free_packed()
1878 kfree(vring_packed->desc_extra); in vring_free_packed()
1881 static int vring_alloc_queue_packed(struct vring_virtqueue_packed *vring_packed, in vring_alloc_queue_packed() argument
1899 vring_packed->vring.desc = ring; in vring_alloc_queue_packed()
1900 vring_packed->ring_dma_addr = ring_dma_addr; in vring_alloc_queue_packed()
1901 vring_packed->ring_size_in_bytes = ring_size_in_bytes; in vring_alloc_queue_packed()
1912 vring_packed->vring.driver = driver; in vring_alloc_queue_packed()
1913 vring_packed->event_size_in_bytes = event_size_in_bytes; in vring_alloc_queue_packed()
1914 vring_packed->driver_event_dma_addr = driver_event_dma_addr; in vring_alloc_queue_packed()
1923 vring_packed->vring.device = device; in vring_alloc_queue_packed()
1924 vring_packed->device_event_dma_addr = device_event_dma_addr; in vring_alloc_queue_packed()
1926 vring_packed->vring.num = num; in vring_alloc_queue_packed()
1931 vring_free_packed(vring_packed, vdev, dma_dev); in vring_alloc_queue_packed()
1935 static int vring_alloc_state_extra_packed(struct vring_virtqueue_packed *vring_packed) in vring_alloc_state_extra_packed() argument
1939 u32 num = vring_packed->vring.num; in vring_alloc_state_extra_packed()
1951 vring_packed->desc_state = state; in vring_alloc_state_extra_packed()
1952 vring_packed->desc_extra = extra; in vring_alloc_state_extra_packed()
1962 static void virtqueue_vring_init_packed(struct vring_virtqueue_packed *vring_packed, in virtqueue_vring_init_packed() argument
1965 vring_packed->next_avail_idx = 0; in virtqueue_vring_init_packed()
1966 vring_packed->avail_wrap_counter = 1; in virtqueue_vring_init_packed()
1967 vring_packed->event_flags_shadow = 0; in virtqueue_vring_init_packed()
1968 vring_packed->avail_used_flags = 1 << VRING_PACKED_DESC_F_AVAIL; in virtqueue_vring_init_packed()
1972 vring_packed->event_flags_shadow = VRING_PACKED_EVENT_FLAG_DISABLE; in virtqueue_vring_init_packed()
1973 vring_packed->vring.driver->flags = in virtqueue_vring_init_packed()
1974 cpu_to_le16(vring_packed->event_flags_shadow); in virtqueue_vring_init_packed()
1979 struct vring_virtqueue_packed *vring_packed) in virtqueue_vring_attach_packed() argument
1981 vq->packed = *vring_packed; in virtqueue_vring_attach_packed()
2012 struct vring_virtqueue_packed vring_packed = {}; in vring_create_virtqueue_packed() local
2016 if (vring_alloc_queue_packed(&vring_packed, vdev, num, dma_dev)) in vring_create_virtqueue_packed()
2047 err = vring_alloc_state_extra_packed(&vring_packed); in vring_create_virtqueue_packed()
2051 virtqueue_vring_init_packed(&vring_packed, !!callback); in vring_create_virtqueue_packed()
2054 virtqueue_vring_attach_packed(vq, &vring_packed); in vring_create_virtqueue_packed()
2064 vring_free_packed(&vring_packed, vdev, dma_dev); in vring_create_virtqueue_packed()
2071 struct vring_virtqueue_packed vring_packed = {}; in virtqueue_resize_packed() local
2076 if (vring_alloc_queue_packed(&vring_packed, vdev, num, vring_dma_dev(vq))) in virtqueue_resize_packed()
2079 err = vring_alloc_state_extra_packed(&vring_packed); in virtqueue_resize_packed()
2085 virtqueue_vring_init_packed(&vring_packed, !!vq->vq.callback); in virtqueue_resize_packed()
2087 virtqueue_init(vq, vring_packed.vring.num); in virtqueue_resize_packed()
2088 virtqueue_vring_attach_packed(vq, &vring_packed); in virtqueue_resize_packed()
2093 vring_free_packed(&vring_packed, vdev, vring_dma_dev(vq)); in virtqueue_resize_packed()