Lines Matching refs:virtio_dev

78         if (virtio_input_dev->virtio_dev.mmio_config->version == 1)  in virtio_input_cfg_bits()
109 struct virtio_device *virtio_dev = &virtio_input_dev->virtio_dev; in virtio_input_init() local
116 queue_event = &virtio_dev->queues[VIRTIO_INPUT_QUEUE_EVENT]; in virtio_input_init()
117 queue_status = &virtio_dev->queues[VIRTIO_INPUT_QUEUE_STATUS]; in virtio_input_init()
119 virtio_alloc_desc_chain(virtio_dev, VIRTIO_INPUT_QUEUE_EVENT, queue_event->num, idx); in virtio_input_init()
120 virtio_alloc_desc_chain(virtio_dev, VIRTIO_INPUT_QUEUE_STATUS, queue_status->num, idx); in virtio_input_init()
127 virtio_fill_desc(virtio_dev, VIRTIO_INPUT_QUEUE_EVENT, id, in virtio_input_init()
130 virtio_submit_chain(virtio_dev, VIRTIO_INPUT_QUEUE_EVENT, id); in virtio_input_init()
137 virtio_queue_notify(virtio_dev, VIRTIO_INPUT_QUEUE_EVENT); in virtio_input_init()
146 …if (buffer == RT_NULL || pos + size >= virtio_input_dev->virtio_dev.queues[VIRTIO_INPUT_QUEUE_EVEN… in virtio_input_read()
164 …if (buffer == RT_NULL || pos + size >= virtio_input_dev->virtio_dev.queues[VIRTIO_INPUT_QUEUE_EVEN… in virtio_input_write()
182 struct virtio_device *virtio_dev = &virtio_input_dev->virtio_dev; in virtio_input_control() local
218 struct virtq *queue_status = &virtio_dev->queues[VIRTIO_INPUT_QUEUE_STATUS]; in virtio_input_control()
221 rt_base_t level = rt_spin_lock_irqsave(&virtio_dev->spinlock); in virtio_input_control()
228 virtio_free_desc(virtio_dev, VIRTIO_INPUT_QUEUE_STATUS, id); in virtio_input_control()
230 virtio_fill_desc(virtio_dev, VIRTIO_INPUT_QUEUE_STATUS, id, in virtio_input_control()
233 virtio_submit_chain(virtio_dev, VIRTIO_INPUT_QUEUE_STATUS, id); in virtio_input_control()
235 virtio_queue_notify(virtio_dev, VIRTIO_INPUT_QUEUE_STATUS); in virtio_input_control()
237 virtio_alloc_desc(virtio_dev, VIRTIO_INPUT_QUEUE_STATUS); in virtio_input_control()
240 rt_spin_unlock_irqrestore(&virtio_dev->spinlock, level); in virtio_input_control()
287 struct virtio_device *virtio_dev = &virtio_input_dev->virtio_dev; in virtio_input_isr() local
288 struct virtq *event_queue = &virtio_dev->queues[VIRTIO_INPUT_QUEUE_EVENT]; in virtio_input_isr()
292 rt_base_t level = rt_spin_lock_irqsave(&virtio_dev->spinlock); in virtio_input_isr()
295 virtio_interrupt_ack(virtio_dev); in virtio_input_isr()
332 virtio_submit_chain(virtio_dev, VIRTIO_INPUT_QUEUE_EVENT, id); in virtio_input_isr()
334 virtio_queue_notify(virtio_dev, VIRTIO_INPUT_QUEUE_EVENT); in virtio_input_isr()
338 rt_spin_unlock_irqrestore(&virtio_dev->spinlock, level); in virtio_input_isr()
347 struct virtio_device *virtio_dev; in rt_virtio_input_init() local
357 virtio_dev = &virtio_input_dev->virtio_dev; in rt_virtio_input_init()
358 virtio_dev->irq = irq; in rt_virtio_input_init()
359 virtio_dev->mmio_base = mmio_base; in rt_virtio_input_init()
361 virtio_input_dev->config = (struct virtio_input_config *)virtio_dev->mmio_config->config; in rt_virtio_input_init()
365 rt_spin_lock_init(&virtio_dev->spinlock); in rt_virtio_input_init()
368 virtio_reset_device(virtio_dev); in rt_virtio_input_init()
369 virtio_status_acknowledge_driver(virtio_dev); in rt_virtio_input_init()
371 virtio_dev->mmio_config->driver_features = virtio_dev->mmio_config->device_features & ~( in rt_virtio_input_init()
375 virtio_status_driver_ok(virtio_dev); in rt_virtio_input_init()
377 if (virtio_queues_alloc(virtio_dev, 2) != RT_EOK) in rt_virtio_input_init()
382 …if (virtio_queue_init(virtio_dev, VIRTIO_INPUT_QUEUE_EVENT, VIRTIO_INPUT_EVENT_QUEUE_SIZE) != RT_E… in rt_virtio_input_init()
387 …if (virtio_queue_init(virtio_dev, VIRTIO_INPUT_QUEUE_STATUS, VIRTIO_INPUT_STATUS_QUEUE_SIZE) != RT… in rt_virtio_input_init()
389 virtio_queue_destroy(virtio_dev, VIRTIO_INPUT_QUEUE_EVENT); in rt_virtio_input_init()
444 virtio_queues_free(virtio_dev); in rt_virtio_input_init()