Home
last modified time | relevance | path

Searched refs:sas_ha (Results 1 – 25 of 28) sorted by relevance

12

/Linux-v4.19/drivers/scsi/libsas/
Dsas_init.c111 int sas_register_ha(struct sas_ha_struct *sas_ha) in sas_register_ha() argument
116 mutex_init(&sas_ha->disco_mutex); in sas_register_ha()
117 spin_lock_init(&sas_ha->phy_port_lock); in sas_register_ha()
118 sas_hash_addr(sas_ha->hashed_sas_addr, sas_ha->sas_addr); in sas_register_ha()
120 set_bit(SAS_HA_REGISTERED, &sas_ha->state); in sas_register_ha()
121 spin_lock_init(&sas_ha->lock); in sas_register_ha()
122 mutex_init(&sas_ha->drain_mutex); in sas_register_ha()
123 init_waitqueue_head(&sas_ha->eh_wait_q); in sas_register_ha()
124 INIT_LIST_HEAD(&sas_ha->defer_q); in sas_register_ha()
125 INIT_LIST_HEAD(&sas_ha->eh_dev_q); in sas_register_ha()
[all …]
Dsas_host_smp.c22 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 …]
Dsas_port.c33 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()
96 struct sas_ha_struct *sas_ha = phy->ha; in sas_form_port() local
99 to_sas_internal(sas_ha->core.shost->transportt); in sas_form_port()
110 wake_up(&sas_ha->eh_wait_q); in sas_form_port()
121 spin_lock_irqsave(&sas_ha->phy_port_lock, flags); in sas_form_port()
122 for (i = 0; i < sas_ha->num_phys; i++) { in sas_form_port()
123 port = sas_ha->sas_port[i]; in sas_form_port()
[all …]
Dsas_phy.c56 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()
85 struct sas_ha_struct *sas_ha = phy->ha; in sas_phye_spinup_hold() local
87 to_sas_internal(sas_ha->core.shost->transportt); in sas_phye_spinup_hold()
114 struct sas_ha_struct *sas_ha = phy->ha; in sas_phye_shutdown() local
116 to_sas_internal(sas_ha->core.shost->transportt); in sas_phye_shutdown()
134 int sas_register_phys(struct sas_ha_struct *sas_ha) in sas_register_phys() argument
139 for (i = 0; i < sas_ha->num_phys; i++) { in sas_register_phys()
140 struct asd_sas_phy *phy = sas_ha->sas_phy[i]; in sas_register_phys()
147 phy->ha = sas_ha; in sas_register_phys()
[all …]
Dsas_internal.h61 int sas_register_phys(struct sas_ha_struct *sas_ha);
62 void sas_unregister_phys(struct sas_ha_struct *sas_ha);
67 int sas_register_ports(struct sas_ha_struct *sas_ha);
68 void sas_unregister_ports(struct sas_ha_struct *sas_ha);
70 int sas_init_events(struct sas_ha_struct *sas_ha);
Dsas_ata.c101 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()
185 struct sas_ha_struct *sas_ha = dev->port->ha; in sas_ata_qc_issue() local
186 struct Scsi_Host *host = sas_ha->core.shost; in sas_ata_qc_issue()
761 struct sas_ha_struct *sas_ha = SHOST_TO_SAS_HA(shost); in sas_ata_strategy_handler() local
773 sas_disable_revalidation(sas_ha); in sas_ata_strategy_handler()
775 spin_lock_irq(&sas_ha->phy_port_lock); in sas_ata_strategy_handler()
776 for (i = 0; i < sas_ha->num_phys; i++) { in sas_ata_strategy_handler()
777 struct asd_sas_port *port = sas_ha->sas_port[i]; in sas_ata_strategy_handler()
795 spin_unlock_irq(&sas_ha->phy_port_lock); in sas_ata_strategy_handler()
[all …]
Dsas_event.c193 int sas_init_events(struct sas_ha_struct *sas_ha) in sas_init_events() argument
195 sas_ha->notify_port_event = sas_notify_port_event; in sas_init_events()
196 sas_ha->notify_phy_event = sas_notify_phy_event; in sas_init_events()
Dsas_discover.c180 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()
Dsas_scsi_host.c225 struct sas_ha_struct *sas_ha = SHOST_TO_SAS_HA(cmd->device->host); in sas_eh_finish_cmd() local
239 list_move_tail(&cmd->eh_entry, &sas_ha->eh_ata_q); in sas_eh_finish_cmd()
247 scsi_eh_finish_cmd(cmd, &sas_ha->eh_done_q); in sas_eh_finish_cmd()
/Linux-v4.19/drivers/scsi/isci/
Dinit.c137 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 …]
Dhost.h198 struct sas_ha_struct sas_ha; member
309 return ihost->sas_ha.core.shost; in to_shost()
Dport.c167 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()
Dhost.c2792 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()
/Linux-v4.19/drivers/scsi/aic94xx/
Daic94xx_scb.c89 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 …]
Daic94xx_init.c686 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 err = sas_unregister_ha(&asd_ha->sas_ha); in asd_unregister_sas_ha()
708 sas_remove_host(asd_ha->sas_ha.core.shost); in asd_unregister_sas_ha()
709 scsi_host_put(asd_ha->sas_ha.core.shost); in asd_unregister_sas_ha()
[all …]
Daic94xx.h96 int asd_clear_nexus_ha(struct sas_ha_struct *sas_ha);
Daic94xx_tmf.c133 int asd_clear_nexus_ha(struct sas_ha_struct *sas_ha) in asd_clear_nexus_ha() argument
135 struct asd_ha_struct *asd_ha = sas_ha->lldd_ha; in asd_clear_nexus_ha()
Daic94xx_hwi.h202 struct sas_ha_struct sas_ha; member
Daic94xx_hwi.c49 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()
/Linux-v4.19/Documentation/scsi/
Dlibsas.txt127 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-v4.19/drivers/scsi/hisi_sas/
Dhisi_sas_main.c512 struct sas_ha_struct *sas_ha; in hisi_sas_bytes_dmaed() local
517 sas_ha = &hisi_hba->sha; in hisi_sas_bytes_dmaed()
518 sas_ha->notify_phy_event(sas_phy, PHYE_OOB_DONE); in hisi_sas_bytes_dmaed()
546 sas_ha->notify_port_event(sas_phy, PORTE_BYTES_DMAED); in hisi_sas_bytes_dmaed()
780 struct sas_ha_struct *sas_ha = sas_phy->ha; in hisi_sas_port_notify_formed() local
781 struct hisi_hba *hisi_hba = sas_ha->lldd_ha; in hisi_sas_port_notify_formed()
916 struct sas_ha_struct *sas_ha = sas_phy->ha; in hisi_sas_control_phy() local
917 struct hisi_hba *hisi_hba = sas_ha->lldd_ha; in hisi_sas_control_phy()
1186 struct sas_ha_struct *sas_ha = &hisi_hba->sha; in hisi_sas_rescan_topology() local
1207 sas_ha->notify_port_event(sas_phy, in hisi_sas_rescan_topology()
[all …]
/Linux-v4.19/include/scsi/
Dlibsas.h670 extern void sas_prep_resume_ha(struct sas_ha_struct *sas_ha);
671 extern void sas_resume_ha(struct sas_ha_struct *sas_ha);
672 extern void sas_suspend_ha(struct sas_ha_struct *sas_ha);
/Linux-v4.19/drivers/scsi/pm8001/
Dpm8001_hwi.c3241 struct sas_ha_struct *sas_ha; in pm8001_bytes_dmaed() local
3245 sas_ha = pm8001_ha->sas; in pm8001_bytes_dmaed()
3380 struct sas_ha_struct *sas_ha = pm8001_ha->sas; in hw_event_sas_phy_up() local
3427 sas_ha->notify_phy_event(&phy->sas_phy, PHYE_OOB_DONE); in hw_event_sas_phy_up()
3459 struct sas_ha_struct *sas_ha = pm8001_ha->sas; in hw_event_sata_phy_up() local
3472 sas_ha->notify_phy_event(&phy->sas_phy, PHYE_OOB_DONE); in hw_event_sata_phy_up()
3801 struct sas_ha_struct *sas_ha = pm8001_ha->sas; in mpi_hw_event() local
3803 struct asd_sas_phy *sas_phy = sas_ha->sas_phy[phy_id]; in mpi_hw_event()
3837 sas_ha->notify_phy_event(&phy->sas_phy, PHYE_SPINUP_HOLD); in mpi_hw_event()
3842 sas_ha->notify_phy_event(&phy->sas_phy, PHYE_LOSS_OF_SIGNAL); in mpi_hw_event()
[all …]
Dpm80xx_hwi.c2920 struct sas_ha_struct *sas_ha = pm8001_ha->sas; in hw_event_sas_phy_up() local
2969 sas_ha->notify_phy_event(&phy->sas_phy, PHYE_OOB_DONE); in hw_event_sas_phy_up()
3003 struct sas_ha_struct *sas_ha = pm8001_ha->sas; in hw_event_sata_phy_up() local
3017 sas_ha->notify_phy_event(&phy->sas_phy, PHYE_OOB_DONE); in hw_event_sata_phy_up()
3101 struct sas_ha_struct *sas_ha = pm8001_ha->sas; in hw_event_phy_down() local
3103 sas_ha->notify_phy_event(&phy->sas_phy, PHYE_LOSS_OF_SIGNAL); in hw_event_phy_down()
3179 struct sas_ha_struct *sas_ha = pm8001_ha->sas; in mpi_hw_event() local
3182 struct asd_sas_phy *sas_phy = sas_ha->sas_phy[phy_id]; in mpi_hw_event()
3202 sas_ha->notify_phy_event(&phy->sas_phy, PHYE_SPINUP_HOLD); in mpi_hw_event()
3221 sas_ha->notify_port_event(sas_phy, PORTE_LINK_RESET_ERR); in mpi_hw_event()
[all …]
/Linux-v4.19/drivers/scsi/mvsas/
Dmv_sas.c239 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()
1094 struct sas_ha_struct *sas_ha = sas_phy->ha; in mvs_port_notify_formed() local
1103 while (sas_ha->sas_phy[i]) { in mvs_port_notify_formed()
1104 if (sas_ha->sas_phy[i] == sas_phy) in mvs_port_notify_formed()
1108 hi = i/((struct mvs_prv_info *)sas_ha->lldd_ha)->n_phy; in mvs_port_notify_formed()
1109 mvi = ((struct mvs_prv_info *)sas_ha->lldd_ha)->mvi[hi]; in mvs_port_notify_formed()
1900 struct sas_ha_struct *sas_ha = mvi->sas; in mvs_work_queue() local
1916 sas_ha->notify_phy_event(sas_phy, in mvs_work_queue()
[all …]

12