Lines Matching refs:sas_ha
21 static void sas_host_smp_discover(struct sas_ha_struct *sas_ha, u8 *resp_data,
27 if (phy_id >= sas_ha->num_phys) {
33 phy = sas_ha->sas_phy[phy_id]->phy;
36 memcpy(resp_data + 16, sas_ha->sas_addr, SAS_ADDR_SIZE);
37 memcpy(resp_data + 24, sas_ha->sas_phy[phy_id]->attached_sas_addr,
44 if (!sas_ha->sas_phy[phy_id]->port ||
45 !sas_ha->sas_phy[phy_id]->port->port_dev)
48 rphy = sas_ha->sas_phy[phy_id]->port->port_dev->rphy;
54 static void sas_report_phy_sata(struct sas_ha_struct *sas_ha, u8 *resp_data,
61 if (phy_id >= sas_ha->num_phys) {
68 if (!sas_ha->sas_phy[phy_id]->port)
71 rphy = sas_ha->sas_phy[phy_id]->port->port_dev->rphy;
73 sas_ha->sas_phy[phy_id]->port->port_dev->frame_rcvd;
79 memcpy(resp_data + 16, sas_ha->sas_phy[phy_id]->attached_sas_addr,
89 &sas_ha->sas_phy[phy_id]->port->port_dev->frame_rcvd[i];
97 static void sas_phy_control(struct sas_ha_struct *sas_ha, u8 phy_id,
102 to_sas_internal(sas_ha->core.shost->transportt);
105 if (phy_id >= sas_ha->num_phys) {
127 if (i->dft->lldd_control_phy(sas_ha->sas_phy[phy_id], phy_op, &rates))
137 struct sas_ha_struct *sas_ha = SHOST_TO_SAS_HA(shost);
185 resp_data[9] = sas_ha->num_phys;
209 sas_host_smp_discover(sas_ha, resp_data, req_data[9]);
223 sas_report_phy_sata(sas_ha, resp_data, req_data[9]);
245 sas_phy_control(sas_ha, req_data[9], req_data[10],