Searched refs:vmci_dev (Results 1 - 1 of 1) sorted by relevance
/linux-4.1.27/drivers/misc/vmw_vmci/ |
H A D | vmci_guest.c | 70 /* vmci_dev singleton device and supporting data*/ 214 struct vmci_guest_device *vmci_dev = (struct vmci_guest_device *)data; vmci_dispatch_dgs() local 215 u8 *dg_in_buffer = vmci_dev->data_buffer; vmci_dispatch_dgs() 223 ioread8_rep(vmci_dev->iobase + VMCI_DATA_IN_ADDR, vmci_dispatch_dgs() 224 vmci_dev->data_buffer, current_dg_in_buffer_size); vmci_dispatch_dgs() 284 ioread8_rep(vmci_dev->iobase + vmci_dispatch_dgs() 286 vmci_dev->data_buffer + vmci_dispatch_dgs() 303 dev_dbg(vmci_dev->dev, vmci_dispatch_dgs() 317 dev_dbg(vmci_dev->dev, vmci_dispatch_dgs() 326 ioread8_rep(vmci_dev->iobase + vmci_dispatch_dgs() 328 vmci_dev->data_buffer, vmci_dispatch_dgs() 346 ioread8_rep(vmci_dev->iobase + VMCI_DATA_IN_ADDR, vmci_dispatch_dgs() 347 vmci_dev->data_buffer, vmci_dispatch_dgs() 375 struct vmci_guest_device *vmci_dev) vmci_enable_msix() 381 vmci_dev->msix_entries[i].entry = i; vmci_enable_msix() 382 vmci_dev->msix_entries[i].vector = i; vmci_enable_msix() 386 vmci_dev->msix_entries, VMCI_MAX_INTRS); vmci_enable_msix() 388 vmci_dev->exclusive_vectors = true; vmci_enable_msix() 390 result = pci_enable_msix_exact(pdev, vmci_dev->msix_entries, 1); vmci_enable_msix() 459 struct vmci_guest_device *vmci_dev; vmci_guest_probe_device() local 486 vmci_dev = devm_kzalloc(&pdev->dev, sizeof(*vmci_dev), GFP_KERNEL); vmci_guest_probe_device() 487 if (!vmci_dev) { vmci_guest_probe_device() 493 vmci_dev->dev = &pdev->dev; vmci_guest_probe_device() 494 vmci_dev->intr_type = VMCI_INTR_TYPE_INTX; vmci_guest_probe_device() 495 vmci_dev->exclusive_vectors = false; vmci_guest_probe_device() 496 vmci_dev->iobase = iobase; vmci_guest_probe_device() 498 tasklet_init(&vmci_dev->datagram_tasklet, vmci_guest_probe_device() 499 vmci_dispatch_dgs, (unsigned long)vmci_dev); vmci_guest_probe_device() 500 tasklet_init(&vmci_dev->bm_tasklet, vmci_guest_probe_device() 501 vmci_process_bitmap, (unsigned long)vmci_dev); vmci_guest_probe_device() 503 vmci_dev->data_buffer = vmalloc(VMCI_MAX_DG_SIZE); vmci_guest_probe_device() 504 if (!vmci_dev->data_buffer) { vmci_guest_probe_device() 521 capabilities = ioread32(vmci_dev->iobase + VMCI_CAPS_ADDR); vmci_guest_probe_device() 533 vmci_dev->notification_bitmap = dma_alloc_coherent( vmci_guest_probe_device() 534 &pdev->dev, PAGE_SIZE, &vmci_dev->notification_base, vmci_guest_probe_device() 536 if (!vmci_dev->notification_bitmap) { vmci_guest_probe_device() 540 memset(vmci_dev->notification_bitmap, 0, PAGE_SIZE); vmci_guest_probe_device() 548 iowrite32(capabilities, vmci_dev->iobase + VMCI_CAPS_ADDR); vmci_guest_probe_device() 552 vmci_dev_g = vmci_dev; vmci_guest_probe_device() 562 vmci_dev->notification_base >> PAGE_SHIFT; vmci_guest_probe_device() 595 if (!vmci_disable_msix && !vmci_enable_msix(pdev, vmci_dev)) { vmci_guest_probe_device() 596 vmci_dev->intr_type = VMCI_INTR_TYPE_MSIX; vmci_guest_probe_device() 597 vmci_dev->irq = vmci_dev->msix_entries[0].vector; vmci_guest_probe_device() 599 vmci_dev->intr_type = VMCI_INTR_TYPE_MSI; vmci_guest_probe_device() 600 vmci_dev->irq = pdev->irq; vmci_guest_probe_device() 602 vmci_dev->intr_type = VMCI_INTR_TYPE_INTX; vmci_guest_probe_device() 603 vmci_dev->irq = pdev->irq; vmci_guest_probe_device() 610 error = request_irq(vmci_dev->irq, vmci_interrupt, IRQF_SHARED, vmci_guest_probe_device() 611 KBUILD_MODNAME, vmci_dev); vmci_guest_probe_device() 614 vmci_dev->irq, error); vmci_guest_probe_device() 624 if (vmci_dev->exclusive_vectors) { vmci_guest_probe_device() 625 error = request_irq(vmci_dev->msix_entries[1].vector, vmci_guest_probe_device() 627 vmci_dev); vmci_guest_probe_device() 631 vmci_dev->msix_entries[1].vector, error); vmci_guest_probe_device() 644 iowrite32(cmd, vmci_dev->iobase + VMCI_IMR_ADDR); vmci_guest_probe_device() 648 vmci_dev->iobase + VMCI_CONTROL_ADDR); vmci_guest_probe_device() 650 pci_set_drvdata(pdev, vmci_dev); vmci_guest_probe_device() 654 free_irq(vmci_dev->irq, vmci_dev); vmci_guest_probe_device() 655 tasklet_kill(&vmci_dev->datagram_tasklet); vmci_guest_probe_device() 656 tasklet_kill(&vmci_dev->bm_tasklet); vmci_guest_probe_device() 659 if (vmci_dev->intr_type == VMCI_INTR_TYPE_MSIX) vmci_guest_probe_device() 661 else if (vmci_dev->intr_type == VMCI_INTR_TYPE_MSI) vmci_guest_probe_device() 671 if (vmci_dev->notification_bitmap) { vmci_guest_probe_device() 673 vmci_dev->iobase + VMCI_CONTROL_ADDR); vmci_guest_probe_device() 675 vmci_dev->notification_bitmap, vmci_guest_probe_device() 676 vmci_dev->notification_base); vmci_guest_probe_device() 686 vfree(vmci_dev->data_buffer); vmci_guest_probe_device() 694 struct vmci_guest_device *vmci_dev = pci_get_drvdata(pdev); vmci_guest_remove_device() local 715 iowrite32(VMCI_CONTROL_RESET, vmci_dev->iobase + VMCI_CONTROL_ADDR); vmci_guest_remove_device() 722 free_irq(vmci_dev->irq, vmci_dev); vmci_guest_remove_device() 723 if (vmci_dev->intr_type == VMCI_INTR_TYPE_MSIX) { vmci_guest_remove_device() 724 if (vmci_dev->exclusive_vectors) vmci_guest_remove_device() 725 free_irq(vmci_dev->msix_entries[1].vector, vmci_dev); vmci_guest_remove_device() 727 } else if (vmci_dev->intr_type == VMCI_INTR_TYPE_MSI) { vmci_guest_remove_device() 731 tasklet_kill(&vmci_dev->datagram_tasklet); vmci_guest_remove_device() 732 tasklet_kill(&vmci_dev->bm_tasklet); vmci_guest_remove_device() 734 if (vmci_dev->notification_bitmap) { vmci_guest_remove_device() 741 vmci_dev->notification_bitmap, vmci_guest_remove_device() 742 vmci_dev->notification_base); vmci_guest_remove_device() 745 vfree(vmci_dev->data_buffer); vmci_guest_remove_device() 374 vmci_enable_msix(struct pci_dev *pdev, struct vmci_guest_device *vmci_dev) vmci_enable_msix() argument
|
Completed in 99 milliseconds