Lines Matching refs:ex_phy

149 static char sas_route_char(struct domain_device *dev, struct ex_phy *phy)
187 struct ex_phy *phy = &ex->ex_phy[phy_id];
330 struct ex_phy *ex_phy = &ex_dev->ex_dev.ex_phy[phy_id];
334 if (!ex_phy->port)
337 rphy = ex_phy->port->rphy;
415 ex->ex_phy = kcalloc(ex->num_phys, sizeof(*ex->ex_phy), GFP_KERNEL);
416 if (!ex->ex_phy)
425 kfree(ex->ex_phy);
426 ex->ex_phy = NULL;
598 struct ex_phy *phy = &ex->ex_phy[phy_id];
610 struct ex_phy *phy = &ex->ex_phy[i];
724 struct ex_phy *parent_phy)
735 struct ex_phy *phy = &parent_ex->ex_phy[i];
754 static int sas_ex_add_dev(struct domain_device *parent, struct ex_phy *phy,
792 struct ex_phy *phy = &parent_ex->ex_phy[phy_id];
849 struct ex_phy *phy = &parent->ex_dev.ex_phy[phy_id];
853 struct ex_phy *ephy = &parent->ex_dev.ex_phy[i];
874 struct ex_phy *phy = &parent->ex_dev.ex_phy[phy_id];
952 struct ex_phy *ex_phy = &ex->ex_phy[phy_id];
957 if (ex_phy->linkrate == SAS_SATA_SPINUP_HOLD) {
965 if (!dev->parent && sas_phy_match_port_addr(dev->port, ex_phy)) {
969 if (dev->parent && sas_phy_match_dev_addr(dev->parent, ex_phy)) {
971 if (ex_phy->routing_attr == TABLE_ROUTING)
976 if (sas_dev_present_in_domain(dev->port, ex_phy->attached_sas_addr))
977 sas_ex_disable_port(dev, ex_phy->attached_sas_addr);
979 if (ex_phy->attached_dev_type == SAS_PHY_UNUSED) {
980 if (ex_phy->routing_attr == DIRECT_ROUTING) {
981 memset(ex_phy->attached_sas_addr, 0, SAS_ADDR_SIZE);
982 sas_configure_routing(dev, ex_phy->attached_sas_addr);
985 } else if (ex_phy->linkrate == SAS_LINK_RATE_UNKNOWN)
988 if (ex_phy->attached_dev_type != SAS_END_DEVICE &&
989 ex_phy->attached_dev_type != SAS_FANOUT_EXPANDER_DEVICE &&
990 ex_phy->attached_dev_type != SAS_EDGE_EXPANDER_DEVICE &&
991 ex_phy->attached_dev_type != SAS_SATA_PENDING) {
993 ex_phy->attached_dev_type,
999 res = sas_configure_routing(dev, ex_phy->attached_sas_addr);
1002 SAS_ADDR(ex_phy->attached_sas_addr), res);
1003 sas_disable_routing(dev, ex_phy->attached_sas_addr);
1009 phy_id, SAS_ADDR(ex_phy->attached_sas_addr));
1013 switch (ex_phy->attached_dev_type) {
1021 SAS_ADDR(ex_phy->attached_sas_addr),
1022 ex_phy->attached_phy_id,
1029 ex_phy->attached_sas_addr, SAS_ADDR_SIZE);
1050 struct ex_phy *phy = &ex->ex_phy[i];
1117 struct ex_phy *ex_phy = &ex->ex_phy[i];
1119 if (ex_phy->phy_state == PHY_VACANT ||
1120 ex_phy->phy_state == PHY_NOT_PRESENT ||
1121 ex_phy->phy_state == PHY_DEVICE_DISCOVERED)
1124 switch (ex_phy->linkrate) {
1153 struct ex_phy *phy = &ex->ex_phy[i];
1179 struct ex_phy *parent_phy,
1180 struct ex_phy *child_phy)
1213 struct ex_phy *parent_phy,
1214 struct ex_phy *child_phy)
1244 struct ex_phy *parent_phy)
1248 struct ex_phy *child_phy;
1250 child_phy = &child_ex->ex_phy[parent_phy->attached_phy_id];
1275 struct ex_phy *parent_phy)
1278 struct ex_phy *child_phy;
1280 child_phy = &child_ex->ex_phy[parent_phy->attached_phy_id];
1306 struct ex_phy *parent_phy = &parent_ex->ex_phy[i];
1340 struct ex_phy *phy = &ex->ex_phy[phy_id];
1493 struct ex_phy *phy = &ex_parent->ex_phy[i];
1709 if (phy_change_count != ex->ex_phy[i].phy_change_count) {
1711 ex->ex_phy[i].phy_change_count =
1826 struct ex_phy *phy = &ex_dev->ex_phy[phy_id];
1896 struct ex_phy *ex_phy = &dev->ex_dev.ex_phy[phy_id];
1913 if (sas_phy_match_dev_addr(child, ex_phy)) {
1941 struct ex_phy *phy = &ex->ex_phy[phy_id];
2021 struct ex_phy *changed_phy = &ex->ex_phy[phy_id];
2031 struct ex_phy *phy = &ex->ex_phy[i];
2080 struct ex_phy *phy;
2084 phy = &ex_dev->ex_phy[phy_id];