Lines Matching refs:pdev

39  * @pdev:		PCI device to send the command to.
46 static void ne_submit_request(struct pci_dev *pdev, enum ne_pci_dev_cmd_type cmd_type,
49 struct ne_pci_dev *ne_pci_dev = pci_get_drvdata(pdev);
58 * @pdev: PCI device to receive the reply from.
64 static void ne_retrieve_reply(struct pci_dev *pdev, struct ne_pci_dev_cmd_reply *cmd_reply,
67 struct ne_pci_dev *ne_pci_dev = pci_get_drvdata(pdev);
74 * @pdev: PCI device for which a reply is waited.
81 static int ne_wait_for_reply(struct pci_dev *pdev)
83 struct ne_pci_dev *ne_pci_dev = pci_get_drvdata(pdev);
99 int ne_do_request(struct pci_dev *pdev, enum ne_pci_dev_cmd_type cmd_type,
103 struct ne_pci_dev *ne_pci_dev = pci_get_drvdata(pdev);
107 dev_err_ratelimited(&pdev->dev, "Invalid cmd type=%u\n", cmd_type);
113 dev_err_ratelimited(&pdev->dev, "Null cmd request for cmd type=%u\n",
120 dev_err_ratelimited(&pdev->dev, "Invalid req size=%zu for cmd type=%u\n",
127 dev_err_ratelimited(&pdev->dev, "Null cmd reply for cmd type=%u\n",
134 dev_err_ratelimited(&pdev->dev, "Invalid reply size=%zu for cmd type=%u\n",
148 ne_submit_request(pdev, cmd_type, cmd_request, cmd_request_size);
150 rc = ne_wait_for_reply(pdev);
152 dev_err_ratelimited(&pdev->dev, "Error in wait for reply for cmd type=%u [rc=%d]\n",
158 ne_retrieve_reply(pdev, cmd_reply, cmd_reply_size);
165 dev_err_ratelimited(&pdev->dev, "Error in cmd process logic, cmd type=%u [rc=%d]\n",
220 struct pci_dev *pdev = ne_pci_dev->pdev;
243 rc = ne_do_request(pdev, SLOT_INFO,
247 dev_err(&pdev->dev, "Error in slot info [rc=%d]\n", rc);
288 * @pdev: PCI device to setup the MSI-X for.
295 static int ne_setup_msix(struct pci_dev *pdev)
297 struct ne_pci_dev *ne_pci_dev = pci_get_drvdata(pdev);
301 nr_vecs = pci_msix_vec_count(pdev);
305 dev_err(&pdev->dev, "Error in getting vec count [rc=%d]\n", rc);
310 rc = pci_alloc_irq_vectors(pdev, nr_vecs, nr_vecs, PCI_IRQ_MSIX);
312 dev_err(&pdev->dev, "Error in alloc MSI-X vecs [rc=%d]\n", rc);
322 rc = request_irq(pci_irq_vector(pdev, NE_VEC_REPLY), ne_reply_handler,
325 dev_err(&pdev->dev, "Error in request irq reply [rc=%d]\n", rc);
334 dev_err(&pdev->dev, "Cannot get wq for dev events [rc=%d]\n", rc);
346 rc = request_irq(pci_irq_vector(pdev, NE_VEC_EVENT), ne_event_handler,
349 dev_err(&pdev->dev, "Error in request irq event [rc=%d]\n", rc);
359 free_irq(pci_irq_vector(pdev, NE_VEC_REPLY), ne_pci_dev);
361 pci_free_irq_vectors(pdev);
368 * @pdev: PCI device to teardown the MSI-X for.
372 static void ne_teardown_msix(struct pci_dev *pdev)
374 struct ne_pci_dev *ne_pci_dev = pci_get_drvdata(pdev);
376 free_irq(pci_irq_vector(pdev, NE_VEC_EVENT), ne_pci_dev);
381 free_irq(pci_irq_vector(pdev, NE_VEC_REPLY), ne_pci_dev);
383 pci_free_irq_vectors(pdev);
388 * @pdev: PCI device to select version for and then enable.
395 static int ne_pci_dev_enable(struct pci_dev *pdev)
399 struct ne_pci_dev *ne_pci_dev = pci_get_drvdata(pdev);
405 dev_err(&pdev->dev, "Error in pci dev version cmd\n");
414 dev_err(&pdev->dev, "Error in pci dev enable cmd\n");
424 * @pdev: PCI device to disable.
428 static void ne_pci_dev_disable(struct pci_dev *pdev)
431 struct ne_pci_dev *ne_pci_dev = pci_get_drvdata(pdev);
453 dev_err(&pdev->dev, "Error in pci dev disable cmd\n");
458 * @pdev: PCI device to match with the NE PCI driver.
466 static int ne_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
475 rc = pci_enable_device(pdev);
477 dev_err(&pdev->dev, "Error in pci dev enable [rc=%d]\n", rc);
482 pci_set_master(pdev);
484 rc = pci_request_regions_exclusive(pdev, "nitro_enclaves");
486 dev_err(&pdev->dev, "Error in pci request regions [rc=%d]\n", rc);
491 ne_pci_dev->iomem_base = pci_iomap(pdev, PCI_BAR_NE, 0);
495 dev_err(&pdev->dev, "Error in pci iomap [rc=%d]\n", rc);
500 pci_set_drvdata(pdev, ne_pci_dev);
502 rc = ne_setup_msix(pdev);
504 dev_err(&pdev->dev, "Error in pci dev msix setup [rc=%d]\n", rc);
509 ne_pci_dev_disable(pdev);
511 rc = ne_pci_dev_enable(pdev);
513 dev_err(&pdev->dev, "Error in ne_pci_dev enable [rc=%d]\n", rc);
523 ne_pci_dev->pdev = pdev;
529 dev_err(&pdev->dev, "Error in misc dev register [rc=%d]\n", rc);
538 ne_pci_dev_disable(pdev);
540 ne_teardown_msix(pdev);
542 pci_set_drvdata(pdev, NULL);
543 pci_iounmap(pdev, ne_pci_dev->iomem_base);
545 pci_release_regions(pdev);
547 pci_disable_device(pdev);
556 * @pdev: PCI device associated with the NE PCI driver.
560 static void ne_pci_remove(struct pci_dev *pdev)
562 struct ne_pci_dev *ne_pci_dev = pci_get_drvdata(pdev);
568 ne_pci_dev_disable(pdev);
570 ne_teardown_msix(pdev);
572 pci_set_drvdata(pdev, NULL);
574 pci_iounmap(pdev, ne_pci_dev->iomem_base);
576 pci_release_regions(pdev);
578 pci_disable_device(pdev);
585 * @pdev: PCI device associated with the NE PCI driver.
589 static void ne_pci_shutdown(struct pci_dev *pdev)
591 struct ne_pci_dev *ne_pci_dev = pci_get_drvdata(pdev);
600 ne_pci_dev_disable(pdev);
602 ne_teardown_msix(pdev);
604 pci_set_drvdata(pdev, NULL);
606 pci_iounmap(pdev, ne_pci_dev->iomem_base);
608 pci_release_regions(pdev);
610 pci_disable_device(pdev);