Lines Matching refs:ex_phy
166 static char sas_route_char(struct domain_device *dev, struct ex_phy *phy)
204 struct ex_phy *phy = &ex->ex_phy[phy_id];
347 struct ex_phy *ex_phy = &ex_dev->ex_dev.ex_phy[phy_id];
351 if (!ex_phy->port)
354 rphy = ex_phy->port->rphy;
432 ex->ex_phy = kcalloc(ex->num_phys, sizeof(*ex->ex_phy), GFP_KERNEL);
433 if (!ex->ex_phy)
442 kfree(ex->ex_phy);
443 ex->ex_phy = NULL;
620 struct ex_phy *phy = &ex->ex_phy[phy_id];
632 struct ex_phy *phy = &ex->ex_phy[i];
746 struct ex_phy *parent_phy)
757 struct ex_phy *phy = &parent_ex->ex_phy[i];
782 struct ex_phy *phy = &parent_ex->ex_phy[phy_id];
916 struct ex_phy *phy = &parent->ex_dev.ex_phy[phy_id];
920 struct ex_phy *ephy = &parent->ex_dev.ex_phy[i];
941 struct ex_phy *phy = &parent->ex_dev.ex_phy[phy_id];
1019 struct ex_phy *ex_phy = &ex->ex_phy[phy_id];
1024 if (ex_phy->linkrate == SAS_SATA_SPINUP_HOLD) {
1032 if (!dev->parent && (SAS_ADDR(ex_phy->attached_sas_addr) ==
1037 if (dev->parent && (SAS_ADDR(ex_phy->attached_sas_addr) ==
1040 if (ex_phy->routing_attr == TABLE_ROUTING)
1045 if (sas_dev_present_in_domain(dev->port, ex_phy->attached_sas_addr))
1046 sas_ex_disable_port(dev, ex_phy->attached_sas_addr);
1048 if (ex_phy->attached_dev_type == SAS_PHY_UNUSED) {
1049 if (ex_phy->routing_attr == DIRECT_ROUTING) {
1050 memset(ex_phy->attached_sas_addr, 0, SAS_ADDR_SIZE);
1051 sas_configure_routing(dev, ex_phy->attached_sas_addr);
1054 } else if (ex_phy->linkrate == SAS_LINK_RATE_UNKNOWN)
1057 if (ex_phy->attached_dev_type != SAS_END_DEVICE &&
1058 ex_phy->attached_dev_type != SAS_FANOUT_EXPANDER_DEVICE &&
1059 ex_phy->attached_dev_type != SAS_EDGE_EXPANDER_DEVICE &&
1060 ex_phy->attached_dev_type != SAS_SATA_PENDING) {
1062 ex_phy->attached_dev_type,
1068 res = sas_configure_routing(dev, ex_phy->attached_sas_addr);
1071 SAS_ADDR(ex_phy->attached_sas_addr), res);
1072 sas_disable_routing(dev, ex_phy->attached_sas_addr);
1078 phy_id, SAS_ADDR(ex_phy->attached_sas_addr));
1082 switch (ex_phy->attached_dev_type) {
1090 SAS_ADDR(ex_phy->attached_sas_addr),
1091 ex_phy->attached_phy_id,
1098 ex_phy->attached_sas_addr, SAS_ADDR_SIZE);
1119 struct ex_phy *phy = &ex->ex_phy[i];
1186 struct ex_phy *ex_phy = &ex->ex_phy[i];
1188 if (ex_phy->phy_state == PHY_VACANT ||
1189 ex_phy->phy_state == PHY_NOT_PRESENT ||
1190 ex_phy->phy_state == PHY_DEVICE_DISCOVERED)
1193 switch (ex_phy->linkrate) {
1222 struct ex_phy *phy = &ex->ex_phy[i];
1248 struct ex_phy *parent_phy,
1249 struct ex_phy *child_phy)
1271 struct ex_phy *parent_phy,
1272 struct ex_phy *child_phy)
1330 struct ex_phy *parent_phy = &parent_ex->ex_phy[i];
1331 struct ex_phy *child_phy;
1340 child_phy = &child_ex->ex_phy[parent_phy->attached_phy_id];
1391 struct ex_phy *phy = &ex->ex_phy[phy_id];
1543 struct ex_phy *phy = &ex_parent->ex_phy[i];
1764 if (phy_change_count != ex->ex_phy[i].phy_change_count) {
1766 ex->ex_phy[i].phy_change_count =
1881 struct ex_phy *phy = &ex_dev->ex_phy[phy_id];
1952 struct ex_phy *ex_phy = &dev->ex_dev.ex_phy[phy_id];
1970 SAS_ADDR(ex_phy->attached_sas_addr)) {
1998 struct ex_phy *phy = &ex->ex_phy[phy_id];
2078 struct ex_phy *changed_phy = &ex->ex_phy[phy_id];
2088 struct ex_phy *phy = &ex->ex_phy[i];