vm_dev 109 drivers/virtio/virtio_mmio.c struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); vm_dev 112 drivers/virtio/virtio_mmio.c writel(1, vm_dev->base + VIRTIO_MMIO_DEVICE_FEATURES_SEL); vm_dev 113 drivers/virtio/virtio_mmio.c features = readl(vm_dev->base + VIRTIO_MMIO_DEVICE_FEATURES); vm_dev 116 drivers/virtio/virtio_mmio.c writel(0, vm_dev->base + VIRTIO_MMIO_DEVICE_FEATURES_SEL); vm_dev 117 drivers/virtio/virtio_mmio.c features |= readl(vm_dev->base + VIRTIO_MMIO_DEVICE_FEATURES); vm_dev 124 drivers/virtio/virtio_mmio.c struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); vm_dev 130 drivers/virtio/virtio_mmio.c if (vm_dev->version == 2 && vm_dev 136 drivers/virtio/virtio_mmio.c writel(1, vm_dev->base + VIRTIO_MMIO_DRIVER_FEATURES_SEL); vm_dev 138 drivers/virtio/virtio_mmio.c vm_dev->base + VIRTIO_MMIO_DRIVER_FEATURES); vm_dev 140 drivers/virtio/virtio_mmio.c writel(0, vm_dev->base + VIRTIO_MMIO_DRIVER_FEATURES_SEL); vm_dev 142 drivers/virtio/virtio_mmio.c vm_dev->base + VIRTIO_MMIO_DRIVER_FEATURES); vm_dev 150 drivers/virtio/virtio_mmio.c struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); vm_dev 151 drivers/virtio/virtio_mmio.c void __iomem *base = vm_dev->base + VIRTIO_MMIO_CONFIG; vm_dev 156 drivers/virtio/virtio_mmio.c if (vm_dev->version == 1) { vm_dev 192 drivers/virtio/virtio_mmio.c struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); vm_dev 193 drivers/virtio/virtio_mmio.c void __iomem *base = vm_dev->base + VIRTIO_MMIO_CONFIG; vm_dev 198 drivers/virtio/virtio_mmio.c if (vm_dev->version == 1) { vm_dev 234 drivers/virtio/virtio_mmio.c struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); vm_dev 236 drivers/virtio/virtio_mmio.c if (vm_dev->version == 1) vm_dev 239 drivers/virtio/virtio_mmio.c return readl(vm_dev->base + VIRTIO_MMIO_CONFIG_GENERATION); vm_dev 244 drivers/virtio/virtio_mmio.c struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); vm_dev 246 drivers/virtio/virtio_mmio.c return readl(vm_dev->base + VIRTIO_MMIO_STATUS) & 0xff; vm_dev 251 drivers/virtio/virtio_mmio.c struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); vm_dev 256 drivers/virtio/virtio_mmio.c writel(status, vm_dev->base + VIRTIO_MMIO_STATUS); vm_dev 261 drivers/virtio/virtio_mmio.c struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); vm_dev 264 drivers/virtio/virtio_mmio.c writel(0, vm_dev->base + VIRTIO_MMIO_STATUS); vm_dev 274 drivers/virtio/virtio_mmio.c struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vq->vdev); vm_dev 278 drivers/virtio/virtio_mmio.c writel(vq->index, vm_dev->base + VIRTIO_MMIO_QUEUE_NOTIFY); vm_dev 285 drivers/virtio/virtio_mmio.c struct virtio_mmio_device *vm_dev = opaque; vm_dev 292 drivers/virtio/virtio_mmio.c status = readl(vm_dev->base + VIRTIO_MMIO_INTERRUPT_STATUS); vm_dev 293 drivers/virtio/virtio_mmio.c writel(status, vm_dev->base + VIRTIO_MMIO_INTERRUPT_ACK); vm_dev 296 drivers/virtio/virtio_mmio.c virtio_config_changed(&vm_dev->vdev); vm_dev 301 drivers/virtio/virtio_mmio.c spin_lock_irqsave(&vm_dev->lock, flags); vm_dev 302 drivers/virtio/virtio_mmio.c list_for_each_entry(info, &vm_dev->virtqueues, node) vm_dev 304 drivers/virtio/virtio_mmio.c spin_unlock_irqrestore(&vm_dev->lock, flags); vm_dev 314 drivers/virtio/virtio_mmio.c struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vq->vdev); vm_dev 319 drivers/virtio/virtio_mmio.c spin_lock_irqsave(&vm_dev->lock, flags); vm_dev 321 drivers/virtio/virtio_mmio.c spin_unlock_irqrestore(&vm_dev->lock, flags); vm_dev 324 drivers/virtio/virtio_mmio.c writel(index, vm_dev->base + VIRTIO_MMIO_QUEUE_SEL); vm_dev 325 drivers/virtio/virtio_mmio.c if (vm_dev->version == 1) { vm_dev 326 drivers/virtio/virtio_mmio.c writel(0, vm_dev->base + VIRTIO_MMIO_QUEUE_PFN); vm_dev 328 drivers/virtio/virtio_mmio.c writel(0, vm_dev->base + VIRTIO_MMIO_QUEUE_READY); vm_dev 329 drivers/virtio/virtio_mmio.c WARN_ON(readl(vm_dev->base + VIRTIO_MMIO_QUEUE_READY)); vm_dev 339 drivers/virtio/virtio_mmio.c struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); vm_dev 345 drivers/virtio/virtio_mmio.c free_irq(platform_get_irq(vm_dev->pdev, 0), vm_dev); vm_dev 352 drivers/virtio/virtio_mmio.c struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); vm_dev 363 drivers/virtio/virtio_mmio.c writel(index, vm_dev->base + VIRTIO_MMIO_QUEUE_SEL); vm_dev 366 drivers/virtio/virtio_mmio.c if (readl(vm_dev->base + (vm_dev->version == 1 ? vm_dev 379 drivers/virtio/virtio_mmio.c num = readl(vm_dev->base + VIRTIO_MMIO_QUEUE_NUM_MAX); vm_dev 394 drivers/virtio/virtio_mmio.c writel(virtqueue_get_vring_size(vq), vm_dev->base + VIRTIO_MMIO_QUEUE_NUM); vm_dev 395 drivers/virtio/virtio_mmio.c if (vm_dev->version == 1) { vm_dev 411 drivers/virtio/virtio_mmio.c writel(PAGE_SIZE, vm_dev->base + VIRTIO_MMIO_QUEUE_ALIGN); vm_dev 412 drivers/virtio/virtio_mmio.c writel(q_pfn, vm_dev->base + VIRTIO_MMIO_QUEUE_PFN); vm_dev 417 drivers/virtio/virtio_mmio.c writel((u32)addr, vm_dev->base + VIRTIO_MMIO_QUEUE_DESC_LOW); vm_dev 419 drivers/virtio/virtio_mmio.c vm_dev->base + VIRTIO_MMIO_QUEUE_DESC_HIGH); vm_dev 422 drivers/virtio/virtio_mmio.c writel((u32)addr, vm_dev->base + VIRTIO_MMIO_QUEUE_AVAIL_LOW); vm_dev 424 drivers/virtio/virtio_mmio.c vm_dev->base + VIRTIO_MMIO_QUEUE_AVAIL_HIGH); vm_dev 427 drivers/virtio/virtio_mmio.c writel((u32)addr, vm_dev->base + VIRTIO_MMIO_QUEUE_USED_LOW); vm_dev 429 drivers/virtio/virtio_mmio.c vm_dev->base + VIRTIO_MMIO_QUEUE_USED_HIGH); vm_dev 431 drivers/virtio/virtio_mmio.c writel(1, vm_dev->base + VIRTIO_MMIO_QUEUE_READY); vm_dev 437 drivers/virtio/virtio_mmio.c spin_lock_irqsave(&vm_dev->lock, flags); vm_dev 438 drivers/virtio/virtio_mmio.c list_add(&info->node, &vm_dev->virtqueues); vm_dev 439 drivers/virtio/virtio_mmio.c spin_unlock_irqrestore(&vm_dev->lock, flags); vm_dev 446 drivers/virtio/virtio_mmio.c if (vm_dev->version == 1) { vm_dev 447 drivers/virtio/virtio_mmio.c writel(0, vm_dev->base + VIRTIO_MMIO_QUEUE_PFN); vm_dev 449 drivers/virtio/virtio_mmio.c writel(0, vm_dev->base + VIRTIO_MMIO_QUEUE_READY); vm_dev 450 drivers/virtio/virtio_mmio.c WARN_ON(readl(vm_dev->base + VIRTIO_MMIO_QUEUE_READY)); vm_dev 465 drivers/virtio/virtio_mmio.c struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); vm_dev 466 drivers/virtio/virtio_mmio.c int irq = platform_get_irq(vm_dev->pdev, 0); vm_dev 475 drivers/virtio/virtio_mmio.c dev_name(&vdev->dev), vm_dev); vm_dev 498 drivers/virtio/virtio_mmio.c struct virtio_mmio_device *vm_dev = to_virtio_mmio_device(vdev); vm_dev 500 drivers/virtio/virtio_mmio.c return vm_dev->pdev->name; vm_dev 522 drivers/virtio/virtio_mmio.c struct virtio_mmio_device *vm_dev = vm_dev 524 drivers/virtio/virtio_mmio.c struct platform_device *pdev = vm_dev->pdev; vm_dev 526 drivers/virtio/virtio_mmio.c devm_kfree(&pdev->dev, vm_dev); vm_dev 533 drivers/virtio/virtio_mmio.c struct virtio_mmio_device *vm_dev; vm_dev 546 drivers/virtio/virtio_mmio.c vm_dev = devm_kzalloc(&pdev->dev, sizeof(*vm_dev), GFP_KERNEL); vm_dev 547 drivers/virtio/virtio_mmio.c if (!vm_dev) vm_dev 550 drivers/virtio/virtio_mmio.c vm_dev->vdev.dev.parent = &pdev->dev; vm_dev 551 drivers/virtio/virtio_mmio.c vm_dev->vdev.dev.release = virtio_mmio_release_dev; vm_dev 552 drivers/virtio/virtio_mmio.c vm_dev->vdev.config = &virtio_mmio_config_ops; vm_dev 553 drivers/virtio/virtio_mmio.c vm_dev->pdev = pdev; vm_dev 554 drivers/virtio/virtio_mmio.c INIT_LIST_HEAD(&vm_dev->virtqueues); vm_dev 555 drivers/virtio/virtio_mmio.c spin_lock_init(&vm_dev->lock); vm_dev 557 drivers/virtio/virtio_mmio.c vm_dev->base = devm_ioremap(&pdev->dev, mem->start, resource_size(mem)); vm_dev 558 drivers/virtio/virtio_mmio.c if (vm_dev->base == NULL) vm_dev 562 drivers/virtio/virtio_mmio.c magic = readl(vm_dev->base + VIRTIO_MMIO_MAGIC_VALUE); vm_dev 569 drivers/virtio/virtio_mmio.c vm_dev->version = readl(vm_dev->base + VIRTIO_MMIO_VERSION); vm_dev 570 drivers/virtio/virtio_mmio.c if (vm_dev->version < 1 || vm_dev->version > 2) { vm_dev 572 drivers/virtio/virtio_mmio.c vm_dev->version); vm_dev 576 drivers/virtio/virtio_mmio.c vm_dev->vdev.id.device = readl(vm_dev->base + VIRTIO_MMIO_DEVICE_ID); vm_dev 577 drivers/virtio/virtio_mmio.c if (vm_dev->vdev.id.device == 0) { vm_dev 584 drivers/virtio/virtio_mmio.c vm_dev->vdev.id.vendor = readl(vm_dev->base + VIRTIO_MMIO_VENDOR_ID); vm_dev 586 drivers/virtio/virtio_mmio.c if (vm_dev->version == 1) { vm_dev 587 drivers/virtio/virtio_mmio.c writel(PAGE_SIZE, vm_dev->base + VIRTIO_MMIO_GUEST_PAGE_SIZE); vm_dev 605 drivers/virtio/virtio_mmio.c platform_set_drvdata(pdev, vm_dev); vm_dev 607 drivers/virtio/virtio_mmio.c rc = register_virtio_device(&vm_dev->vdev); vm_dev 609 drivers/virtio/virtio_mmio.c put_device(&vm_dev->vdev.dev); vm_dev 616 drivers/virtio/virtio_mmio.c struct virtio_mmio_device *vm_dev = platform_get_drvdata(pdev); vm_dev 617 drivers/virtio/virtio_mmio.c unregister_virtio_device(&vm_dev->vdev);