/linux-4.4.14/drivers/scsi/libsas/ |
D | sas_init.c | 120 int sas_register_ha(struct sas_ha_struct *sas_ha) in sas_register_ha() argument 124 mutex_init(&sas_ha->disco_mutex); in sas_register_ha() 125 spin_lock_init(&sas_ha->phy_port_lock); in sas_register_ha() 126 sas_hash_addr(sas_ha->hashed_sas_addr, sas_ha->sas_addr); in sas_register_ha() 128 set_bit(SAS_HA_REGISTERED, &sas_ha->state); in sas_register_ha() 129 spin_lock_init(&sas_ha->lock); in sas_register_ha() 130 mutex_init(&sas_ha->drain_mutex); in sas_register_ha() 131 init_waitqueue_head(&sas_ha->eh_wait_q); in sas_register_ha() 132 INIT_LIST_HEAD(&sas_ha->defer_q); in sas_register_ha() 133 INIT_LIST_HEAD(&sas_ha->eh_dev_q); in sas_register_ha() [all …]
|
D | sas_host_smp.c | 22 static void sas_host_smp_discover(struct sas_ha_struct *sas_ha, u8 *resp_data, in sas_host_smp_discover() argument 28 if (phy_id >= sas_ha->num_phys) { in sas_host_smp_discover() 34 phy = sas_ha->sas_phy[phy_id]->phy; in sas_host_smp_discover() 37 memcpy(resp_data + 16, sas_ha->sas_addr, SAS_ADDR_SIZE); in sas_host_smp_discover() 38 memcpy(resp_data + 24, sas_ha->sas_phy[phy_id]->attached_sas_addr, in sas_host_smp_discover() 45 if (!sas_ha->sas_phy[phy_id]->port || in sas_host_smp_discover() 46 !sas_ha->sas_phy[phy_id]->port->port_dev) in sas_host_smp_discover() 49 rphy = sas_ha->sas_phy[phy_id]->port->port_dev->rphy; in sas_host_smp_discover() 116 static int sas_host_smp_write_gpio(struct sas_ha_struct *sas_ha, u8 *resp_data, in sas_host_smp_write_gpio() argument 120 struct sas_internal *i = to_sas_internal(sas_ha->core.shost->transportt); in sas_host_smp_write_gpio() [all …]
|
D | sas_port.c | 33 struct sas_ha_struct *sas_ha = phy->ha; in phy_is_wideport_member() local 36 SAS_ADDR_SIZE) != 0 || (sas_ha->strict_wide_ports && in phy_is_wideport_member() 46 struct sas_ha_struct *sas_ha = phy->ha; in sas_resume_port() local 47 struct sas_internal *si = to_sas_internal(sas_ha->core.shost->transportt); in sas_resume_port() 95 struct sas_ha_struct *sas_ha = phy->ha; in sas_form_port() local 98 to_sas_internal(sas_ha->core.shost->transportt); in sas_form_port() 109 wake_up(&sas_ha->eh_wait_q); in sas_form_port() 120 spin_lock_irqsave(&sas_ha->phy_port_lock, flags); in sas_form_port() 121 for (i = 0; i < sas_ha->num_phys; i++) { in sas_form_port() 122 port = sas_ha->sas_port[i]; in sas_form_port() [all …]
|
D | sas_event.c | 119 static void notify_ha_event(struct sas_ha_struct *sas_ha, enum ha_event event) in notify_ha_event() argument 123 sas_queue_event(event, &sas_ha->pending, in notify_ha_event() 124 &sas_ha->ha_events[event].work, sas_ha); in notify_ha_event() 147 int sas_init_events(struct sas_ha_struct *sas_ha) in sas_init_events() argument 156 INIT_SAS_WORK(&sas_ha->ha_events[i].work, sas_ha_event_fns[i]); in sas_init_events() 157 sas_ha->ha_events[i].ha = sas_ha; in sas_init_events() 160 sas_ha->notify_ha_event = notify_ha_event; in sas_init_events() 161 sas_ha->notify_port_event = notify_port_event; in sas_init_events() 162 sas_ha->notify_phy_event = sas_notify_phy_event; in sas_init_events()
|
D | sas_phy.c | 56 struct sas_ha_struct *sas_ha = phy->ha; in sas_phye_oob_error() local 59 to_sas_internal(sas_ha->core.shost->transportt); in sas_phye_oob_error() 87 struct sas_ha_struct *sas_ha = phy->ha; in sas_phye_spinup_hold() local 89 to_sas_internal(sas_ha->core.shost->transportt); in sas_phye_spinup_hold() 118 int sas_register_phys(struct sas_ha_struct *sas_ha) in sas_register_phys() argument 140 for (i = 0; i < sas_ha->num_phys; i++) { in sas_register_phys() 142 struct asd_sas_phy *phy = sas_ha->sas_phy[i]; in sas_register_phys() 157 phy->ha = sas_ha; in sas_register_phys() 162 phy->phy = sas_phy_alloc(&sas_ha->core.shost->shost_gendev, i); in sas_register_phys() 169 phy->phy->identify.sas_address = SAS_ADDR(sas_ha->sas_addr); in sas_register_phys()
|
D | sas_internal.h | 61 int sas_register_phys(struct sas_ha_struct *sas_ha); 62 void sas_unregister_phys(struct sas_ha_struct *sas_ha); 64 int sas_register_ports(struct sas_ha_struct *sas_ha); 65 void sas_unregister_ports(struct sas_ha_struct *sas_ha); 69 int sas_init_events(struct sas_ha_struct *sas_ha);
|
D | sas_dump.c | 56 void sas_dprint_hae(struct sas_ha_struct *sas_ha, enum ha_event he) in sas_dprint_hae() argument 58 SAS_DPRINTK("ha %s: %s event\n", dev_name(sas_ha->dev), in sas_dprint_hae()
|
D | sas_ata.c | 101 struct sas_ha_struct *sas_ha = dev->port->ha; in sas_ata_task_done() local 108 if (test_bit(SAS_HA_FROZEN, &sas_ha->state)) in sas_ata_task_done() 186 struct sas_ha_struct *sas_ha = dev->port->ha; in sas_ata_qc_issue() local 187 struct Scsi_Host *host = sas_ha->core.shost; in sas_ata_qc_issue() 752 struct sas_ha_struct *sas_ha = SHOST_TO_SAS_HA(shost); in sas_ata_strategy_handler() local 764 sas_disable_revalidation(sas_ha); in sas_ata_strategy_handler() 766 spin_lock_irq(&sas_ha->phy_port_lock); in sas_ata_strategy_handler() 767 for (i = 0; i < sas_ha->num_phys; i++) { in sas_ata_strategy_handler() 768 struct asd_sas_port *port = sas_ha->sas_port[i]; in sas_ata_strategy_handler() 786 spin_unlock_irq(&sas_ha->phy_port_lock); in sas_ata_strategy_handler() [all …]
|
D | sas_dump.h | 29 void sas_dprint_hae(struct sas_ha_struct *sas_ha, enum ha_event he);
|
D | sas_discover.c | 180 struct sas_ha_struct *sas_ha = dev->port->ha; in sas_notify_lldd_dev_found() local 181 struct Scsi_Host *shost = sas_ha->core.shost; in sas_notify_lldd_dev_found() 191 dev_name(sas_ha->dev), in sas_notify_lldd_dev_found() 202 struct sas_ha_struct *sas_ha = dev->port->ha; in sas_notify_lldd_dev_gone() local 203 struct Scsi_Host *shost = sas_ha->core.shost; in sas_notify_lldd_dev_gone()
|
D | sas_scsi_host.c | 224 struct sas_ha_struct *sas_ha = SHOST_TO_SAS_HA(cmd->device->host); in sas_eh_finish_cmd() local 237 scsi_eh_finish_cmd(cmd, &sas_ha->eh_done_q); in sas_eh_finish_cmd() 870 struct sas_ha_struct *sas_ha; in sas_slave_configure() local 879 sas_ha = dev->port->ha; in sas_slave_configure()
|
/linux-4.4.14/drivers/scsi/isci/ |
D | init.c | 137 struct sas_ha_struct *sas_ha = SHOST_TO_SAS_HA(shost); in isci_show_id() local 138 struct isci_host *ihost = container_of(sas_ha, typeof(*ihost), sas_ha); in isci_show_id() 231 struct sas_ha_struct *sas_ha = &(isci_host->sas_ha); in isci_register_sas_ha() local 247 sas_ha->sas_ha_name = DRV_NAME; in isci_register_sas_ha() 248 sas_ha->lldd_module = THIS_MODULE; in isci_register_sas_ha() 249 sas_ha->sas_addr = &isci_host->phys[0].sas_addr[0]; in isci_register_sas_ha() 256 sas_ha->sas_phy = sas_phys; in isci_register_sas_ha() 257 sas_ha->sas_port = sas_ports; in isci_register_sas_ha() 258 sas_ha->num_phys = SCI_MAX_PHYS; in isci_register_sas_ha() 260 sas_ha->strict_wide_ports = 1; in isci_register_sas_ha() [all …]
|
D | host.h | 198 struct sas_ha_struct sas_ha; member 310 return ihost->sas_ha.core.shost; in to_shost()
|
D | port.c | 167 ihost->sas_ha.notify_port_event(&iphy->sas_phy, PORTE_BROADCAST_RCVD); in isci_port_bc_change_received() 226 isci_host->sas_ha.notify_port_event(&iphy->sas_phy, in isci_port_link_up() 273 isci_host->sas_ha.notify_phy_event(&isci_phy->sas_phy, in isci_port_link_down()
|
D | host.c | 2792 int isci_gpio_write(struct sas_ha_struct *sas_ha, u8 reg_type, u8 reg_index, in isci_gpio_write() argument 2795 struct isci_host *ihost = sas_ha->lldd_ha; in isci_gpio_write()
|
D | phy.c | 1407 iphy->sas_phy.ha = &ihost->sas_ha; in isci_phy_init()
|
/linux-4.4.14/drivers/scsi/aic94xx/ |
D | aic94xx_scb.c | 89 struct sas_ha_struct *sas_ha = &asd_ha->sas_ha; in asd_phy_event_tasklet() local 102 sas_ha->notify_phy_event(&phy->sas_phy, PHYE_LOSS_OF_SIGNAL); in asd_phy_event_tasklet() 110 sas_ha->notify_phy_event(&phy->sas_phy, PHYE_OOB_DONE); in asd_phy_event_tasklet() 115 sas_ha->notify_phy_event(&phy->sas_phy, PHYE_SPINUP_HOLD); in asd_phy_event_tasklet() 123 sas_ha->notify_phy_event(&phy->sas_phy, PHYE_OOB_ERROR); in asd_phy_event_tasklet() 243 struct sas_ha_struct *sas_ha = phy->sas_phy.ha; in asd_bytes_dmaed_tasklet() local 255 sas_ha->notify_port_event(&phy->sas_phy, PORTE_BYTES_DMAED); in asd_bytes_dmaed_tasklet() 263 struct sas_ha_struct *sas_ha = &asd_ha->sas_ha; in asd_link_reset_err_tasklet() local 264 struct asd_sas_phy *sas_phy = sas_ha->sas_phy[phy_id]; in asd_link_reset_err_tasklet() 291 sas_ha->notify_port_event(sas_phy, PORTE_LINK_RESET_ERR); in asd_link_reset_err_tasklet() [all …]
|
D | aic94xx_init.c | 686 asd_ha->sas_ha.sas_ha_name = (char *) asd_ha->name; in asd_register_sas_ha() 687 asd_ha->sas_ha.lldd_module = THIS_MODULE; in asd_register_sas_ha() 688 asd_ha->sas_ha.sas_addr = &asd_ha->hw_prof.sas_addr[0]; in asd_register_sas_ha() 695 asd_ha->sas_ha.sas_phy = sas_phys; in asd_register_sas_ha() 696 asd_ha->sas_ha.sas_port= sas_ports; in asd_register_sas_ha() 697 asd_ha->sas_ha.num_phys= ASD_MAX_PHYS; in asd_register_sas_ha() 699 return sas_register_ha(&asd_ha->sas_ha); in asd_register_sas_ha() 706 scsi_remove_host(asd_ha->sas_ha.core.shost); in asd_unregister_sas_ha() 707 err = sas_unregister_ha(&asd_ha->sas_ha); in asd_unregister_sas_ha() 709 sas_remove_host(asd_ha->sas_ha.core.shost); in asd_unregister_sas_ha() [all …]
|
D | aic94xx.h | 96 int asd_clear_nexus_ha(struct sas_ha_struct *sas_ha);
|
D | aic94xx_hwi.c | 49 return sas_request_addr(asd_ha->sas_ha.core.shost, in asd_get_user_sas_addr() 145 phy->sas_phy.ha = &asd_ha->sas_ha; in asd_init_phys() 721 struct sas_ha_struct *sas_ha = &asd_ha->sas_ha; in asd_chip_reset() local 725 sas_ha->notify_ha_event(sas_ha, HAE_RESET); in asd_chip_reset()
|
D | aic94xx_tmf.c | 134 int asd_clear_nexus_ha(struct sas_ha_struct *sas_ha) in asd_clear_nexus_ha() argument 136 struct asd_ha_struct *asd_ha = sas_ha->lldd_ha; in asd_clear_nexus_ha()
|
D | aic94xx_hwi.h | 202 struct sas_ha_struct sas_ha; member
|
/linux-4.4.14/Documentation/scsi/ |
D | libsas.txt | 127 struct sas_ha_struct sas_ha; 213 my_ha->sas_ha.sas_addr = &my_ha->sas_addr[0]; 220 my_ha->sas_ha.sas_phy = sas_phys; 221 my_ha->sas_ha.sas_port = sas_ports; 222 my_ha->sas_ha.num_phys = MAX_PHYS; 224 my_ha->sas_ha.lldd_port_formed = my_port_formed; 226 my_ha->sas_ha.lldd_dev_found = my_dev_found; 227 my_ha->sas_ha.lldd_dev_gone = my_dev_gone; 229 my_ha->sas_ha.lldd_execute_task = my_execute_task; 231 my_ha->sas_ha.lldd_abort_task = my_abort_task; [all …]
|
/linux-4.4.14/include/scsi/ |
D | libsas.h | 680 extern void sas_prep_resume_ha(struct sas_ha_struct *sas_ha); 681 extern void sas_resume_ha(struct sas_ha_struct *sas_ha); 682 extern void sas_suspend_ha(struct sas_ha_struct *sas_ha);
|
/linux-4.4.14/drivers/scsi/pm8001/ |
D | pm8001_hwi.c | 3232 struct sas_ha_struct *sas_ha; in pm8001_bytes_dmaed() local 3236 sas_ha = pm8001_ha->sas; in pm8001_bytes_dmaed() 3371 struct sas_ha_struct *sas_ha = pm8001_ha->sas; in hw_event_sas_phy_up() local 3418 sas_ha->notify_phy_event(&phy->sas_phy, PHYE_OOB_DONE); in hw_event_sas_phy_up() 3450 struct sas_ha_struct *sas_ha = pm8001_ha->sas; in hw_event_sata_phy_up() local 3463 sas_ha->notify_phy_event(&phy->sas_phy, PHYE_OOB_DONE); in hw_event_sata_phy_up() 3792 struct sas_ha_struct *sas_ha = pm8001_ha->sas; in mpi_hw_event() local 3794 struct asd_sas_phy *sas_phy = sas_ha->sas_phy[phy_id]; in mpi_hw_event() 3828 sas_ha->notify_phy_event(&phy->sas_phy, PHYE_SPINUP_HOLD); in mpi_hw_event() 3833 sas_ha->notify_phy_event(&phy->sas_phy, PHYE_LOSS_OF_SIGNAL); in mpi_hw_event() [all …]
|
D | pm80xx_hwi.c | 2906 struct sas_ha_struct *sas_ha = pm8001_ha->sas; in hw_event_sas_phy_up() local 2955 sas_ha->notify_phy_event(&phy->sas_phy, PHYE_OOB_DONE); in hw_event_sas_phy_up() 2989 struct sas_ha_struct *sas_ha = pm8001_ha->sas; in hw_event_sata_phy_up() local 3003 sas_ha->notify_phy_event(&phy->sas_phy, PHYE_OOB_DONE); in hw_event_sata_phy_up() 3160 struct sas_ha_struct *sas_ha = pm8001_ha->sas; in mpi_hw_event() local 3163 struct asd_sas_phy *sas_phy = sas_ha->sas_phy[phy_id]; in mpi_hw_event() 3183 sas_ha->notify_phy_event(&phy->sas_phy, PHYE_SPINUP_HOLD); in mpi_hw_event() 3189 sas_ha->notify_phy_event(&phy->sas_phy, in mpi_hw_event() 3200 sas_ha->notify_port_event(sas_phy, PORTE_LINK_RESET_ERR); in mpi_hw_event() 3212 sas_ha->notify_port_event(sas_phy, PORTE_BROADCAST_RCVD); in mpi_hw_event() [all …]
|
/linux-4.4.14/drivers/scsi/mvsas/ |
D | mv_sas.c | 239 struct sas_ha_struct *sas_ha; in mvs_bytes_dmaed() local 248 sas_ha = mvi->sas; in mvs_bytes_dmaed() 249 sas_ha->notify_phy_event(sas_phy, PHYE_OOB_DONE); in mvs_bytes_dmaed() 1089 struct sas_ha_struct *sas_ha = sas_phy->ha; in mvs_port_notify_formed() local 1098 while (sas_ha->sas_phy[i]) { in mvs_port_notify_formed() 1099 if (sas_ha->sas_phy[i] == sas_phy) in mvs_port_notify_formed() 1103 hi = i/((struct mvs_prv_info *)sas_ha->lldd_ha)->n_phy; in mvs_port_notify_formed() 1104 mvi = ((struct mvs_prv_info *)sas_ha->lldd_ha)->mvi[hi]; in mvs_port_notify_formed() 1895 struct sas_ha_struct *sas_ha = mvi->sas; in mvs_work_queue() local 1911 sas_ha->notify_phy_event(sas_phy, in mvs_work_queue() [all …]
|