Lines Matching refs:ihost
138 struct isci_host *ihost = container_of(sas_ha, typeof(*ihost), sas_ha);
140 return snprintf(buf, PAGE_SIZE, "%d\n", ihost->id);
334 struct isci_host *ihost;
351 ihost = pci_info->hosts[id];
359 isr, 0, DRV_NAME"-msix", ihost);
366 ihost = pci_info->hosts[id];
368 ihost);
376 for_each_isci_host(i, ihost, pdev) {
379 ihost);
409 static enum sci_status sci_user_parameters_set(struct isci_host *ihost,
440 memcpy(&ihost->user_parameters, sci_parms, sizeof(*sci_parms));
445 static void sci_oem_defaults(struct isci_host *ihost)
448 struct sci_user_parameters *user = &ihost->user_parameters;
449 struct sci_oem_params *oem = &ihost->oem_parameters;
483 oem->phys[i].sas_address.low = 0x1 + ihost->id;
499 struct isci_host *ihost;
503 ihost = devm_kzalloc(&pdev->dev, sizeof(*ihost), GFP_KERNEL);
504 if (!ihost)
507 ihost->pdev = pdev;
508 ihost->id = id;
509 spin_lock_init(&ihost->scic_lock);
510 init_waitqueue_head(&ihost->eventq);
511 ihost->sas_ha.dev = &ihost->pdev->dev;
512 ihost->sas_ha.lldd_ha = ihost;
513 tasklet_init(&ihost->completion_tasklet,
514 isci_host_completion_routine, (unsigned long)ihost);
518 sci_oem_defaults(ihost);
520 if (sci_user_parameters_set(ihost, &sci_user_params)) {
532 ihost->oem_parameters = orom->ctrl[id];
537 if (sci_oem_parameters_validate(&ihost->oem_parameters, oem_version)) {
543 struct isci_port *iport = &ihost->ports[i];
546 iport->isci_host = ihost;
550 isci_phy_init(&ihost->phys[i], ihost, i);
553 struct isci_remote_device *idev = &ihost->devices[i];
564 (is_cable_select_overridden() ? "* " : ""), ihost->id,
565 lookup_cable_names(decode_cable_selection(ihost, 3)),
566 lookup_cable_names(decode_cable_selection(ihost, 2)),
567 lookup_cable_names(decode_cable_selection(ihost, 1)),
568 lookup_cable_names(decode_cable_selection(ihost, 0)));
570 err = isci_host_init(ihost);
574 SHOST_TO_SAS_HA(shost) = &ihost->sas_ha;
575 ihost->sas_ha.shost = shost;
593 err = isci_register_sas_ha(ihost);
597 return ihost;
695 struct isci_host *ihost;
698 for_each_isci_host(i, ihost, pdev) {
699 wait_for_start(ihost);
700 isci_unregister(ihost);
701 isci_host_deinit(ihost);
709 struct isci_host *ihost;
712 for_each_isci_host(i, ihost, pdev) {
713 sas_suspend_ha(&ihost->sas_ha);
714 isci_host_deinit(ihost);
723 struct isci_host *ihost;
726 for_each_isci_host(i, ihost, pdev) {
727 sas_prep_resume_ha(&ihost->sas_ha);
729 isci_host_init(ihost);
730 isci_host_start(ihost->sas_ha.shost);
731 wait_for_start(ihost);
733 sas_resume_ha(&ihost->sas_ha);