Lines Matching refs:dev
53 struct device *dev; /* PCI device we are attached to */
102 static unsigned int vmci_read_reg(struct vmci_guest_device *dev, u32 reg)
104 if (dev->mmio_base != NULL)
105 return readl(dev->mmio_base + reg);
106 return ioread32(dev->iobase + reg);
109 static void vmci_write_reg(struct vmci_guest_device *dev, u32 val, u32 reg)
111 if (dev->mmio_base != NULL)
112 writel(val, dev->mmio_base + reg);
114 iowrite32(val, dev->iobase + reg);
147 static int vmci_write_data(struct vmci_guest_device *dev,
152 if (dev->mmio_base != NULL) {
153 struct vmci_data_in_out_header *buffer_header = dev->tx_buffer;
170 vmci_write_reg(dev, lower_32_bits(dev->tx_buffer_base),
180 iowrite8_rep(dev->iobase + VMCI_DATA_OUT_ADDR,
268 dev_err(&pdev->dev, "%s: Insufficient memory\n", __func__);
285 dev_dbg(&pdev->dev, "%s: Host capability check: %s\n",
412 dev_dbg(vmci_dev->dev,
426 dev_dbg(vmci_dev->dev,
465 static void vmci_process_bitmap(struct vmci_guest_device *dev)
467 if (!dev->notification_bitmap) {
468 dev_dbg(dev->dev, "No bitmap present in %s\n", __func__);
472 vmci_dbell_scan_notification_entries(dev->notification_bitmap);
481 struct vmci_guest_device *dev = _dev;
489 if (dev->exclusive_vectors) {
490 vmci_dispatch_dgs(dev);
495 icr = vmci_read_reg(dev, VMCI_ICR_ADDR);
500 vmci_dispatch_dgs(dev);
505 vmci_process_bitmap(dev);
511 wake_up_all(&dev->inout_wq);
516 dev_warn(dev->dev,
531 struct vmci_guest_device *dev = _dev;
534 vmci_process_bitmap(dev);
546 struct vmci_guest_device *dev = _dev;
548 wake_up_all(&dev->inout_wq);
557 dma_free_coherent(vmci_dev->dev,
562 dma_free_coherent(vmci_dev->dev,
587 dev_dbg(&pdev->dev, "Probing for vmci/PCI guest device\n");
591 dev_err(&pdev->dev,
603 dev_info(&pdev->dev, "MMIO register access is available\n");
608 dev_warn(&pdev->dev, "Failed to map MMIO register access\n");
613 dev_err(&pdev->dev, "MMIO base is invalid\n");
618 dev_err(&pdev->dev, "Failed to reserve/map IO regions\n");
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,
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);
752 dev_warn(&pdev->dev,
775 dev_warn(&pdev->dev,
806 dev_err(&pdev->dev, "Irq %u in use: %d\n",
822 dev_err(&pdev->dev,
834 dev_err(&pdev->dev,
842 dev_dbg(&pdev->dev, "Registered device\n");
875 dev_warn(&pdev->dev,
888 dma_free_coherent(&pdev->dev, PAGE_SIZE,
905 dev_dbg(&pdev->dev, "Removing device\n");
913 dev_warn(&pdev->dev,
922 dev_dbg(&pdev->dev, "Resetting vmci device\n");
944 dma_free_coherent(&pdev->dev, PAGE_SIZE,