Lines Matching refs:sas_expander
67 struct _sas_node *sas_expander);
1553 struct _sas_node *sas_expander, *r;
1556 list_for_each_entry(sas_expander, &ioc->sas_expander_list, list) {
1557 if (sas_expander->handle != handle)
1559 r = sas_expander;
1604 struct _sas_node *sas_expander, *r = NULL;
1609 list_for_each_entry(sas_expander, &ioc->sas_expander_list, list) {
1610 if (sas_expander->sas_address != sas_address)
1612 if (sas_expander->port != port)
1614 r = sas_expander;
1624 * @sas_expander: the sas_device object
1631 struct _sas_node *sas_expander)
1636 list_add_tail(&sas_expander->list, &ioc->sas_expander_list);
3954 * @sas_expander: the sas_device object
3962 struct _sas_node *sas_expander)
3969 if (!sas_expander)
3973 &sas_expander->sas_port_list, port_list) {
3990 &sas_expander->sas_port_list, port_list) {
4661 struct _sas_node *sas_expander;
4685 sas_expander = mpt3sas_scsih_expander_find_by_handle(ioc,
4687 _scsih_block_io_to_children_attached_to_ex(ioc, sas_expander);
6885 struct _sas_node *sas_expander;
6933 sas_expander = mpt3sas_scsih_expander_find_by_sas_address(ioc,
6937 if (!sas_expander) {
6946 sas_expander = mpt3sas_scsih_expander_find_by_sas_address(ioc,
6950 if (sas_expander)
6953 sas_expander = kzalloc(sizeof(struct _sas_node),
6955 if (!sas_expander) {
6961 sas_expander->handle = handle;
6962 sas_expander->num_phys = expander_pg0.NumPhys;
6963 sas_expander->sas_address_parent = sas_address_parent;
6964 sas_expander->sas_address = sas_address;
6965 sas_expander->port = mpt3sas_get_port_by_id(ioc, port_id, 0);
6966 if (!sas_expander->port) {
6975 (u64)sas_expander->sas_address, sas_expander->num_phys);
6977 if (!sas_expander->num_phys) {
6981 sas_expander->phy = kcalloc(sas_expander->num_phys,
6983 if (!sas_expander->phy) {
6990 INIT_LIST_HEAD(&sas_expander->sas_port_list);
6992 sas_address_parent, sas_expander->port);
6999 sas_expander->parent_dev = &mpt3sas_port->rphy->dev;
7000 sas_expander->rphy = mpt3sas_port->rphy;
7002 for (i = 0 ; i < sas_expander->num_phys ; i++) {
7010 sas_expander->phy[i].handle = handle;
7011 sas_expander->phy[i].phy_id = i;
7012 sas_expander->phy[i].port =
7016 &sas_expander->phy[i], expander_pg1,
7017 sas_expander->parent_dev))) {
7025 if (sas_expander->enclosure_handle) {
7028 sas_expander->enclosure_handle);
7030 sas_expander->enclosure_logical_id =
7034 _scsih_expander_node_add(ioc, sas_expander);
7040 mpt3sas_transport_port_remove(ioc, sas_expander->sas_address,
7041 sas_address_parent, sas_expander->port);
7042 kfree(sas_expander);
7056 struct _sas_node *sas_expander;
7066 sas_expander = mpt3sas_scsih_expander_find_by_sas_address(ioc,
7069 if (sas_expander)
7070 _scsih_expander_node_remove(ioc, sas_expander);
7588 struct _sas_node *sas_expander;
7622 sas_expander = mpt3sas_scsih_expander_find_by_handle(ioc,
7624 if (sas_expander) {
7625 sas_address = sas_expander->sas_address;
7626 max_phys = sas_expander->num_phys;
7627 port = sas_expander->port;
7703 sas_expander)
10138 struct _sas_node *sas_expander = NULL;
10154 list_for_each_entry(sas_expander, &ioc->sas_expander_list, list) {
10155 if (sas_expander->sas_address != sas_address)
10157 if (sas_expander->port != port)
10159 sas_expander->responding = 1;
10162 sas_expander->enclosure_logical_id =
10164 sas_expander->enclosure_handle =
10168 if (sas_expander->handle == handle)
10172 (unsigned long long)sas_expander->sas_address,
10173 sas_expander->handle, handle);
10174 sas_expander->handle = handle;
10175 for (i = 0 ; i < sas_expander->num_phys ; i++)
10176 sas_expander->phy[i].handle = handle;
10237 struct _sas_node *sas_expander, *sas_expander_next;
10327 list_for_each_entry_safe(sas_expander, sas_expander_next,
10329 if (!sas_expander->responding)
10330 list_move_tail(&sas_expander->list, &tmp_list);
10332 sas_expander->responding = 0;
10335 list_for_each_entry_safe(sas_expander, sas_expander_next, &tmp_list,
10337 _scsih_expander_node_remove(ioc, sas_expander);
10348 struct _sas_node *sas_expander, u16 handle)
10354 for (i = 0 ; i < sas_expander->num_phys ; i++) {
10362 mpt3sas_transport_update_links(ioc, sas_expander->sas_address,
10365 sas_expander->port);
11039 * @sas_expander: the sas_device object
11046 struct _sas_node *sas_expander)
11054 &sas_expander->sas_port_list, port_list) {
11071 port_id = sas_expander->port->port_id;
11073 mpt3sas_transport_port_remove(ioc, sas_expander->sas_address,
11074 sas_expander->sas_address_parent, sas_expander->port);
11078 sas_expander->handle, (unsigned long long)
11079 sas_expander->sas_address,
11083 list_del(&sas_expander->list);
11086 kfree(sas_expander->phy);
11087 kfree(sas_expander);