Lines Matching refs:virtio_dev
70 struct virtio_device *virtio_dev = &virtio_gpu_dev->virtio_dev; in virtio_gpu_ctrl_send_command() local
73 rt_base_t level = rt_spin_lock_irqsave(&virtio_dev->spinlock); in virtio_gpu_ctrl_send_command()
76 while (virtio_alloc_desc_chain(virtio_dev, VIRTIO_GPU_QUEUE_CTRL, 2, idx)) in virtio_gpu_ctrl_send_command()
79 rt_spin_unlock_irqrestore(&virtio_dev->spinlock, level); in virtio_gpu_ctrl_send_command()
84 level = rt_spin_lock_irqsave(&virtio_dev->spinlock); in virtio_gpu_ctrl_send_command()
90 virtio_fill_desc(virtio_dev, VIRTIO_GPU_QUEUE_CTRL, idx[0], in virtio_gpu_ctrl_send_command()
93 virtio_fill_desc(virtio_dev, VIRTIO_GPU_QUEUE_CTRL, idx[1], in virtio_gpu_ctrl_send_command()
100 virtio_submit_chain(virtio_dev, VIRTIO_GPU_QUEUE_CTRL, idx[0]); in virtio_gpu_ctrl_send_command()
102 virtio_queue_notify(virtio_dev, VIRTIO_GPU_QUEUE_CTRL); in virtio_gpu_ctrl_send_command()
107 rt_spin_unlock_irqrestore(&virtio_dev->spinlock, level); in virtio_gpu_ctrl_send_command()
112 level = rt_spin_lock_irqsave(&virtio_dev->spinlock); in virtio_gpu_ctrl_send_command()
116 virtio_free_desc_chain(virtio_dev, VIRTIO_GPU_QUEUE_CTRL, idx[0]); in virtio_gpu_ctrl_send_command()
121 rt_spin_unlock_irqrestore(&virtio_dev->spinlock, level); in virtio_gpu_ctrl_send_command()
130 struct virtio_device *virtio_dev = &virtio_gpu_dev->virtio_dev; in virtio_gpu_cursor_send_command() local
133 rt_base_t level = rt_spin_lock_irqsave(&virtio_dev->spinlock); in virtio_gpu_cursor_send_command()
136 while ((id = virtio_alloc_desc(virtio_dev, VIRTIO_GPU_QUEUE_CURSOR)) == VIRTQ_INVALID_DESC_ID) in virtio_gpu_cursor_send_command()
139 rt_spin_unlock_irqrestore(&virtio_dev->spinlock, level); in virtio_gpu_cursor_send_command()
144 level = rt_spin_lock_irqsave(&virtio_dev->spinlock); in virtio_gpu_cursor_send_command()
153 virtio_fill_desc(virtio_dev, VIRTIO_GPU_QUEUE_CURSOR, id, VIRTIO_VA2PA(addr), cmd_len, 0, 0); in virtio_gpu_cursor_send_command()
155 virtio_submit_chain(virtio_dev, VIRTIO_GPU_QUEUE_CURSOR, id); in virtio_gpu_cursor_send_command()
157 virtio_queue_notify(virtio_dev, VIRTIO_GPU_QUEUE_CURSOR); in virtio_gpu_cursor_send_command()
162 rt_spin_unlock_irqrestore(&virtio_dev->spinlock, level); in virtio_gpu_cursor_send_command()
167 level = rt_spin_lock_irqsave(&virtio_dev->spinlock); in virtio_gpu_cursor_send_command()
171 virtio_free_desc(virtio_dev, VIRTIO_GPU_QUEUE_CURSOR, id); in virtio_gpu_cursor_send_command()
174 rt_spin_unlock_irqrestore(&virtio_dev->spinlock, level); in virtio_gpu_cursor_send_command()
432 struct virtio_device *virtio_dev = &virtio_gpu_dev->virtio_dev; in virtio_gpu_init() local
435 queue_ctrl = &virtio_dev->queues[VIRTIO_GPU_QUEUE_CTRL]; in virtio_gpu_init()
436 queue_cursor = &virtio_dev->queues[VIRTIO_GPU_QUEUE_CURSOR]; in virtio_gpu_init()
811 struct virtio_device *virtio_dev = &virtio_gpu_dev->virtio_dev; in virtio_gpu_isr() local
812 struct virtq *queue_ctrl = &virtio_dev->queues[VIRTIO_GPU_QUEUE_CTRL]; in virtio_gpu_isr()
813 struct virtq *queue_cursor = &virtio_dev->queues[VIRTIO_GPU_QUEUE_CURSOR]; in virtio_gpu_isr()
816 rt_base_t level = rt_spin_lock_irqsave(&virtio_dev->spinlock); in virtio_gpu_isr()
819 virtio_interrupt_ack(virtio_dev); in virtio_gpu_isr()
843 rt_spin_unlock_irqrestore(&virtio_dev->spinlock, level); in virtio_gpu_isr()
851 struct virtio_device *virtio_dev; in rt_virtio_gpu_init() local
861 virtio_dev = &virtio_gpu_dev->virtio_dev; in rt_virtio_gpu_init()
862 virtio_dev->irq = irq; in rt_virtio_gpu_init()
863 virtio_dev->mmio_base = mmio_base; in rt_virtio_gpu_init()
874 rt_spin_lock_init(&virtio_dev->spinlock); in rt_virtio_gpu_init()
877 virtio_reset_device(virtio_dev); in rt_virtio_gpu_init()
878 virtio_status_acknowledge_driver(virtio_dev); in rt_virtio_gpu_init()
880 virtio_dev->mmio_config->driver_features = virtio_dev->mmio_config->device_features & ~( in rt_virtio_gpu_init()
884 virtio_status_driver_ok(virtio_dev); in rt_virtio_gpu_init()
886 if (virtio_queues_alloc(virtio_dev, 2) != RT_EOK) in rt_virtio_gpu_init()
891 if (virtio_queue_init(virtio_dev, VIRTIO_GPU_QUEUE_CTRL, VIRTIO_GPU_QUEUE_SIZE) != RT_EOK) in rt_virtio_gpu_init()
896 if (virtio_queue_init(virtio_dev, VIRTIO_GPU_QUEUE_CURSOR, VIRTIO_GPU_QUEUE_SIZE) != RT_EOK) in rt_virtio_gpu_init()
898 virtio_queue_destroy(virtio_dev, VIRTIO_GPU_QUEUE_CTRL); in rt_virtio_gpu_init()
930 virtio_queues_free(virtio_dev); in rt_virtio_gpu_init()