Lines Matching refs:dev

21     QVirtioMMIODevice *dev = container_of(d, QVirtioMMIODevice, vdev);  in qvirtio_mmio_config_readb()  local
22 return qtest_readb(dev->qts, dev->addr + QVIRTIO_MMIO_DEVICE_SPECIFIC + off); in qvirtio_mmio_config_readb()
27 QVirtioMMIODevice *dev = container_of(d, QVirtioMMIODevice, vdev); in qvirtio_mmio_config_readw() local
28 return qtest_readw(dev->qts, dev->addr + QVIRTIO_MMIO_DEVICE_SPECIFIC + off); in qvirtio_mmio_config_readw()
33 QVirtioMMIODevice *dev = container_of(d, QVirtioMMIODevice, vdev); in qvirtio_mmio_config_readl() local
34 return qtest_readl(dev->qts, dev->addr + QVIRTIO_MMIO_DEVICE_SPECIFIC + off); in qvirtio_mmio_config_readl()
39 QVirtioMMIODevice *dev = container_of(d, QVirtioMMIODevice, vdev); in qvirtio_mmio_config_readq() local
40 return qtest_readq(dev->qts, dev->addr + QVIRTIO_MMIO_DEVICE_SPECIFIC + off); in qvirtio_mmio_config_readq()
45 QVirtioMMIODevice *dev = container_of(d, QVirtioMMIODevice, vdev); in qvirtio_mmio_get_features() local
49 qtest_writel(dev->qts, dev->addr + QVIRTIO_MMIO_HOST_FEATURES_SEL, 0); in qvirtio_mmio_get_features()
50 lo = qtest_readl(dev->qts, dev->addr + QVIRTIO_MMIO_HOST_FEATURES); in qvirtio_mmio_get_features()
52 if (dev->version >= 2) { in qvirtio_mmio_get_features()
53 qtest_writel(dev->qts, dev->addr + QVIRTIO_MMIO_HOST_FEATURES_SEL, 1); in qvirtio_mmio_get_features()
54 hi = qtest_readl(dev->qts, dev->addr + QVIRTIO_MMIO_HOST_FEATURES); in qvirtio_mmio_get_features()
62 QVirtioMMIODevice *dev = container_of(d, QVirtioMMIODevice, vdev); in qvirtio_mmio_set_features() local
63 dev->features = features; in qvirtio_mmio_set_features()
64 qtest_writel(dev->qts, dev->addr + QVIRTIO_MMIO_GUEST_FEATURES_SEL, 0); in qvirtio_mmio_set_features()
65 qtest_writel(dev->qts, dev->addr + QVIRTIO_MMIO_GUEST_FEATURES, features); in qvirtio_mmio_set_features()
67 if (dev->version >= 2) { in qvirtio_mmio_set_features()
68 qtest_writel(dev->qts, dev->addr + QVIRTIO_MMIO_GUEST_FEATURES_SEL, 1); in qvirtio_mmio_set_features()
69 qtest_writel(dev->qts, dev->addr + QVIRTIO_MMIO_GUEST_FEATURES, in qvirtio_mmio_set_features()
76 QVirtioMMIODevice *dev = container_of(d, QVirtioMMIODevice, vdev); in qvirtio_mmio_get_guest_features() local
77 return dev->features; in qvirtio_mmio_get_guest_features()
82 QVirtioMMIODevice *dev = container_of(d, QVirtioMMIODevice, vdev); in qvirtio_mmio_get_status() local
83 return (uint8_t)qtest_readl(dev->qts, dev->addr + QVIRTIO_MMIO_DEVICE_STATUS); in qvirtio_mmio_get_status()
88 QVirtioMMIODevice *dev = container_of(d, QVirtioMMIODevice, vdev); in qvirtio_mmio_set_status() local
89 qtest_writel(dev->qts, dev->addr + QVIRTIO_MMIO_DEVICE_STATUS, (uint32_t)status); in qvirtio_mmio_set_status()
94 QVirtioMMIODevice *dev = container_of(d, QVirtioMMIODevice, vdev); in qvirtio_mmio_get_queue_isr_status() local
97 isr = qtest_readl(dev->qts, dev->addr + QVIRTIO_MMIO_INTERRUPT_STATUS) & 1; in qvirtio_mmio_get_queue_isr_status()
99 qtest_writel(dev->qts, dev->addr + QVIRTIO_MMIO_INTERRUPT_ACK, 1); in qvirtio_mmio_get_queue_isr_status()
108 QVirtioMMIODevice *dev = container_of(d, QVirtioMMIODevice, vdev); in qvirtio_mmio_get_config_isr_status() local
111 isr = qtest_readl(dev->qts, dev->addr + QVIRTIO_MMIO_INTERRUPT_STATUS) & 2; in qvirtio_mmio_get_config_isr_status()
113 qtest_writel(dev->qts, dev->addr + QVIRTIO_MMIO_INTERRUPT_ACK, 2); in qvirtio_mmio_get_config_isr_status()
123 QVirtioMMIODevice *dev = container_of(d, QVirtioMMIODevice, vdev); in qvirtio_mmio_wait_config_isr_status() local
128 qtest_clock_step(dev->qts, 100); in qvirtio_mmio_wait_config_isr_status()
134 QVirtioMMIODevice *dev = container_of(d, QVirtioMMIODevice, vdev); in qvirtio_mmio_queue_select() local
135 qtest_writel(dev->qts, dev->addr + QVIRTIO_MMIO_QUEUE_SEL, (uint32_t)index); in qvirtio_mmio_queue_select()
137 g_assert_cmphex(qtest_readl(dev->qts, dev->addr + QVIRTIO_MMIO_QUEUE_PFN), ==, 0); in qvirtio_mmio_queue_select()
142 QVirtioMMIODevice *dev = container_of(d, QVirtioMMIODevice, vdev); in qvirtio_mmio_get_queue_size() local
143 return (uint16_t)qtest_readl(dev->qts, dev->addr + QVIRTIO_MMIO_QUEUE_NUM_MAX); in qvirtio_mmio_get_queue_size()
148 QVirtioMMIODevice *dev = container_of(d, QVirtioMMIODevice, vdev); in qvirtio_mmio_set_queue_address() local
149 uint64_t pfn = vq->desc / dev->page_size; in qvirtio_mmio_set_queue_address()
151 qtest_writel(dev->qts, dev->addr + QVIRTIO_MMIO_QUEUE_PFN, pfn); in qvirtio_mmio_set_queue_address()
157 QVirtioMMIODevice *dev = container_of(d, QVirtioMMIODevice, vdev); in qvirtio_mmio_virtqueue_setup() local
164 qtest_writel(dev->qts, dev->addr + QVIRTIO_MMIO_QUEUE_ALIGN, dev->page_size); in qvirtio_mmio_virtqueue_setup()
170 vq->align = dev->page_size; in qvirtio_mmio_virtqueue_setup()
171 vq->indirect = dev->features & (1ull << VIRTIO_RING_F_INDIRECT_DESC); in qvirtio_mmio_virtqueue_setup()
172 vq->event = dev->features & (1ull << VIRTIO_RING_F_EVENT_IDX); in qvirtio_mmio_virtqueue_setup()
174 qtest_writel(dev->qts, dev->addr + QVIRTIO_MMIO_QUEUE_NUM, vq->size); in qvirtio_mmio_virtqueue_setup()
182 addr = guest_alloc(alloc, qvring_size(vq->size, dev->page_size)); in qvirtio_mmio_virtqueue_setup()
183 qvring_init(dev->qts, alloc, vq, addr); in qvirtio_mmio_virtqueue_setup()
198 QVirtioMMIODevice *dev = container_of(d, QVirtioMMIODevice, vdev); in qvirtio_mmio_virtqueue_kick() local
199 qtest_writel(dev->qts, dev->addr + QVIRTIO_MMIO_QUEUE_NOTIFY, vq->index); in qvirtio_mmio_virtqueue_kick()
234 QVirtioMMIODevice *dev = (QVirtioMMIODevice *) obj; in qvirtio_mmio_start_hw() local
235 qvirtio_start_device(&dev->vdev); in qvirtio_mmio_start_hw()
238 void qvirtio_mmio_init_device(QVirtioMMIODevice *dev, QTestState *qts, in qvirtio_mmio_init_device() argument
245 dev->version = qtest_readl(qts, addr + QVIRTIO_MMIO_VERSION); in qvirtio_mmio_init_device()
246 g_assert(dev->version == 1 || dev->version == 2); in qvirtio_mmio_init_device()
248 dev->qts = qts; in qvirtio_mmio_init_device()
249 dev->addr = addr; in qvirtio_mmio_init_device()
250 dev->page_size = page_size; in qvirtio_mmio_init_device()
251 dev->vdev.device_type = qtest_readl(qts, addr + QVIRTIO_MMIO_DEVICE_ID); in qvirtio_mmio_init_device()
252 dev->vdev.bus = &qvirtio_mmio; in qvirtio_mmio_init_device()
256 dev->obj.get_driver = qvirtio_mmio_get_driver; in qvirtio_mmio_init_device()
257 dev->obj.start_hw = qvirtio_mmio_start_hw; in qvirtio_mmio_init_device()