Lines Matching refs:sas_ha
19 static void sas_host_smp_discover(struct sas_ha_struct *sas_ha, u8 *resp_data, in sas_host_smp_discover() argument
25 if (phy_id >= sas_ha->num_phys) { in sas_host_smp_discover()
31 phy = sas_ha->sas_phy[phy_id]->phy; in sas_host_smp_discover()
34 memcpy(resp_data + 16, sas_ha->sas_addr, SAS_ADDR_SIZE); in sas_host_smp_discover()
35 memcpy(resp_data + 24, sas_ha->sas_phy[phy_id]->attached_sas_addr, in sas_host_smp_discover()
42 if (!sas_ha->sas_phy[phy_id]->port || in sas_host_smp_discover()
43 !sas_ha->sas_phy[phy_id]->port->port_dev) in sas_host_smp_discover()
46 rphy = sas_ha->sas_phy[phy_id]->port->port_dev->rphy; in sas_host_smp_discover()
113 static int sas_host_smp_write_gpio(struct sas_ha_struct *sas_ha, u8 *resp_data, in sas_host_smp_write_gpio() argument
117 struct sas_internal *i = to_sas_internal(sas_ha->shost->transportt); in sas_host_smp_write_gpio()
125 written = i->dft->lldd_write_gpio(sas_ha, reg_type, reg_index, in sas_host_smp_write_gpio()
137 static void sas_report_phy_sata(struct sas_ha_struct *sas_ha, u8 *resp_data, in sas_report_phy_sata() argument
144 if (phy_id >= sas_ha->num_phys) { in sas_report_phy_sata()
151 if (!sas_ha->sas_phy[phy_id]->port) in sas_report_phy_sata()
154 rphy = sas_ha->sas_phy[phy_id]->port->port_dev->rphy; in sas_report_phy_sata()
156 sas_ha->sas_phy[phy_id]->port->port_dev->frame_rcvd; in sas_report_phy_sata()
162 memcpy(resp_data + 16, sas_ha->sas_phy[phy_id]->attached_sas_addr, in sas_report_phy_sata()
172 &sas_ha->sas_phy[phy_id]->port->port_dev->frame_rcvd[i]; in sas_report_phy_sata()
180 static void sas_phy_control(struct sas_ha_struct *sas_ha, u8 phy_id, in sas_phy_control() argument
185 to_sas_internal(sas_ha->shost->transportt); in sas_phy_control()
189 if (phy_id >= sas_ha->num_phys) { in sas_phy_control()
194 asd_phy = sas_ha->sas_phy[phy_id]; in sas_phy_control()
227 struct sas_ha_struct *sas_ha = SHOST_TO_SAS_HA(shost); in sas_smp_host_handler() local
264 resp_data[9] = sas_ha->num_phys; in sas_smp_host_handler()
284 sas_host_smp_discover(sas_ha, resp_data, req_data[9]); in sas_smp_host_handler()
296 sas_report_phy_sata(sas_ha, resp_data, req_data[9]); in sas_smp_host_handler()
315 to_write = sas_host_smp_write_gpio(sas_ha, resp_data, req_data[2], in sas_smp_host_handler()
328 sas_phy_control(sas_ha, req_data[9], req_data[10], in sas_smp_host_handler()