Lines Matching refs:pdev

258 static int vmci_check_host_caps(struct pci_dev *pdev)
268 dev_err(&pdev->dev, "%s: Insufficient memory\n", __func__);
285 dev_dbg(&pdev->dev, "%s: Host capability check: %s\n",
574 static int vmci_guest_probe_device(struct pci_dev *pdev,
587 dev_dbg(&pdev->dev, "Probing for vmci/PCI guest device\n");
589 error = pcim_enable_device(pdev);
591 dev_err(&pdev->dev,
602 if (pci_resource_len(pdev, 1) == VMCI_WITH_MMIO_ACCESS_BAR_SIZE) {
603 dev_info(&pdev->dev, "MMIO register access is available\n");
604 mmio_base = pci_iomap_range(pdev, 1, VMCI_MMIO_ACCESS_OFFSET,
608 dev_warn(&pdev->dev, "Failed to map MMIO register access\n");
613 dev_err(&pdev->dev, "MMIO base is invalid\n");
616 error = pcim_iomap_regions(pdev, BIT(0), KBUILD_MODNAME);
618 dev_err(&pdev->dev, "Failed to reserve/map IO regions\n");
621 iobase = pcim_iomap_table(pdev)[0];
624 vmci_dev = devm_kzalloc(&pdev->dev, sizeof(*vmci_dev), GFP_KERNEL);
626 dev_err(&pdev->dev,
631 vmci_dev->dev = &pdev->dev;
639 vmci_dev->tx_buffer = dma_alloc_coherent(&pdev->dev, VMCI_DMA_DG_BUFFER_SIZE,
643 dev_err(&pdev->dev,
648 vmci_dev->data_buffer = dma_alloc_coherent(&pdev->dev, VMCI_DMA_DG_BUFFER_SIZE,
655 dev_err(&pdev->dev,
661 pci_set_master(pdev); /* To enable queue_pair functionality. */
674 dev_err(&pdev->dev, "Device does not support datagrams\n");
688 dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
692 dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(44));
702 &pdev->dev, PAGE_SIZE, &vmci_dev->notification_base,
705 dev_warn(&pdev->dev,
715 dev_err(&pdev->dev,
722 dev_info(&pdev->dev, "Using capabilities 0x%x\n", caps_in_use);
741 vmci_pdev = pdev;
752 dev_warn(&pdev->dev,
761 error = vmci_check_host_caps(pdev);
775 dev_warn(&pdev->dev,
787 error = pci_alloc_irq_vectors(pdev, num_irq_vectors, num_irq_vectors,
790 error = pci_alloc_irq_vectors(pdev, 1, 1,
802 error = request_threaded_irq(pci_irq_vector(pdev, 0), NULL,
806 dev_err(&pdev->dev, "Irq %u in use: %d\n",
807 pci_irq_vector(pdev, 0), error);
818 error = request_threaded_irq(pci_irq_vector(pdev, 1), NULL,
822 dev_err(&pdev->dev,
824 pci_irq_vector(pdev, 1), error);
828 error = request_threaded_irq(pci_irq_vector(pdev, 2),
834 dev_err(&pdev->dev,
836 pci_irq_vector(pdev, 2), error);
842 dev_dbg(&pdev->dev, "Registered device\n");
857 pci_set_drvdata(pdev, vmci_dev);
864 free_irq(pci_irq_vector(pdev, 1), vmci_dev);
867 free_irq(pci_irq_vector(pdev, 0), vmci_dev);
870 pci_free_irq_vectors(pdev);
875 dev_warn(&pdev->dev,
888 dma_free_coherent(&pdev->dev, PAGE_SIZE,
900 static void vmci_guest_remove_device(struct pci_dev *pdev)
902 struct vmci_guest_device *vmci_dev = pci_get_drvdata(pdev);
905 dev_dbg(&pdev->dev, "Removing device\n");
913 dev_warn(&pdev->dev,
922 dev_dbg(&pdev->dev, "Resetting vmci device\n");
931 free_irq(pci_irq_vector(pdev, 1), vmci_dev);
933 free_irq(pci_irq_vector(pdev, 2), vmci_dev);
935 free_irq(pci_irq_vector(pdev, 0), vmci_dev);
936 pci_free_irq_vectors(pdev);
944 dma_free_coherent(&pdev->dev, PAGE_SIZE,
952 pci_iounmap(pdev, vmci_dev->mmio_base);