Lines Matching refs:ihost

138 	struct isci_host *ihost = container_of(sas_ha, typeof(*ihost), sas_ha);  in isci_show_id()  local
140 return snprintf(buf, PAGE_SIZE, "%d\n", ihost->id); in isci_show_id()
344 struct isci_host *ihost; in isci_setup_interrupts() local
365 ihost = pci_info->hosts[id]; in isci_setup_interrupts()
373 DRV_NAME"-msix", ihost); in isci_setup_interrupts()
380 ihost = pci_info->hosts[id]; in isci_setup_interrupts()
382 devm_free_irq(&pdev->dev, msix->vector, ihost); in isci_setup_interrupts()
390 for_each_isci_host(i, ihost, pdev) { in isci_setup_interrupts()
392 IRQF_SHARED, DRV_NAME"-intx", ihost); in isci_setup_interrupts()
422 static enum sci_status sci_user_parameters_set(struct isci_host *ihost, in sci_user_parameters_set() argument
456 memcpy(&ihost->user_parameters, sci_parms, sizeof(*sci_parms)); in sci_user_parameters_set()
461 static void sci_oem_defaults(struct isci_host *ihost) in sci_oem_defaults() argument
464 struct sci_user_parameters *user = &ihost->user_parameters; in sci_oem_defaults()
465 struct sci_oem_params *oem = &ihost->oem_parameters; in sci_oem_defaults()
499 oem->phys[i].sas_address.low = 0x1 + ihost->id; in sci_oem_defaults()
515 struct isci_host *ihost; in isci_host_alloc() local
519 ihost = devm_kzalloc(&pdev->dev, sizeof(*ihost), GFP_KERNEL); in isci_host_alloc()
520 if (!ihost) in isci_host_alloc()
523 ihost->pdev = pdev; in isci_host_alloc()
524 ihost->id = id; in isci_host_alloc()
525 spin_lock_init(&ihost->scic_lock); in isci_host_alloc()
526 init_waitqueue_head(&ihost->eventq); in isci_host_alloc()
527 ihost->sas_ha.dev = &ihost->pdev->dev; in isci_host_alloc()
528 ihost->sas_ha.lldd_ha = ihost; in isci_host_alloc()
529 tasklet_init(&ihost->completion_tasklet, in isci_host_alloc()
530 isci_host_completion_routine, (unsigned long)ihost); in isci_host_alloc()
534 sci_oem_defaults(ihost); in isci_host_alloc()
536 if (sci_user_parameters_set(ihost, &sci_user_params)) { in isci_host_alloc()
548 ihost->oem_parameters = orom->ctrl[id]; in isci_host_alloc()
553 if (sci_oem_parameters_validate(&ihost->oem_parameters, oem_version)) { in isci_host_alloc()
559 struct isci_port *iport = &ihost->ports[i]; in isci_host_alloc()
562 iport->isci_host = ihost; in isci_host_alloc()
566 isci_phy_init(&ihost->phys[i], ihost, i); in isci_host_alloc()
569 struct isci_remote_device *idev = &ihost->devices[i]; in isci_host_alloc()
580 (is_cable_select_overridden() ? "* " : ""), ihost->id, in isci_host_alloc()
581 lookup_cable_names(decode_cable_selection(ihost, 3)), in isci_host_alloc()
582 lookup_cable_names(decode_cable_selection(ihost, 2)), in isci_host_alloc()
583 lookup_cable_names(decode_cable_selection(ihost, 1)), in isci_host_alloc()
584 lookup_cable_names(decode_cable_selection(ihost, 0))); in isci_host_alloc()
586 err = isci_host_init(ihost); in isci_host_alloc()
590 SHOST_TO_SAS_HA(shost) = &ihost->sas_ha; in isci_host_alloc()
591 ihost->sas_ha.core.shost = shost; in isci_host_alloc()
602 err = isci_register_sas_ha(ihost); in isci_host_alloc()
606 return ihost; in isci_host_alloc()
711 struct isci_host *ihost; in isci_pci_remove() local
714 for_each_isci_host(i, ihost, pdev) { in isci_pci_remove()
715 wait_for_start(ihost); in isci_pci_remove()
716 isci_unregister(ihost); in isci_pci_remove()
717 isci_host_deinit(ihost); in isci_pci_remove()
725 struct isci_host *ihost; in isci_suspend() local
728 for_each_isci_host(i, ihost, pdev) { in isci_suspend()
729 sas_suspend_ha(&ihost->sas_ha); in isci_suspend()
730 isci_host_deinit(ihost); in isci_suspend()
743 struct isci_host *ihost; in isci_resume() local
758 for_each_isci_host(i, ihost, pdev) { in isci_resume()
759 sas_prep_resume_ha(&ihost->sas_ha); in isci_resume()
761 isci_host_init(ihost); in isci_resume()
762 isci_host_start(ihost->sas_ha.core.shost); in isci_resume()
763 wait_for_start(ihost); in isci_resume()
765 sas_resume_ha(&ihost->sas_ha); in isci_resume()