Lines Matching refs:ha
97 task->dev->port->ha->sas_ha_name); in sas_end_task()
122 struct sas_ha_struct *ha = dev->port->ha; in sas_scsi_task_done() local
126 if (test_bit(SAS_HA_FROZEN, &ha->state)) in sas_scsi_task_done()
243 struct sas_ha_struct *ha = dev->port->ha; in sas_eh_defer_cmd() local
253 list_move_tail(&cmd->eh_entry, &ha->eh_ata_q); in sas_eh_defer_cmd()
307 to_sas_internal(task->dev->port->ha->core.shost->transportt); in sas_scsi_find_task()
355 to_sas_internal(dev->port->ha->core.shost->transportt); in sas_recover_lu()
383 to_sas_internal(dev->port->ha->core.shost->transportt); in sas_recover_I_T()
397 struct sas_ha_struct *ha = dev->port->ha; in sas_get_local_phy() local
406 spin_lock_irqsave(&ha->phy_port_lock, flags); in sas_get_local_phy()
409 spin_unlock_irqrestore(&ha->phy_port_lock, flags); in sas_get_local_phy()
417 struct sas_ha_struct *ha = dev->port->ha; in sas_wait_eh() local
425 spin_lock_irq(&ha->lock); in sas_wait_eh()
428 prepare_to_wait(&ha->eh_wait_q, &wait, TASK_UNINTERRUPTIBLE); in sas_wait_eh()
429 spin_unlock_irq(&ha->lock); in sas_wait_eh()
431 spin_lock_irq(&ha->lock); in sas_wait_eh()
433 finish_wait(&ha->eh_wait_q, &wait); in sas_wait_eh()
435 spin_unlock_irq(&ha->lock); in sas_wait_eh()
438 if (scsi_host_in_recovery(ha->core.shost)) { in sas_wait_eh()
448 struct sas_ha_struct *ha = dev->port->ha; in sas_queue_reset() local
460 spin_lock_irq(&ha->lock); in sas_queue_reset()
464 ha->eh_active++; in sas_queue_reset()
465 list_add_tail(&dev->ssp_dev.eh_list_node, &ha->eh_dev_q); in sas_queue_reset()
469 scsi_schedule_eh(ha->core.shost); in sas_queue_reset()
471 spin_unlock_irq(&ha->lock); in sas_queue_reset()
580 struct sas_ha_struct *ha = SHOST_TO_SAS_HA(shost); in sas_eh_handle_sas_errors() local
678 res = i->dft->lldd_clear_nexus_ha(ha); in sas_eh_handle_sas_errors()
701 list_splice_tail_init(&ha->eh_ata_q, work_q); in sas_eh_handle_sas_errors()
713 struct sas_ha_struct *ha = SHOST_TO_SAS_HA(shost); in sas_eh_handle_resets() local
717 spin_lock_irq(&ha->lock); in sas_eh_handle_resets()
718 while (!list_empty(&ha->eh_dev_q)) { in sas_eh_handle_resets()
722 ssp = list_entry(ha->eh_dev_q.next, typeof(*ssp), eh_list_node); in sas_eh_handle_resets()
728 spin_unlock_irq(&ha->lock); in sas_eh_handle_resets()
737 spin_lock_irq(&ha->lock); in sas_eh_handle_resets()
739 ha->eh_active--; in sas_eh_handle_resets()
741 spin_unlock_irq(&ha->lock); in sas_eh_handle_resets()
747 struct sas_ha_struct *ha = SHOST_TO_SAS_HA(shost); in sas_scsi_recover_host() local
766 set_bit(SAS_HA_FROZEN, &ha->state); in sas_scsi_recover_host()
768 clear_bit(SAS_HA_FROZEN, &ha->state); in sas_scsi_recover_host()
778 sas_ata_eh(shost, &eh_work_q, &ha->eh_done_q); in sas_scsi_recover_host()
779 if (!scsi_eh_get_sense(&eh_work_q, &ha->eh_done_q)) in sas_scsi_recover_host()
780 scsi_eh_ready_devs(shost, &eh_work_q, &ha->eh_done_q); in sas_scsi_recover_host()
788 scsi_eh_flush_done_q(&ha->eh_done_q); in sas_scsi_recover_host()
791 spin_lock_irq(&ha->lock); in sas_scsi_recover_host()
792 if (ha->eh_active == 0) { in sas_scsi_recover_host()
796 spin_unlock_irq(&ha->lock); in sas_scsi_recover_host()
826 struct sas_ha_struct *ha = SHOST_TO_SAS_HA(shost); in sas_find_dev_by_rphy() local
831 spin_lock_irqsave(&ha->phy_port_lock, flags); in sas_find_dev_by_rphy()
832 for (i = 0; i < ha->num_phys; i++) { in sas_find_dev_by_rphy()
833 struct asd_sas_port *port = ha->sas_port[i]; in sas_find_dev_by_rphy()
847 spin_unlock_irqrestore(&ha->phy_port_lock, flags); in sas_find_dev_by_rphy()
879 sas_ha = dev->port->ha; in sas_slave_configure()