Lines Matching refs:vmci_dev

210 	struct vmci_guest_device *vmci_dev = (struct vmci_guest_device *)data;  in vmci_dispatch_dgs()  local
211 u8 *dg_in_buffer = vmci_dev->data_buffer; in vmci_dispatch_dgs()
219 ioread8_rep(vmci_dev->iobase + VMCI_DATA_IN_ADDR, in vmci_dispatch_dgs()
220 vmci_dev->data_buffer, current_dg_in_buffer_size); in vmci_dispatch_dgs()
280 ioread8_rep(vmci_dev->iobase + in vmci_dispatch_dgs()
282 vmci_dev->data_buffer + in vmci_dispatch_dgs()
299 dev_dbg(vmci_dev->dev, in vmci_dispatch_dgs()
313 dev_dbg(vmci_dev->dev, in vmci_dispatch_dgs()
322 ioread8_rep(vmci_dev->iobase + in vmci_dispatch_dgs()
324 vmci_dev->data_buffer, in vmci_dispatch_dgs()
342 ioread8_rep(vmci_dev->iobase + VMCI_DATA_IN_ADDR, in vmci_dispatch_dgs()
343 vmci_dev->data_buffer, in vmci_dispatch_dgs()
431 struct vmci_guest_device *vmci_dev; in vmci_guest_probe_device() local
459 vmci_dev = devm_kzalloc(&pdev->dev, sizeof(*vmci_dev), GFP_KERNEL); in vmci_guest_probe_device()
460 if (!vmci_dev) { in vmci_guest_probe_device()
466 vmci_dev->dev = &pdev->dev; in vmci_guest_probe_device()
467 vmci_dev->exclusive_vectors = false; in vmci_guest_probe_device()
468 vmci_dev->iobase = iobase; in vmci_guest_probe_device()
470 tasklet_init(&vmci_dev->datagram_tasklet, in vmci_guest_probe_device()
471 vmci_dispatch_dgs, (unsigned long)vmci_dev); in vmci_guest_probe_device()
472 tasklet_init(&vmci_dev->bm_tasklet, in vmci_guest_probe_device()
473 vmci_process_bitmap, (unsigned long)vmci_dev); in vmci_guest_probe_device()
475 vmci_dev->data_buffer = vmalloc(VMCI_MAX_DG_SIZE); in vmci_guest_probe_device()
476 if (!vmci_dev->data_buffer) { in vmci_guest_probe_device()
493 capabilities = ioread32(vmci_dev->iobase + VMCI_CAPS_ADDR); in vmci_guest_probe_device()
522 vmci_dev->notification_bitmap = dma_alloc_coherent( in vmci_guest_probe_device()
523 &pdev->dev, PAGE_SIZE, &vmci_dev->notification_base, in vmci_guest_probe_device()
525 if (!vmci_dev->notification_bitmap) { in vmci_guest_probe_device()
529 memset(vmci_dev->notification_bitmap, 0, PAGE_SIZE); in vmci_guest_probe_device()
537 iowrite32(caps_in_use, vmci_dev->iobase + VMCI_CAPS_ADDR); in vmci_guest_probe_device()
541 vmci_dev_g = vmci_dev; in vmci_guest_probe_device()
551 vmci_dev->notification_base >> PAGE_SHIFT; in vmci_guest_probe_device()
592 vmci_dev->exclusive_vectors = true; in vmci_guest_probe_device()
600 IRQF_SHARED, KBUILD_MODNAME, vmci_dev); in vmci_guest_probe_device()
613 if (vmci_dev->exclusive_vectors) { in vmci_guest_probe_device()
616 vmci_dev); in vmci_guest_probe_device()
633 iowrite32(cmd, vmci_dev->iobase + VMCI_IMR_ADDR); in vmci_guest_probe_device()
637 vmci_dev->iobase + VMCI_CONTROL_ADDR); in vmci_guest_probe_device()
639 pci_set_drvdata(pdev, vmci_dev); in vmci_guest_probe_device()
645 free_irq(pci_irq_vector(pdev, 0), vmci_dev); in vmci_guest_probe_device()
646 tasklet_kill(&vmci_dev->datagram_tasklet); in vmci_guest_probe_device()
647 tasklet_kill(&vmci_dev->bm_tasklet); in vmci_guest_probe_device()
659 if (vmci_dev->notification_bitmap) { in vmci_guest_probe_device()
661 vmci_dev->iobase + VMCI_CONTROL_ADDR); in vmci_guest_probe_device()
663 vmci_dev->notification_bitmap, in vmci_guest_probe_device()
664 vmci_dev->notification_base); in vmci_guest_probe_device()
674 vfree(vmci_dev->data_buffer); in vmci_guest_probe_device()
682 struct vmci_guest_device *vmci_dev = pci_get_drvdata(pdev); in vmci_guest_remove_device() local
703 iowrite32(VMCI_CONTROL_RESET, vmci_dev->iobase + VMCI_CONTROL_ADDR); in vmci_guest_remove_device()
710 if (vmci_dev->exclusive_vectors) in vmci_guest_remove_device()
711 free_irq(pci_irq_vector(pdev, 1), vmci_dev); in vmci_guest_remove_device()
712 free_irq(pci_irq_vector(pdev, 0), vmci_dev); in vmci_guest_remove_device()
715 tasklet_kill(&vmci_dev->datagram_tasklet); in vmci_guest_remove_device()
716 tasklet_kill(&vmci_dev->bm_tasklet); in vmci_guest_remove_device()
718 if (vmci_dev->notification_bitmap) { in vmci_guest_remove_device()
725 vmci_dev->notification_bitmap, in vmci_guest_remove_device()
726 vmci_dev->notification_base); in vmci_guest_remove_device()
729 vfree(vmci_dev->data_buffer); in vmci_guest_remove_device()