Lines Matching refs:pdev
237 sas_phys = devm_kzalloc(&isci_host->pdev->dev, in isci_register_sas_ha()
243 sas_ports = devm_kzalloc(&isci_host->pdev->dev, in isci_register_sas_ha()
284 static int isci_pci_init(struct pci_dev *pdev) in isci_pci_init() argument
289 err = pcim_enable_device(pdev); in isci_pci_init()
291 dev_err(&pdev->dev, in isci_pci_init()
293 pci_name(pdev)); in isci_pci_init()
300 err = pcim_iomap_regions(pdev, bar_mask, DRV_NAME); in isci_pci_init()
304 iomap = pcim_iomap_table(pdev); in isci_pci_init()
308 pci_set_master(pdev); in isci_pci_init()
310 err = pci_set_dma_mask(pdev, DMA_BIT_MASK(64)); in isci_pci_init()
312 err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)); in isci_pci_init()
317 err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64)); in isci_pci_init()
319 err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32)); in isci_pci_init()
327 static int num_controllers(struct pci_dev *pdev) in num_controllers() argument
333 resource_size_t scu_bar_size = pci_resource_len(pdev, SCI_SCU_BAR*2); in num_controllers()
334 resource_size_t smu_bar_size = pci_resource_len(pdev, SCI_SMU_BAR*2); in num_controllers()
343 static int isci_setup_interrupts(struct pci_dev *pdev) in isci_setup_interrupts() argument
347 struct isci_pci_info *pci_info = to_pci_info(pdev); in isci_setup_interrupts()
353 num_msix = num_controllers(pdev) * SCI_NUM_MSI_X_INT; in isci_setup_interrupts()
358 err = pci_enable_msix_exact(pdev, pci_info->msix_entries, num_msix); in isci_setup_interrupts()
374 err = devm_request_irq(&pdev->dev, msix->vector, isr, 0, in isci_setup_interrupts()
379 dev_info(&pdev->dev, "msix setup failed falling back to intx\n"); in isci_setup_interrupts()
384 devm_free_irq(&pdev->dev, msix->vector, ihost); in isci_setup_interrupts()
386 pci_disable_msix(pdev); in isci_setup_interrupts()
392 for_each_isci_host(i, ihost, pdev) { in isci_setup_interrupts()
393 err = devm_request_irq(&pdev->dev, pdev->irq, isci_intx_isr, in isci_setup_interrupts()
512 static struct isci_host *isci_host_alloc(struct pci_dev *pdev, int id) in isci_host_alloc() argument
514 struct isci_orom *orom = to_pci_info(pdev)->orom; in isci_host_alloc()
521 ihost = devm_kzalloc(&pdev->dev, sizeof(*ihost), GFP_KERNEL); in isci_host_alloc()
525 ihost->pdev = pdev; in isci_host_alloc()
529 ihost->sas_ha.dev = &ihost->pdev->dev; in isci_host_alloc()
539 dev_warn(&pdev->dev, in isci_host_alloc()
547 dev_warn(&pdev->dev, "parsing firmware oem parameters failed\n"); in isci_host_alloc()
556 dev_warn(&pdev->dev, "oem parameter validation failed\n"); in isci_host_alloc()
580 dev_info(&pdev->dev, "%sSCU controller %d: phy 3-0 cables: " in isci_host_alloc()
600 err = scsi_add_host(shost, &pdev->dev); in isci_host_alloc()
618 static int isci_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) in isci_pci_probe() argument
627 dev_info(&pdev->dev, "driver configured for rev: %d silicon\n", in isci_pci_probe()
628 pdev->revision); in isci_pci_probe()
630 pci_info = devm_kzalloc(&pdev->dev, sizeof(*pci_info), GFP_KERNEL); in isci_pci_probe()
633 pci_set_drvdata(pdev, pci_info); in isci_pci_probe()
636 orom = isci_get_efi_var(pdev); in isci_pci_probe()
639 orom = isci_request_oprom(pdev); in isci_pci_probe()
641 for (i = 0; orom && i < num_controllers(pdev); i++) { in isci_pci_probe()
644 dev_warn(&pdev->dev, in isci_pci_probe()
653 orom = isci_request_firmware(pdev, fw); in isci_pci_probe()
658 dev_warn(&pdev->dev, in isci_pci_probe()
661 dev_warn(&pdev->dev, in isci_pci_probe()
668 dev_info(&pdev->dev, in isci_pci_probe()
675 err = isci_pci_init(pdev); in isci_pci_probe()
679 for (i = 0; i < num_controllers(pdev); i++) { in isci_pci_probe()
680 struct isci_host *h = isci_host_alloc(pdev, i); in isci_pci_probe()
696 err = isci_setup_interrupts(pdev); in isci_pci_probe()
700 for_each_isci_host(i, isci_host, pdev) in isci_pci_probe()
706 for_each_isci_host(i, isci_host, pdev) in isci_pci_probe()
711 static void isci_pci_remove(struct pci_dev *pdev) in isci_pci_remove() argument
716 for_each_isci_host(i, ihost, pdev) { in isci_pci_remove()
726 struct pci_dev *pdev = to_pci_dev(dev); in isci_suspend() local
730 for_each_isci_host(i, ihost, pdev) { in isci_suspend()
735 pci_save_state(pdev); in isci_suspend()
736 pci_disable_device(pdev); in isci_suspend()
737 pci_set_power_state(pdev, PCI_D3hot); in isci_suspend()
744 struct pci_dev *pdev = to_pci_dev(dev); in isci_resume() local
748 pci_set_power_state(pdev, PCI_D0); in isci_resume()
749 pci_restore_state(pdev); in isci_resume()
751 rc = pcim_enable_device(pdev); in isci_resume()
753 dev_err(&pdev->dev, in isci_resume()
758 pci_set_master(pdev); in isci_resume()
760 for_each_isci_host(i, ihost, pdev) { in isci_resume()