sas_ha 79 drivers/scsi/aic94xx/aic94xx.h int asd_clear_nexus_ha(struct sas_ha_struct *sas_ha); sas_ha 31 drivers/scsi/aic94xx/aic94xx_hwi.c return sas_request_addr(asd_ha->sas_ha.core.shost, sas_ha 127 drivers/scsi/aic94xx/aic94xx_hwi.c phy->sas_phy.ha = &asd_ha->sas_ha; sas_ha 184 drivers/scsi/aic94xx/aic94xx_hwi.h struct sas_ha_struct sas_ha; sas_ha 664 drivers/scsi/aic94xx/aic94xx_init.c asd_ha->sas_ha.sas_ha_name = (char *) asd_ha->name; sas_ha 665 drivers/scsi/aic94xx/aic94xx_init.c asd_ha->sas_ha.lldd_module = THIS_MODULE; sas_ha 666 drivers/scsi/aic94xx/aic94xx_init.c asd_ha->sas_ha.sas_addr = &asd_ha->hw_prof.sas_addr[0]; sas_ha 673 drivers/scsi/aic94xx/aic94xx_init.c asd_ha->sas_ha.sas_phy = sas_phys; sas_ha 674 drivers/scsi/aic94xx/aic94xx_init.c asd_ha->sas_ha.sas_port= sas_ports; sas_ha 675 drivers/scsi/aic94xx/aic94xx_init.c asd_ha->sas_ha.num_phys= ASD_MAX_PHYS; sas_ha 677 drivers/scsi/aic94xx/aic94xx_init.c return sas_register_ha(&asd_ha->sas_ha); sas_ha 684 drivers/scsi/aic94xx/aic94xx_init.c err = sas_unregister_ha(&asd_ha->sas_ha); sas_ha 686 drivers/scsi/aic94xx/aic94xx_init.c sas_remove_host(asd_ha->sas_ha.core.shost); sas_ha 687 drivers/scsi/aic94xx/aic94xx_init.c scsi_host_put(asd_ha->sas_ha.core.shost); sas_ha 689 drivers/scsi/aic94xx/aic94xx_init.c kfree(asd_ha->sas_ha.sas_phy); sas_ha 690 drivers/scsi/aic94xx/aic94xx_init.c kfree(asd_ha->sas_ha.sas_port); sas_ha 729 drivers/scsi/aic94xx/aic94xx_init.c asd_ha->sas_ha.dev = &asd_ha->pcidev->dev; sas_ha 730 drivers/scsi/aic94xx/aic94xx_init.c asd_ha->sas_ha.lldd_ha = asd_ha; sas_ha 736 drivers/scsi/aic94xx/aic94xx_init.c SHOST_TO_SAS_HA(shost) = &asd_ha->sas_ha; sas_ha 737 drivers/scsi/aic94xx/aic94xx_init.c asd_ha->sas_ha.core.shost = shost; sas_ha 71 drivers/scsi/aic94xx/aic94xx_scb.c struct sas_ha_struct *sas_ha = &asd_ha->sas_ha; sas_ha 84 drivers/scsi/aic94xx/aic94xx_scb.c sas_ha->notify_phy_event(&phy->sas_phy, PHYE_LOSS_OF_SIGNAL); sas_ha 92 drivers/scsi/aic94xx/aic94xx_scb.c sas_ha->notify_phy_event(&phy->sas_phy, PHYE_OOB_DONE); sas_ha 97 drivers/scsi/aic94xx/aic94xx_scb.c sas_ha->notify_phy_event(&phy->sas_phy, PHYE_SPINUP_HOLD); sas_ha 105 drivers/scsi/aic94xx/aic94xx_scb.c sas_ha->notify_phy_event(&phy->sas_phy, PHYE_OOB_ERROR); sas_ha 225 drivers/scsi/aic94xx/aic94xx_scb.c struct sas_ha_struct *sas_ha = phy->sas_phy.ha; sas_ha 237 drivers/scsi/aic94xx/aic94xx_scb.c sas_ha->notify_port_event(&phy->sas_phy, PORTE_BYTES_DMAED); sas_ha 245 drivers/scsi/aic94xx/aic94xx_scb.c struct sas_ha_struct *sas_ha = &asd_ha->sas_ha; sas_ha 246 drivers/scsi/aic94xx/aic94xx_scb.c struct asd_sas_phy *sas_phy = sas_ha->sas_phy[phy_id]; sas_ha 273 drivers/scsi/aic94xx/aic94xx_scb.c sas_ha->notify_port_event(sas_phy, PORTE_LINK_RESET_ERR); sas_ha 298 drivers/scsi/aic94xx/aic94xx_scb.c struct sas_ha_struct *sas_ha = &ascb->ha->sas_ha; sas_ha 299 drivers/scsi/aic94xx/aic94xx_scb.c struct asd_sas_phy *sas_phy = sas_ha->sas_phy[phy_id]; sas_ha 318 drivers/scsi/aic94xx/aic94xx_scb.c sas_ha->notify_port_event(sas_phy,PORTE_BROADCAST_RCVD); sas_ha 339 drivers/scsi/aic94xx/aic94xx_scb.c sas_ha->notify_port_event(sas_phy, PORTE_HARD_RESET); sas_ha 401 drivers/scsi/aic94xx/aic94xx_scb.c struct sas_ha_struct *sas_ha = &asd_ha->sas_ha; sas_ha 405 drivers/scsi/aic94xx/aic94xx_scb.c struct asd_sas_phy *sas_phy = sas_ha->sas_phy[phy_id]; sas_ha 570 drivers/scsi/aic94xx/aic94xx_scb.c sas_ha->notify_port_event(sas_phy, PORTE_TIMER_EVENT); sas_ha 115 drivers/scsi/aic94xx/aic94xx_tmf.c int asd_clear_nexus_ha(struct sas_ha_struct *sas_ha) sas_ha 117 drivers/scsi/aic94xx/aic94xx_tmf.c struct asd_ha_struct *asd_ha = sas_ha->lldd_ha; sas_ha 621 drivers/scsi/hisi_sas/hisi_sas_main.c struct sas_ha_struct *sas_ha; sas_ha 626 drivers/scsi/hisi_sas/hisi_sas_main.c sas_ha = &hisi_hba->sha; sas_ha 627 drivers/scsi/hisi_sas/hisi_sas_main.c sas_ha->notify_phy_event(sas_phy, PHYE_OOB_DONE); sas_ha 655 drivers/scsi/hisi_sas/hisi_sas_main.c sas_ha->notify_port_event(sas_phy, PORTE_BYTES_DMAED); sas_ha 973 drivers/scsi/hisi_sas/hisi_sas_main.c struct sas_ha_struct *sas_ha = sas_phy->ha; sas_ha 974 drivers/scsi/hisi_sas/hisi_sas_main.c struct hisi_hba *hisi_hba = sas_ha->lldd_ha; sas_ha 1120 drivers/scsi/hisi_sas/hisi_sas_main.c struct sas_ha_struct *sas_ha = sas_phy->ha; sas_ha 1121 drivers/scsi/hisi_sas/hisi_sas_main.c struct hisi_hba *hisi_hba = sas_ha->lldd_ha; sas_ha 1404 drivers/scsi/hisi_sas/hisi_sas_main.c struct sas_ha_struct *sas_ha = &hisi_hba->sha; sas_ha 1425 drivers/scsi/hisi_sas/hisi_sas_main.c sas_ha->notify_port_event(sas_phy, sas_ha 1747 drivers/scsi/hisi_sas/hisi_sas_main.c struct sas_ha_struct *sas_ha = &hisi_hba->sha; sas_ha 1758 drivers/scsi/hisi_sas/hisi_sas_main.c sas_ha->sas_phy[local_phy->number]; sas_ha 1773 drivers/scsi/hisi_sas/hisi_sas_main.c sas_ha->sas_phy[local_phy->number]; sas_ha 1867 drivers/scsi/hisi_sas/hisi_sas_main.c static int hisi_sas_clear_nexus_ha(struct sas_ha_struct *sas_ha) sas_ha 1869 drivers/scsi/hisi_sas/hisi_sas_main.c struct hisi_hba *hisi_hba = sas_ha->lldd_ha; sas_ha 2190 drivers/scsi/hisi_sas/hisi_sas_main.c struct sas_ha_struct *sas_ha = &hisi_hba->sha; sas_ha 2206 drivers/scsi/hisi_sas/hisi_sas_main.c sas_ha->notify_phy_event(sas_phy, PHYE_LOSS_OF_SIGNAL); sas_ha 2818 drivers/scsi/hisi_sas/hisi_sas_v2_hw.c struct sas_ha_struct *sas_ha = &hisi_hba->sha; sas_ha 2825 drivers/scsi/hisi_sas/hisi_sas_v2_hw.c sas_ha->notify_port_event(sas_phy, PORTE_BROADCAST_RCVD); sas_ha 1570 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c struct sas_ha_struct *sas_ha = &hisi_hba->sha; sas_ha 1577 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c sas_ha->notify_port_event(sas_phy, PORTE_BROADCAST_RCVD); sas_ha 2792 drivers/scsi/isci/host.c int isci_gpio_write(struct sas_ha_struct *sas_ha, u8 reg_type, u8 reg_index, sas_ha 2795 drivers/scsi/isci/host.c struct isci_host *ihost = sas_ha->lldd_ha; sas_ha 198 drivers/scsi/isci/host.h struct sas_ha_struct sas_ha; sas_ha 309 drivers/scsi/isci/host.h return ihost->sas_ha.core.shost; sas_ha 137 drivers/scsi/isci/init.c struct sas_ha_struct *sas_ha = SHOST_TO_SAS_HA(shost); sas_ha 138 drivers/scsi/isci/init.c struct isci_host *ihost = container_of(sas_ha, typeof(*ihost), sas_ha); sas_ha 230 drivers/scsi/isci/init.c struct sas_ha_struct *sas_ha = &(isci_host->sas_ha); sas_ha 246 drivers/scsi/isci/init.c sas_ha->sas_ha_name = DRV_NAME; sas_ha 247 drivers/scsi/isci/init.c sas_ha->lldd_module = THIS_MODULE; sas_ha 248 drivers/scsi/isci/init.c sas_ha->sas_addr = &isci_host->phys[0].sas_addr[0]; sas_ha 255 drivers/scsi/isci/init.c sas_ha->sas_phy = sas_phys; sas_ha 256 drivers/scsi/isci/init.c sas_ha->sas_port = sas_ports; sas_ha 257 drivers/scsi/isci/init.c sas_ha->num_phys = SCI_MAX_PHYS; sas_ha 259 drivers/scsi/isci/init.c sas_ha->strict_wide_ports = 1; sas_ha 261 drivers/scsi/isci/init.c sas_register_ha(sas_ha); sas_ha 274 drivers/scsi/isci/init.c sas_unregister_ha(&isci_host->sas_ha); sas_ha 508 drivers/scsi/isci/init.c ihost->sas_ha.dev = &ihost->pdev->dev; sas_ha 509 drivers/scsi/isci/init.c ihost->sas_ha.lldd_ha = ihost; sas_ha 571 drivers/scsi/isci/init.c SHOST_TO_SAS_HA(shost) = &ihost->sas_ha; sas_ha 572 drivers/scsi/isci/init.c ihost->sas_ha.core.shost = shost; sas_ha 710 drivers/scsi/isci/init.c sas_suspend_ha(&ihost->sas_ha); sas_ha 740 drivers/scsi/isci/init.c sas_prep_resume_ha(&ihost->sas_ha); sas_ha 743 drivers/scsi/isci/init.c isci_host_start(ihost->sas_ha.core.shost); sas_ha 746 drivers/scsi/isci/init.c sas_resume_ha(&ihost->sas_ha); sas_ha 1408 drivers/scsi/isci/phy.c iphy->sas_phy.ha = &ihost->sas_ha; sas_ha 167 drivers/scsi/isci/port.c ihost->sas_ha.notify_port_event(&iphy->sas_phy, PORTE_BROADCAST_RCVD); sas_ha 226 drivers/scsi/isci/port.c isci_host->sas_ha.notify_port_event(&iphy->sas_phy, sas_ha 273 drivers/scsi/isci/port.c isci_host->sas_ha.notify_phy_event(&isci_phy->sas_phy, sas_ha 87 drivers/scsi/libsas/sas_ata.c struct sas_ha_struct *sas_ha = dev->port->ha; sas_ha 94 drivers/scsi/libsas/sas_ata.c if (test_bit(SAS_HA_FROZEN, &sas_ha->state)) sas_ha 170 drivers/scsi/libsas/sas_ata.c struct sas_ha_struct *sas_ha = dev->port->ha; sas_ha 171 drivers/scsi/libsas/sas_ata.c struct Scsi_Host *host = sas_ha->core.shost; sas_ha 740 drivers/scsi/libsas/sas_ata.c struct sas_ha_struct *sas_ha = SHOST_TO_SAS_HA(shost); sas_ha 752 drivers/scsi/libsas/sas_ata.c sas_disable_revalidation(sas_ha); sas_ha 754 drivers/scsi/libsas/sas_ata.c spin_lock_irq(&sas_ha->phy_port_lock); sas_ha 755 drivers/scsi/libsas/sas_ata.c for (i = 0; i < sas_ha->num_phys; i++) { sas_ha 756 drivers/scsi/libsas/sas_ata.c struct asd_sas_port *port = sas_ha->sas_port[i]; sas_ha 774 drivers/scsi/libsas/sas_ata.c spin_unlock_irq(&sas_ha->phy_port_lock); sas_ha 778 drivers/scsi/libsas/sas_ata.c sas_enable_revalidation(sas_ha); sas_ha 173 drivers/scsi/libsas/sas_discover.c struct sas_ha_struct *sas_ha = dev->port->ha; sas_ha 174 drivers/scsi/libsas/sas_discover.c struct Scsi_Host *shost = sas_ha->core.shost; sas_ha 183 drivers/scsi/libsas/sas_discover.c dev_name(sas_ha->dev), sas_ha 194 drivers/scsi/libsas/sas_discover.c struct sas_ha_struct *sas_ha = dev->port->ha; sas_ha 195 drivers/scsi/libsas/sas_discover.c struct Scsi_Host *shost = sas_ha->core.shost; sas_ha 176 drivers/scsi/libsas/sas_event.c int sas_init_events(struct sas_ha_struct *sas_ha) sas_ha 178 drivers/scsi/libsas/sas_event.c sas_ha->notify_port_event = sas_notify_port_event; sas_ha 179 drivers/scsi/libsas/sas_event.c sas_ha->notify_phy_event = sas_notify_phy_event; sas_ha 19 drivers/scsi/libsas/sas_host_smp.c static void sas_host_smp_discover(struct sas_ha_struct *sas_ha, u8 *resp_data, sas_ha 25 drivers/scsi/libsas/sas_host_smp.c if (phy_id >= sas_ha->num_phys) { sas_ha 31 drivers/scsi/libsas/sas_host_smp.c phy = sas_ha->sas_phy[phy_id]->phy; sas_ha 34 drivers/scsi/libsas/sas_host_smp.c memcpy(resp_data + 16, sas_ha->sas_addr, SAS_ADDR_SIZE); sas_ha 35 drivers/scsi/libsas/sas_host_smp.c memcpy(resp_data + 24, sas_ha->sas_phy[phy_id]->attached_sas_addr, sas_ha 42 drivers/scsi/libsas/sas_host_smp.c if (!sas_ha->sas_phy[phy_id]->port || sas_ha 43 drivers/scsi/libsas/sas_host_smp.c !sas_ha->sas_phy[phy_id]->port->port_dev) sas_ha 46 drivers/scsi/libsas/sas_host_smp.c rphy = sas_ha->sas_phy[phy_id]->port->port_dev->rphy; sas_ha 113 drivers/scsi/libsas/sas_host_smp.c static int sas_host_smp_write_gpio(struct sas_ha_struct *sas_ha, u8 *resp_data, sas_ha 117 drivers/scsi/libsas/sas_host_smp.c struct sas_internal *i = to_sas_internal(sas_ha->core.shost->transportt); sas_ha 125 drivers/scsi/libsas/sas_host_smp.c written = i->dft->lldd_write_gpio(sas_ha, reg_type, reg_index, sas_ha 137 drivers/scsi/libsas/sas_host_smp.c static void sas_report_phy_sata(struct sas_ha_struct *sas_ha, u8 *resp_data, sas_ha 144 drivers/scsi/libsas/sas_host_smp.c if (phy_id >= sas_ha->num_phys) { sas_ha 151 drivers/scsi/libsas/sas_host_smp.c if (!sas_ha->sas_phy[phy_id]->port) sas_ha 154 drivers/scsi/libsas/sas_host_smp.c rphy = sas_ha->sas_phy[phy_id]->port->port_dev->rphy; sas_ha 156 drivers/scsi/libsas/sas_host_smp.c sas_ha->sas_phy[phy_id]->port->port_dev->frame_rcvd; sas_ha 162 drivers/scsi/libsas/sas_host_smp.c memcpy(resp_data + 16, sas_ha->sas_phy[phy_id]->attached_sas_addr, sas_ha 172 drivers/scsi/libsas/sas_host_smp.c &sas_ha->sas_phy[phy_id]->port->port_dev->frame_rcvd[i]; sas_ha 180 drivers/scsi/libsas/sas_host_smp.c static void sas_phy_control(struct sas_ha_struct *sas_ha, u8 phy_id, sas_ha 185 drivers/scsi/libsas/sas_host_smp.c to_sas_internal(sas_ha->core.shost->transportt); sas_ha 189 drivers/scsi/libsas/sas_host_smp.c if (phy_id >= sas_ha->num_phys) { sas_ha 194 drivers/scsi/libsas/sas_host_smp.c asd_phy = sas_ha->sas_phy[phy_id]; sas_ha 227 drivers/scsi/libsas/sas_host_smp.c struct sas_ha_struct *sas_ha = SHOST_TO_SAS_HA(shost); sas_ha 264 drivers/scsi/libsas/sas_host_smp.c resp_data[9] = sas_ha->num_phys; sas_ha 284 drivers/scsi/libsas/sas_host_smp.c sas_host_smp_discover(sas_ha, resp_data, req_data[9]); sas_ha 296 drivers/scsi/libsas/sas_host_smp.c sas_report_phy_sata(sas_ha, resp_data, req_data[9]); sas_ha 315 drivers/scsi/libsas/sas_host_smp.c to_write = sas_host_smp_write_gpio(sas_ha, resp_data, req_data[2], sas_ha 328 drivers/scsi/libsas/sas_host_smp.c sas_phy_control(sas_ha, req_data[9], req_data[10], sas_ha 96 drivers/scsi/libsas/sas_init.c int sas_register_ha(struct sas_ha_struct *sas_ha) sas_ha 101 drivers/scsi/libsas/sas_init.c mutex_init(&sas_ha->disco_mutex); sas_ha 102 drivers/scsi/libsas/sas_init.c spin_lock_init(&sas_ha->phy_port_lock); sas_ha 103 drivers/scsi/libsas/sas_init.c sas_hash_addr(sas_ha->hashed_sas_addr, sas_ha->sas_addr); sas_ha 105 drivers/scsi/libsas/sas_init.c set_bit(SAS_HA_REGISTERED, &sas_ha->state); sas_ha 106 drivers/scsi/libsas/sas_init.c spin_lock_init(&sas_ha->lock); sas_ha 107 drivers/scsi/libsas/sas_init.c mutex_init(&sas_ha->drain_mutex); sas_ha 108 drivers/scsi/libsas/sas_init.c init_waitqueue_head(&sas_ha->eh_wait_q); sas_ha 109 drivers/scsi/libsas/sas_init.c INIT_LIST_HEAD(&sas_ha->defer_q); sas_ha 110 drivers/scsi/libsas/sas_init.c INIT_LIST_HEAD(&sas_ha->eh_dev_q); sas_ha 112 drivers/scsi/libsas/sas_init.c sas_ha->event_thres = SAS_PHY_SHUTDOWN_THRES; sas_ha 114 drivers/scsi/libsas/sas_init.c error = sas_register_phys(sas_ha); sas_ha 120 drivers/scsi/libsas/sas_init.c error = sas_register_ports(sas_ha); sas_ha 126 drivers/scsi/libsas/sas_init.c error = sas_init_events(sas_ha); sas_ha 133 drivers/scsi/libsas/sas_init.c snprintf(name, sizeof(name), "%s_event_q", dev_name(sas_ha->dev)); sas_ha 134 drivers/scsi/libsas/sas_init.c sas_ha->event_q = create_singlethread_workqueue(name); sas_ha 135 drivers/scsi/libsas/sas_init.c if (!sas_ha->event_q) sas_ha 138 drivers/scsi/libsas/sas_init.c snprintf(name, sizeof(name), "%s_disco_q", dev_name(sas_ha->dev)); sas_ha 139 drivers/scsi/libsas/sas_init.c sas_ha->disco_q = create_singlethread_workqueue(name); sas_ha 140 drivers/scsi/libsas/sas_init.c if (!sas_ha->disco_q) sas_ha 143 drivers/scsi/libsas/sas_init.c INIT_LIST_HEAD(&sas_ha->eh_done_q); sas_ha 144 drivers/scsi/libsas/sas_init.c INIT_LIST_HEAD(&sas_ha->eh_ata_q); sas_ha 149 drivers/scsi/libsas/sas_init.c destroy_workqueue(sas_ha->event_q); sas_ha 151 drivers/scsi/libsas/sas_init.c sas_unregister_ports(sas_ha); sas_ha 157 drivers/scsi/libsas/sas_init.c static void sas_disable_events(struct sas_ha_struct *sas_ha) sas_ha 162 drivers/scsi/libsas/sas_init.c mutex_lock(&sas_ha->drain_mutex); sas_ha 163 drivers/scsi/libsas/sas_init.c spin_lock_irq(&sas_ha->lock); sas_ha 164 drivers/scsi/libsas/sas_init.c clear_bit(SAS_HA_REGISTERED, &sas_ha->state); sas_ha 165 drivers/scsi/libsas/sas_init.c spin_unlock_irq(&sas_ha->lock); sas_ha 166 drivers/scsi/libsas/sas_init.c __sas_drain_work(sas_ha); sas_ha 167 drivers/scsi/libsas/sas_init.c mutex_unlock(&sas_ha->drain_mutex); sas_ha 170 drivers/scsi/libsas/sas_init.c int sas_unregister_ha(struct sas_ha_struct *sas_ha) sas_ha 172 drivers/scsi/libsas/sas_init.c sas_disable_events(sas_ha); sas_ha 173 drivers/scsi/libsas/sas_init.c sas_unregister_ports(sas_ha); sas_ha 176 drivers/scsi/libsas/sas_init.c mutex_lock(&sas_ha->drain_mutex); sas_ha 177 drivers/scsi/libsas/sas_init.c __sas_drain_work(sas_ha); sas_ha 178 drivers/scsi/libsas/sas_init.c mutex_unlock(&sas_ha->drain_mutex); sas_ha 180 drivers/scsi/libsas/sas_init.c destroy_workqueue(sas_ha->disco_q); sas_ha 181 drivers/scsi/libsas/sas_init.c destroy_workqueue(sas_ha->event_q); sas_ha 190 drivers/scsi/libsas/sas_init.c struct sas_ha_struct *sas_ha = SHOST_TO_SAS_HA(shost); sas_ha 191 drivers/scsi/libsas/sas_init.c struct asd_sas_phy *asd_phy = sas_ha->sas_phy[phy->number]; sas_ha 193 drivers/scsi/libsas/sas_init.c to_sas_internal(sas_ha->core.shost->transportt); sas_ha 239 drivers/scsi/libsas/sas_init.c struct sas_ha_struct *sas_ha = SHOST_TO_SAS_HA(shost); sas_ha 240 drivers/scsi/libsas/sas_init.c struct asd_sas_phy *asd_phy = sas_ha->sas_phy[phy->number]; sas_ha 242 drivers/scsi/libsas/sas_init.c to_sas_internal(sas_ha->core.shost->transportt); sas_ha 273 drivers/scsi/libsas/sas_init.c struct sas_ha_struct *sas_ha = SHOST_TO_SAS_HA(shost); sas_ha 274 drivers/scsi/libsas/sas_init.c struct asd_sas_phy *asd_phy = sas_ha->sas_phy[phy->number]; sas_ha 276 drivers/scsi/libsas/sas_init.c to_sas_internal(sas_ha->core.shost->transportt); sas_ha 309 drivers/scsi/libsas/sas_init.c struct sas_ha_struct *sas_ha = SHOST_TO_SAS_HA(shost); sas_ha 310 drivers/scsi/libsas/sas_init.c struct asd_sas_phy *asd_phy = sas_ha->sas_phy[phy->number]; sas_ha 312 drivers/scsi/libsas/sas_init.c to_sas_internal(sas_ha->core.shost->transportt); sas_ha 344 drivers/scsi/libsas/sas_init.c struct sas_ha_struct *sas_ha = SHOST_TO_SAS_HA(shost); sas_ha 345 drivers/scsi/libsas/sas_init.c struct asd_sas_phy *asd_phy = sas_ha->sas_phy[phy->number]; sas_ha 347 drivers/scsi/libsas/sas_init.c to_sas_internal(sas_ha->core.shost->transportt); sas_ha 598 drivers/scsi/libsas/sas_init.c struct sas_ha_struct *sas_ha = phy->ha; sas_ha 600 drivers/scsi/libsas/sas_init.c to_sas_internal(sas_ha->core.shost->transportt); sas_ha 48 drivers/scsi/libsas/sas_internal.h int sas_register_phys(struct sas_ha_struct *sas_ha); sas_ha 49 drivers/scsi/libsas/sas_internal.h void sas_unregister_phys(struct sas_ha_struct *sas_ha); sas_ha 54 drivers/scsi/libsas/sas_internal.h int sas_register_ports(struct sas_ha_struct *sas_ha); sas_ha 55 drivers/scsi/libsas/sas_internal.h void sas_unregister_ports(struct sas_ha_struct *sas_ha); sas_ha 57 drivers/scsi/libsas/sas_internal.h int sas_init_events(struct sas_ha_struct *sas_ha); sas_ha 38 drivers/scsi/libsas/sas_phy.c struct sas_ha_struct *sas_ha = phy->ha; sas_ha 41 drivers/scsi/libsas/sas_phy.c to_sas_internal(sas_ha->core.shost->transportt); sas_ha 67 drivers/scsi/libsas/sas_phy.c struct sas_ha_struct *sas_ha = phy->ha; sas_ha 69 drivers/scsi/libsas/sas_phy.c to_sas_internal(sas_ha->core.shost->transportt); sas_ha 96 drivers/scsi/libsas/sas_phy.c struct sas_ha_struct *sas_ha = phy->ha; sas_ha 98 drivers/scsi/libsas/sas_phy.c to_sas_internal(sas_ha->core.shost->transportt); sas_ha 116 drivers/scsi/libsas/sas_phy.c int sas_register_phys(struct sas_ha_struct *sas_ha) sas_ha 121 drivers/scsi/libsas/sas_phy.c for (i = 0; i < sas_ha->num_phys; i++) { sas_ha 122 drivers/scsi/libsas/sas_phy.c struct asd_sas_phy *phy = sas_ha->sas_phy[i]; sas_ha 129 drivers/scsi/libsas/sas_phy.c phy->ha = sas_ha; sas_ha 134 drivers/scsi/libsas/sas_phy.c phy->phy = sas_phy_alloc(&sas_ha->core.shost->shost_gendev, i); sas_ha 141 drivers/scsi/libsas/sas_phy.c phy->phy->identify.sas_address = SAS_ADDR(sas_ha->sas_addr); sas_ha 17 drivers/scsi/libsas/sas_port.c struct sas_ha_struct *sas_ha = phy->ha; sas_ha 20 drivers/scsi/libsas/sas_port.c SAS_ADDR_SIZE) != 0 || (sas_ha->strict_wide_ports && sas_ha 30 drivers/scsi/libsas/sas_port.c struct sas_ha_struct *sas_ha = phy->ha; sas_ha 31 drivers/scsi/libsas/sas_port.c struct sas_internal *si = to_sas_internal(sas_ha->core.shost->transportt); sas_ha 80 drivers/scsi/libsas/sas_port.c struct sas_ha_struct *sas_ha = phy->ha; sas_ha 84 drivers/scsi/libsas/sas_port.c to_sas_internal(sas_ha->core.shost->transportt); sas_ha 95 drivers/scsi/libsas/sas_port.c wake_up(&sas_ha->eh_wait_q); sas_ha 106 drivers/scsi/libsas/sas_port.c spin_lock_irqsave(&sas_ha->phy_port_lock, flags); sas_ha 107 drivers/scsi/libsas/sas_port.c for (i = 0; i < sas_ha->num_phys; i++) { sas_ha 108 drivers/scsi/libsas/sas_port.c port = sas_ha->sas_port[i]; sas_ha 120 drivers/scsi/libsas/sas_port.c if (i == sas_ha->num_phys) { sas_ha 121 drivers/scsi/libsas/sas_port.c for (i = 0; i < sas_ha->num_phys; i++) { sas_ha 122 drivers/scsi/libsas/sas_port.c port = sas_ha->sas_port[i]; sas_ha 134 drivers/scsi/libsas/sas_port.c if (i >= sas_ha->num_phys) { sas_ha 136 drivers/scsi/libsas/sas_port.c spin_unlock_irqrestore(&sas_ha->phy_port_lock, flags); sas_ha 159 drivers/scsi/libsas/sas_port.c spin_unlock_irqrestore(&sas_ha->phy_port_lock, flags); sas_ha 188 drivers/scsi/libsas/sas_port.c flush_workqueue(sas_ha->disco_q); sas_ha 201 drivers/scsi/libsas/sas_port.c struct sas_ha_struct *sas_ha = phy->ha; sas_ha 204 drivers/scsi/libsas/sas_port.c to_sas_internal(sas_ha->core.shost->transportt); sas_ha 228 drivers/scsi/libsas/sas_port.c spin_lock_irqsave(&sas_ha->phy_port_lock, flags); sas_ha 248 drivers/scsi/libsas/sas_port.c spin_unlock_irqrestore(&sas_ha->phy_port_lock, flags); sas_ha 257 drivers/scsi/libsas/sas_port.c flush_workqueue(sas_ha->disco_q); sas_ha 317 drivers/scsi/libsas/sas_port.c struct sas_ha_struct *sas_ha, int i) sas_ha 327 drivers/scsi/libsas/sas_port.c port->ha = sas_ha; sas_ha 332 drivers/scsi/libsas/sas_port.c int sas_register_ports(struct sas_ha_struct *sas_ha) sas_ha 337 drivers/scsi/libsas/sas_port.c for (i = 0; i < sas_ha->num_phys; i++) { sas_ha 338 drivers/scsi/libsas/sas_port.c struct asd_sas_port *port = sas_ha->sas_port[i]; sas_ha 340 drivers/scsi/libsas/sas_port.c sas_init_port(port, sas_ha, i); sas_ha 346 drivers/scsi/libsas/sas_port.c void sas_unregister_ports(struct sas_ha_struct *sas_ha) sas_ha 350 drivers/scsi/libsas/sas_port.c for (i = 0; i < sas_ha->num_phys; i++) sas_ha 351 drivers/scsi/libsas/sas_port.c if (sas_ha->sas_phy[i]->port) sas_ha 352 drivers/scsi/libsas/sas_port.c sas_deform_port(sas_ha->sas_phy[i], 0); sas_ha 207 drivers/scsi/libsas/sas_scsi_host.c struct sas_ha_struct *sas_ha = SHOST_TO_SAS_HA(cmd->device->host); sas_ha 221 drivers/scsi/libsas/sas_scsi_host.c list_move_tail(&cmd->eh_entry, &sas_ha->eh_ata_q); sas_ha 229 drivers/scsi/libsas/sas_scsi_host.c scsi_eh_finish_cmd(cmd, &sas_ha->eh_done_q); sas_ha 223 drivers/scsi/mvsas/mv_sas.c struct sas_ha_struct *sas_ha; sas_ha 232 drivers/scsi/mvsas/mv_sas.c sas_ha = mvi->sas; sas_ha 233 drivers/scsi/mvsas/mv_sas.c sas_ha->notify_phy_event(sas_phy, PHYE_OOB_DONE); sas_ha 1077 drivers/scsi/mvsas/mv_sas.c struct sas_ha_struct *sas_ha = sas_phy->ha; sas_ha 1086 drivers/scsi/mvsas/mv_sas.c while (sas_ha->sas_phy[i]) { sas_ha 1087 drivers/scsi/mvsas/mv_sas.c if (sas_ha->sas_phy[i] == sas_phy) sas_ha 1091 drivers/scsi/mvsas/mv_sas.c hi = i/((struct mvs_prv_info *)sas_ha->lldd_ha)->n_phy; sas_ha 1092 drivers/scsi/mvsas/mv_sas.c mvi = ((struct mvs_prv_info *)sas_ha->lldd_ha)->mvi[hi]; sas_ha 1883 drivers/scsi/mvsas/mv_sas.c struct sas_ha_struct *sas_ha = mvi->sas; sas_ha 1898 drivers/scsi/mvsas/mv_sas.c sas_ha->notify_phy_event(sas_phy, sas_ha 1911 drivers/scsi/mvsas/mv_sas.c sas_ha->notify_port_event(sas_phy, sas_ha 3384 drivers/scsi/pm8001/pm8001_hwi.c struct sas_ha_struct *sas_ha = pm8001_ha->sas; sas_ha 3431 drivers/scsi/pm8001/pm8001_hwi.c sas_ha->notify_phy_event(&phy->sas_phy, PHYE_OOB_DONE); sas_ha 3463 drivers/scsi/pm8001/pm8001_hwi.c struct sas_ha_struct *sas_ha = pm8001_ha->sas; sas_ha 3476 drivers/scsi/pm8001/pm8001_hwi.c sas_ha->notify_phy_event(&phy->sas_phy, PHYE_OOB_DONE); sas_ha 3805 drivers/scsi/pm8001/pm8001_hwi.c struct sas_ha_struct *sas_ha = pm8001_ha->sas; sas_ha 3807 drivers/scsi/pm8001/pm8001_hwi.c struct asd_sas_phy *sas_phy = sas_ha->sas_phy[phy_id]; sas_ha 3842 drivers/scsi/pm8001/pm8001_hwi.c sas_ha->notify_phy_event(&phy->sas_phy, PHYE_SPINUP_HOLD); sas_ha 3847 drivers/scsi/pm8001/pm8001_hwi.c sas_ha->notify_phy_event(&phy->sas_phy, PHYE_LOSS_OF_SIGNAL); sas_ha 3857 drivers/scsi/pm8001/pm8001_hwi.c sas_ha->notify_port_event(sas_phy, PORTE_LINK_RESET_ERR); sas_ha 3869 drivers/scsi/pm8001/pm8001_hwi.c sas_ha->notify_port_event(sas_phy, PORTE_BROADCAST_RCVD); sas_ha 3876 drivers/scsi/pm8001/pm8001_hwi.c sas_ha->notify_phy_event(&phy->sas_phy, PHYE_OOB_ERROR); sas_ha 3884 drivers/scsi/pm8001/pm8001_hwi.c sas_ha->notify_port_event(sas_phy, PORTE_BROADCAST_RCVD); sas_ha 3893 drivers/scsi/pm8001/pm8001_hwi.c sas_ha->notify_port_event(sas_phy, PORTE_LINK_RESET_ERR); sas_ha 3903 drivers/scsi/pm8001/pm8001_hwi.c sas_ha->notify_port_event(sas_phy, PORTE_LINK_RESET_ERR); sas_ha 3913 drivers/scsi/pm8001/pm8001_hwi.c sas_ha->notify_port_event(sas_phy, PORTE_LINK_RESET_ERR); sas_ha 3923 drivers/scsi/pm8001/pm8001_hwi.c sas_ha->notify_port_event(sas_phy, PORTE_LINK_RESET_ERR); sas_ha 3935 drivers/scsi/pm8001/pm8001_hwi.c sas_ha->notify_port_event(sas_phy, PORTE_BROADCAST_RCVD); sas_ha 3947 drivers/scsi/pm8001/pm8001_hwi.c sas_ha->notify_port_event(sas_phy, PORTE_HARD_RESET); sas_ha 3954 drivers/scsi/pm8001/pm8001_hwi.c sas_ha->notify_port_event(sas_phy, PORTE_LINK_RESET_ERR); sas_ha 3964 drivers/scsi/pm8001/pm8001_hwi.c sas_ha->notify_port_event(sas_phy, PORTE_LINK_RESET_ERR); sas_ha 3971 drivers/scsi/pm8001/pm8001_hwi.c sas_ha->notify_port_event(sas_phy, PORTE_LINK_RESET_ERR); sas_ha 3978 drivers/scsi/pm8001/pm8001_hwi.c sas_ha->notify_port_event(sas_phy, PORTE_LINK_RESET_ERR); sas_ha 160 drivers/scsi/pm8001/pm8001_sas.c struct sas_ha_struct *sas_ha; sas_ha 209 drivers/scsi/pm8001/pm8001_sas.c sas_ha = pm8001_ha->sas; sas_ha 211 drivers/scsi/pm8001/pm8001_sas.c sas_ha->notify_phy_event(&phy->sas_phy, sas_ha 218 drivers/scsi/pm8001/pm8001_sas.c sas_ha = pm8001_ha->sas; sas_ha 220 drivers/scsi/pm8001/pm8001_sas.c sas_ha->notify_phy_event(&phy->sas_phy, sas_ha 2932 drivers/scsi/pm8001/pm80xx_hwi.c struct sas_ha_struct *sas_ha = pm8001_ha->sas; sas_ha 2981 drivers/scsi/pm8001/pm80xx_hwi.c sas_ha->notify_phy_event(&phy->sas_phy, PHYE_OOB_DONE); sas_ha 3015 drivers/scsi/pm8001/pm80xx_hwi.c struct sas_ha_struct *sas_ha = pm8001_ha->sas; sas_ha 3029 drivers/scsi/pm8001/pm80xx_hwi.c sas_ha->notify_phy_event(&phy->sas_phy, PHYE_OOB_DONE); sas_ha 3113 drivers/scsi/pm8001/pm80xx_hwi.c struct sas_ha_struct *sas_ha = pm8001_ha->sas; sas_ha 3115 drivers/scsi/pm8001/pm80xx_hwi.c sas_ha->notify_phy_event(&phy->sas_phy, PHYE_LOSS_OF_SIGNAL); sas_ha 3192 drivers/scsi/pm8001/pm80xx_hwi.c struct sas_ha_struct *sas_ha = pm8001_ha->sas; sas_ha 3195 drivers/scsi/pm8001/pm80xx_hwi.c struct asd_sas_phy *sas_phy = sas_ha->sas_phy[phy_id]; sas_ha 3215 drivers/scsi/pm8001/pm80xx_hwi.c sas_ha->notify_phy_event(&phy->sas_phy, PHYE_SPINUP_HOLD); sas_ha 3234 drivers/scsi/pm8001/pm80xx_hwi.c sas_ha->notify_port_event(sas_phy, PORTE_LINK_RESET_ERR); sas_ha 3246 drivers/scsi/pm8001/pm80xx_hwi.c sas_ha->notify_port_event(sas_phy, PORTE_BROADCAST_RCVD); sas_ha 3253 drivers/scsi/pm8001/pm80xx_hwi.c sas_ha->notify_phy_event(&phy->sas_phy, PHYE_OOB_ERROR); sas_ha 3261 drivers/scsi/pm8001/pm80xx_hwi.c sas_ha->notify_port_event(sas_phy, PORTE_BROADCAST_RCVD); sas_ha 3300 drivers/scsi/pm8001/pm80xx_hwi.c sas_ha->notify_port_event(sas_phy, PORTE_BROADCAST_RCVD); sas_ha 3312 drivers/scsi/pm8001/pm80xx_hwi.c sas_ha->notify_port_event(sas_phy, PORTE_HARD_RESET); sas_ha 3319 drivers/scsi/pm8001/pm80xx_hwi.c sas_ha->notify_port_event(sas_phy, PORTE_LINK_RESET_ERR); sas_ha 3329 drivers/scsi/pm8001/pm80xx_hwi.c sas_ha->notify_port_event(sas_phy, PORTE_LINK_RESET_ERR); sas_ha 3338 drivers/scsi/pm8001/pm80xx_hwi.c sas_ha->notify_port_event(sas_phy, PORTE_LINK_RESET_ERR); sas_ha 3355 drivers/scsi/pm8001/pm80xx_hwi.c sas_ha->notify_phy_event(&phy->sas_phy, sas_ha 659 include/scsi/libsas.h extern void sas_prep_resume_ha(struct sas_ha_struct *sas_ha); sas_ha 660 include/scsi/libsas.h extern void sas_resume_ha(struct sas_ha_struct *sas_ha); sas_ha 661 include/scsi/libsas.h extern void sas_suspend_ha(struct sas_ha_struct *sas_ha);