Lines Matching refs:ex
186 struct expander_device *ex = &dev->ex_dev;
187 struct ex_phy *phy = &ex->ex_phy[phy_id];
375 struct expander_device *ex = &dev->ex_dev;
392 if (0 <= single && single < ex->num_phys) {
397 for (i = 0; i < ex->num_phys; i++) {
412 struct expander_device *ex = &dev->ex_dev;
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;
460 pr_notice("RG to ex %016llx failed:0x%x\n",
464 pr_debug("RG:ex %016llx returned SMP result:0x%x\n",
481 pr_debug("RG: ex %016llx self-configuring...\n",
536 pr_notice("MI: ex %016llx failed:0x%x\n",
540 pr_debug("MI ex %016llx returned SMP result:0x%x\n",
583 pr_err("ex %016llx phy%02d PHY control failed: %d\n",
586 pr_err("ex %016llx phy%02d PHY control failed: function result 0x%x\n",
597 struct expander_device *ex = &dev->ex_dev;
598 struct ex_phy *phy = &ex->ex_phy[phy_id];
606 struct expander_device *ex = &dev->ex_dev;
609 for (i = 0; i < ex->num_phys; i++) {
610 struct ex_phy *phy = &ex->ex_phy[i];
882 pr_warn("ex %016llx:%02d:D <--> ex %016llx:0x%x is not allowed\n",
951 struct expander_device *ex = &dev->ex_dev;
952 struct ex_phy *ex_phy = &ex->ex_phy[phy_id];
992 pr_warn("unknown device type(0x%x) attached to ex %016llx phy%02d\n",
1008 pr_debug("Attaching ex phy%02d to wide port %016llx\n",
1020 pr_debug("second fanout expander %016llx phy%02d attached to ex %016llx phy%02d\n",
1039 pr_notice("ex %016llx phy%02d failed to discover\n",
1046 struct expander_device *ex = &dev->ex_dev;
1049 for (i = 0; i < ex->num_phys; i++) {
1050 struct ex_phy *phy = &ex->ex_phy[i];
1069 struct expander_device *ex = &dev->ex_dev;
1073 list_for_each_entry(child, &ex->children, siblings) {
1085 pr_notice("ex %016llx->%016llx-?->%016llx diverges from subtractive boundary %016llx\n",
1107 struct expander_device *ex = &dev->ex_dev;
1108 int i = 0, end = ex->num_phys;
1117 struct ex_phy *ex_phy = &ex->ex_phy[i];
1145 struct expander_device *ex = &dev->ex_dev;
1152 for (i = 0; i < ex->num_phys; i++) {
1153 struct ex_phy *phy = &ex->ex_phy[i];
1167 pr_notice("ex %016llx phy%02d diverges(%016llx) on subtractive boundary(%016llx). Disabled\n",
1188 pr_notice("%s ex %016llx phy%02d <--> %s ex %016llx phy%02d has %c:%c routing link!\n",
1222 pr_warn("edge ex %016llx phy S:%02d <--> edge ex %016llx phy S:%02d, while there is a fanout ex %016llx\n",
1233 pr_warn("edge ex %016llx phy%02d <--> edge ex %016llx phy%02d link forms a third EEDS!\n",
1339 struct expander_device *ex = &dev->ex_dev;
1340 struct ex_phy *phy = &ex->ex_phy[phy_id];
1360 for (i = 0; i < ex->max_route_indexes ; i++) {
1487 pr_debug("ex %016llx has self-configuring routing table\n",
1570 struct sas_expander_device *ex =
1573 if (level == ex->level)
1601 struct sas_expander_device *ex = rphy_to_expander_device(dev->rphy);
1607 ex->level = dev->port->disc.max_level; /* 0 */
1691 struct expander_device *ex = &dev->ex_dev;
1695 for (i = from_phy; i < ex->num_phys; i++) {
1709 if (phy_change_count != ex->ex_phy[i].phy_change_count) {
1711 ex->ex_phy[i].phy_change_count =
1771 struct expander_device *ex = &dev->ex_dev;
1780 if (ex_change_count != -1 && ex_change_count != ex->ex_change_count) {
1788 ex->ex_change_count = ex_change_count;
1789 pr_info("ex %016llx phy%02d change count has changed\n",
1793 pr_info("ex %016llx phys DID NOT change\n",
1796 list_for_each_entry(ch, &ex->children, siblings) {
1809 struct expander_device *ex = &dev->ex_dev;
1812 list_for_each_entry_safe(child, n, &ex->children, siblings) {
1863 struct sas_expander_device *ex =
1866 if (level > ex->level)
1869 else if (level == ex->level)
1879 struct sas_expander_device *ex = rphy_to_expander_device(dev->rphy);
1880 int level = ex->level+1;
1900 pr_debug("ex %016llx phy%02d new device attached\n",
1940 struct expander_device *ex = &dev->ex_dev;
1941 struct ex_phy *phy = &ex->ex_phy[phy_id];
1950 pr_debug("ex %016llx rediscovering phy%02d%s\n",
1990 pr_debug("ex %016llx phy%02d broadcast flutter%s\n",
1996 pr_info("ex %016llx phy%02d replace %016llx\n",
2020 struct expander_device *ex = &dev->ex_dev;
2021 struct ex_phy *changed_phy = &ex->ex_phy[phy_id];
2026 pr_debug("ex %016llx phy%02d originated BROADCAST(CHANGE)\n",
2030 for (i = 0; i < ex->num_phys; i++) {
2031 struct ex_phy *phy = &ex->ex_phy[i];
2062 struct expander_device *ex = &dev->ex_dev;
2072 } while (i < ex->num_phys);