• Home
  • Raw
  • Download

Lines Matching refs:parent

522 	struct sas_rphy *rphy = dev_to_rphy(phy->dev.parent);  in sas_smp_get_phy_events()
602 static void sas_ex_get_linkrate(struct domain_device *parent, in sas_ex_get_linkrate() argument
606 struct expander_device *parent_ex = &parent->ex_dev; in sas_ex_get_linkrate()
624 child->min_linkrate = min(parent->min_linkrate, in sas_ex_get_linkrate()
626 child->max_linkrate = max(parent->max_linkrate, in sas_ex_get_linkrate()
633 child->pathways = min(child->pathways, parent->pathways); in sas_ex_get_linkrate()
637 struct domain_device *parent, int phy_id) in sas_ex_discover_end_dev() argument
639 struct expander_device *parent_ex = &parent->ex_dev; in sas_ex_discover_end_dev()
652 child->parent = parent; in sas_ex_discover_end_dev()
653 child->port = parent->port; in sas_ex_discover_end_dev()
658 phy->port = sas_port_alloc(&parent->rphy->dev, phy_id); in sas_ex_discover_end_dev()
666 sas_ex_get_linkrate(parent, child, phy); in sas_ex_discover_end_dev()
675 res = sas_get_report_phy_sata(parent, phy_id, in sas_ex_discover_end_dev()
679 "0x%x\n", SAS_ADDR(parent->sas_addr), in sas_ex_discover_end_dev()
694 spin_lock_irq(&parent->port->dev_list_lock); in sas_ex_discover_end_dev()
695 list_add_tail(&child->dev_list_node, &parent->port->dev_list); in sas_ex_discover_end_dev()
696 spin_unlock_irq(&parent->port->dev_list_lock); in sas_ex_discover_end_dev()
703 SAS_ADDR(parent->sas_addr), phy_id, res); in sas_ex_discover_end_dev()
720 spin_lock_irq(&parent->port->dev_list_lock); in sas_ex_discover_end_dev()
721 list_add_tail(&child->dev_list_node, &parent->port->dev_list); in sas_ex_discover_end_dev()
722 spin_unlock_irq(&parent->port->dev_list_lock); in sas_ex_discover_end_dev()
729 SAS_ADDR(parent->sas_addr), phy_id, res); in sas_ex_discover_end_dev()
734 phy->attached_tproto, SAS_ADDR(parent->sas_addr), in sas_ex_discover_end_dev()
755 static int sas_ex_join_wide_port(struct domain_device *parent, int phy_id) in sas_ex_join_wide_port() argument
757 struct ex_phy *phy = &parent->ex_dev.ex_phy[phy_id]; in sas_ex_join_wide_port()
760 for (i = 0; i < parent->ex_dev.num_phys; i++) { in sas_ex_join_wide_port()
761 struct ex_phy *ephy = &parent->ex_dev.ex_phy[i]; in sas_ex_join_wide_port()
778 struct domain_device *parent, int phy_id) in sas_ex_discover_expander() argument
780 struct sas_expander_device *parent_ex = rphy_to_expander_device(parent->rphy); in sas_ex_discover_expander()
781 struct ex_phy *phy = &parent->ex_dev.ex_phy[phy_id]; in sas_ex_discover_expander()
791 SAS_ADDR(parent->sas_addr), phy_id, in sas_ex_discover_expander()
800 phy->port = sas_port_alloc(&parent->rphy->dev, phy_id); in sas_ex_discover_expander()
818 port = parent->port; in sas_ex_discover_expander()
822 child->parent = parent; in sas_ex_discover_expander()
828 sas_ex_get_linkrate(parent, child, phy); in sas_ex_discover_expander()
830 parent->port->disc.max_level = max(parent->port->disc.max_level, in sas_ex_discover_expander()
836 spin_lock_irq(&parent->port->dev_list_lock); in sas_ex_discover_expander()
837 list_add_tail(&child->dev_list_node, &parent->port->dev_list); in sas_ex_discover_expander()
838 spin_unlock_irq(&parent->port->dev_list_lock); in sas_ex_discover_expander()
845 list_add_tail(&child->siblings, &parent->ex_dev.children); in sas_ex_discover_expander()
865 if (!dev->parent && (SAS_ADDR(ex_phy->attached_sas_addr) == in sas_ex_discover_dev()
870 if (dev->parent && (SAS_ADDR(ex_phy->attached_sas_addr) == in sas_ex_discover_dev()
871 SAS_ADDR(dev->parent->sas_addr))) { in sas_ex_discover_dev()
1112 struct domain_device *parent = child->parent; in sas_print_parent_topology_bug() local
1117 ex_type[parent->dev_type], in sas_print_parent_topology_bug()
1118 SAS_ADDR(parent->sas_addr), in sas_print_parent_topology_bug()
1134 struct domain_device *parent = child->parent; in sas_check_eeds() local
1136 if (SAS_ADDR(parent->port->disc.fanout_sas_addr) != 0) { in sas_check_eeds()
1140 SAS_ADDR(parent->sas_addr), in sas_check_eeds()
1144 SAS_ADDR(parent->port->disc.fanout_sas_addr)); in sas_check_eeds()
1145 } else if (SAS_ADDR(parent->port->disc.eeds_a) == 0) { in sas_check_eeds()
1146 memcpy(parent->port->disc.eeds_a, parent->sas_addr, in sas_check_eeds()
1148 memcpy(parent->port->disc.eeds_b, child->sas_addr, in sas_check_eeds()
1150 } else if (((SAS_ADDR(parent->port->disc.eeds_a) == in sas_check_eeds()
1151 SAS_ADDR(parent->sas_addr)) || in sas_check_eeds()
1152 (SAS_ADDR(parent->port->disc.eeds_a) == in sas_check_eeds()
1155 ((SAS_ADDR(parent->port->disc.eeds_b) == in sas_check_eeds()
1156 SAS_ADDR(parent->sas_addr)) || in sas_check_eeds()
1157 (SAS_ADDR(parent->port->disc.eeds_b) == in sas_check_eeds()
1164 SAS_ADDR(parent->sas_addr), in sas_check_eeds()
1182 if (!child->parent) in sas_check_parent_topology()
1185 if (child->parent->dev_type != EDGE_DEV && in sas_check_parent_topology()
1186 child->parent->dev_type != FANOUT_DEV) in sas_check_parent_topology()
1189 parent_ex = &child->parent->ex_dev; in sas_check_parent_topology()
1204 switch (child->parent->dev_type) { in sas_check_parent_topology()
1379 static int sas_configure_parent(struct domain_device *parent, in sas_configure_parent() argument
1383 struct expander_device *ex_parent = &parent->ex_dev; in sas_configure_parent()
1387 if (parent->parent) { in sas_configure_parent()
1388 res = sas_configure_parent(parent->parent, parent, sas_addr, in sas_configure_parent()
1396 SAS_ADDR(parent->sas_addr)); in sas_configure_parent()
1406 res = sas_configure_phy(parent, i, sas_addr, include); in sas_configure_parent()
1422 if (dev->parent) in sas_configure_routing()
1423 return sas_configure_parent(dev->parent, dev, sas_addr, 1); in sas_configure_routing()
1429 if (dev->parent) in sas_disable_routing()
1430 return sas_configure_parent(dev->parent, dev, sas_addr, 0); in sas_disable_routing()
1702 static void sas_unregister_devs_sas_addr(struct domain_device *parent, in sas_unregister_devs_sas_addr() argument
1705 struct expander_device *ex_dev = &parent->ex_dev; in sas_unregister_devs_sas_addr()
1720 sas_disable_routing(parent, phy->attached_sas_addr); in sas_unregister_devs_sas_addr()