Lines Matching refs:pdev
240 sas_phys = devm_kcalloc(&isci_host->pdev->dev,
246 sas_ports = devm_kcalloc(&isci_host->pdev->dev,
283 static int isci_pci_init(struct pci_dev *pdev)
288 err = pcim_enable_device(pdev);
290 dev_err(&pdev->dev,
292 pci_name(pdev));
299 err = pcim_iomap_regions(pdev, bar_mask, DRV_NAME);
303 iomap = pcim_iomap_table(pdev);
307 pci_set_master(pdev);
309 err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
311 err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
315 static int num_controllers(struct pci_dev *pdev)
321 resource_size_t scu_bar_size = pci_resource_len(pdev, SCI_SCU_BAR*2);
322 resource_size_t smu_bar_size = pci_resource_len(pdev, SCI_SMU_BAR*2);
331 static int isci_setup_interrupts(struct pci_dev *pdev)
335 struct isci_pci_info *pci_info = to_pci_info(pdev);
341 num_msix = num_controllers(pdev) * SCI_NUM_MSI_X_INT;
343 err = pci_alloc_irq_vectors(pdev, num_msix, num_msix, PCI_IRQ_MSIX);
358 err = devm_request_irq(&pdev->dev, pci_irq_vector(pdev, i),
363 dev_info(&pdev->dev, "msix setup failed falling back to intx\n");
367 devm_free_irq(&pdev->dev, pci_irq_vector(pdev, i),
370 pci_free_irq_vectors(pdev);
376 for_each_isci_host(i, ihost, pdev) {
377 err = devm_request_irq(&pdev->dev, pci_irq_vector(pdev, 0),
494 static struct isci_host *isci_host_alloc(struct pci_dev *pdev, int id)
496 struct isci_orom *orom = to_pci_info(pdev)->orom;
503 ihost = devm_kzalloc(&pdev->dev, sizeof(*ihost), GFP_KERNEL);
507 ihost->pdev = pdev;
511 ihost->sas_ha.dev = &ihost->pdev->dev;
521 dev_warn(&pdev->dev,
529 dev_warn(&pdev->dev, "parsing firmware oem parameters failed\n");
538 dev_warn(&pdev->dev, "oem parameter validation failed\n");
562 dev_info(&pdev->dev, "%sSCU controller %d: phy 3-0 cables: "
589 err = scsi_add_host(shost, &pdev->dev);
607 static int isci_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
616 dev_info(&pdev->dev, "driver configured for rev: %d silicon\n",
617 pdev->revision);
619 pci_info = devm_kzalloc(&pdev->dev, sizeof(*pci_info), GFP_KERNEL);
622 pci_set_drvdata(pdev, pci_info);
625 orom = isci_get_efi_var(pdev);
628 orom = isci_request_oprom(pdev);
630 for (i = 0; orom && i < num_controllers(pdev); i++) {
633 dev_warn(&pdev->dev,
642 orom = isci_request_firmware(pdev, fw);
647 dev_warn(&pdev->dev,
650 dev_warn(&pdev->dev,
657 dev_info(&pdev->dev,
664 err = isci_pci_init(pdev);
668 for (i = 0; i < num_controllers(pdev); i++) {
669 struct isci_host *h = isci_host_alloc(pdev, i);
678 err = isci_setup_interrupts(pdev);
682 for_each_isci_host(i, isci_host, pdev)
688 for_each_isci_host(i, isci_host, pdev)
693 static void isci_pci_remove(struct pci_dev *pdev)
698 for_each_isci_host(i, ihost, pdev) {
708 struct pci_dev *pdev = to_pci_dev(dev);
712 for_each_isci_host(i, ihost, pdev) {
722 struct pci_dev *pdev = to_pci_dev(dev);
726 for_each_isci_host(i, ihost, pdev) {