Lines Matching refs:dev

20 static inline struct kvm_coalesced_mmio_dev *to_mmio(struct kvm_io_device *dev)  in to_mmio()  argument
22 return container_of(dev, struct kvm_coalesced_mmio_dev, dev); in to_mmio()
25 static int coalesced_mmio_in_range(struct kvm_coalesced_mmio_dev *dev, in coalesced_mmio_in_range() argument
36 if (addr < dev->zone.addr) in coalesced_mmio_in_range()
38 if (addr + len > dev->zone.addr + dev->zone.size) in coalesced_mmio_in_range()
47 struct kvm_coalesced_mmio_dev *dev = to_mmio(this); in coalesced_mmio_write() local
48 struct kvm_coalesced_mmio_ring *ring = dev->kvm->coalesced_mmio_ring; in coalesced_mmio_write()
51 if (!coalesced_mmio_in_range(dev, addr, len)) in coalesced_mmio_write()
54 spin_lock(&dev->kvm->ring_lock); in coalesced_mmio_write()
65 spin_unlock(&dev->kvm->ring_lock); in coalesced_mmio_write()
74 ring->coalesced_mmio[insert].pio = dev->zone.pio; in coalesced_mmio_write()
77 spin_unlock(&dev->kvm->ring_lock); in coalesced_mmio_write()
83 struct kvm_coalesced_mmio_dev *dev = to_mmio(this); in coalesced_mmio_destructor() local
85 list_del(&dev->list); in coalesced_mmio_destructor()
87 kfree(dev); in coalesced_mmio_destructor()
126 struct kvm_coalesced_mmio_dev *dev; in kvm_vm_ioctl_register_coalesced_mmio() local
131 dev = kzalloc(sizeof(struct kvm_coalesced_mmio_dev), in kvm_vm_ioctl_register_coalesced_mmio()
133 if (!dev) in kvm_vm_ioctl_register_coalesced_mmio()
136 kvm_iodevice_init(&dev->dev, &coalesced_mmio_ops); in kvm_vm_ioctl_register_coalesced_mmio()
137 dev->kvm = kvm; in kvm_vm_ioctl_register_coalesced_mmio()
138 dev->zone = *zone; in kvm_vm_ioctl_register_coalesced_mmio()
143 zone->addr, zone->size, &dev->dev); in kvm_vm_ioctl_register_coalesced_mmio()
146 list_add_tail(&dev->list, &kvm->coalesced_zones); in kvm_vm_ioctl_register_coalesced_mmio()
153 kfree(dev); in kvm_vm_ioctl_register_coalesced_mmio()
161 struct kvm_coalesced_mmio_dev *dev, *tmp; in kvm_vm_ioctl_unregister_coalesced_mmio() local
169 list_for_each_entry_safe(dev, tmp, &kvm->coalesced_zones, list) { in kvm_vm_ioctl_unregister_coalesced_mmio()
170 if (zone->pio == dev->zone.pio && in kvm_vm_ioctl_unregister_coalesced_mmio()
171 coalesced_mmio_in_range(dev, zone->addr, zone->size)) { in kvm_vm_ioctl_unregister_coalesced_mmio()
173 zone->pio ? KVM_PIO_BUS : KVM_MMIO_BUS, &dev->dev); in kvm_vm_ioctl_unregister_coalesced_mmio()