Lines Matching refs:sas_expander
67 struct _sas_node *sas_expander);
1394 struct _sas_node *sas_expander, *r; in mpt3sas_scsih_expander_find_by_handle() local
1397 list_for_each_entry(sas_expander, &ioc->sas_expander_list, list) { in mpt3sas_scsih_expander_find_by_handle()
1398 if (sas_expander->handle != handle) in mpt3sas_scsih_expander_find_by_handle()
1400 r = sas_expander; in mpt3sas_scsih_expander_find_by_handle()
1444 struct _sas_node *sas_expander, *r; in mpt3sas_scsih_expander_find_by_sas_address() local
1447 list_for_each_entry(sas_expander, &ioc->sas_expander_list, list) { in mpt3sas_scsih_expander_find_by_sas_address()
1448 if (sas_expander->sas_address != sas_address) in mpt3sas_scsih_expander_find_by_sas_address()
1450 r = sas_expander; in mpt3sas_scsih_expander_find_by_sas_address()
1467 struct _sas_node *sas_expander) in _scsih_expander_node_add() argument
1472 list_add_tail(&sas_expander->list, &ioc->sas_expander_list); in _scsih_expander_node_add()
3745 struct _sas_node *sas_expander) in _scsih_block_io_to_children_attached_to_ex() argument
3752 if (!sas_expander) in _scsih_block_io_to_children_attached_to_ex()
3756 &sas_expander->sas_port_list, port_list) { in _scsih_block_io_to_children_attached_to_ex()
3772 &sas_expander->sas_port_list, port_list) { in _scsih_block_io_to_children_attached_to_ex()
4440 struct _sas_node *sas_expander; in _scsih_check_topo_delete_events() local
4464 sas_expander = mpt3sas_scsih_expander_find_by_handle(ioc, in _scsih_check_topo_delete_events()
4466 _scsih_block_io_to_children_attached_to_ex(ioc, sas_expander); in _scsih_check_topo_delete_events()
5929 struct _sas_node *sas_expander; in _scsih_expander_add() local
5974 sas_expander = mpt3sas_scsih_expander_find_by_sas_address(ioc, in _scsih_expander_add()
5977 if (!sas_expander) { in _scsih_expander_add()
5986 sas_expander = mpt3sas_scsih_expander_find_by_sas_address(ioc, in _scsih_expander_add()
5990 if (sas_expander) in _scsih_expander_add()
5993 sas_expander = kzalloc(sizeof(struct _sas_node), in _scsih_expander_add()
5995 if (!sas_expander) { in _scsih_expander_add()
6001 sas_expander->handle = handle; in _scsih_expander_add()
6002 sas_expander->num_phys = expander_pg0.NumPhys; in _scsih_expander_add()
6003 sas_expander->sas_address_parent = sas_address_parent; in _scsih_expander_add()
6004 sas_expander->sas_address = sas_address; in _scsih_expander_add()
6008 (u64)sas_expander->sas_address, sas_expander->num_phys); in _scsih_expander_add()
6010 if (!sas_expander->num_phys) in _scsih_expander_add()
6012 sas_expander->phy = kcalloc(sas_expander->num_phys, in _scsih_expander_add()
6014 if (!sas_expander->phy) { in _scsih_expander_add()
6021 INIT_LIST_HEAD(&sas_expander->sas_port_list); in _scsih_expander_add()
6030 sas_expander->parent_dev = &mpt3sas_port->rphy->dev; in _scsih_expander_add()
6032 for (i = 0 ; i < sas_expander->num_phys ; i++) { in _scsih_expander_add()
6040 sas_expander->phy[i].handle = handle; in _scsih_expander_add()
6041 sas_expander->phy[i].phy_id = i; in _scsih_expander_add()
6044 &sas_expander->phy[i], expander_pg1, in _scsih_expander_add()
6045 sas_expander->parent_dev))) { in _scsih_expander_add()
6053 if (sas_expander->enclosure_handle) { in _scsih_expander_add()
6056 sas_expander->enclosure_handle); in _scsih_expander_add()
6058 sas_expander->enclosure_logical_id = in _scsih_expander_add()
6062 _scsih_expander_node_add(ioc, sas_expander); in _scsih_expander_add()
6068 mpt3sas_transport_port_remove(ioc, sas_expander->sas_address, in _scsih_expander_add()
6070 kfree(sas_expander); in _scsih_expander_add()
6082 struct _sas_node *sas_expander; in mpt3sas_expander_remove() local
6089 sas_expander = mpt3sas_scsih_expander_find_by_sas_address(ioc, in mpt3sas_expander_remove()
6092 if (sas_expander) in mpt3sas_expander_remove()
6093 _scsih_expander_node_remove(ioc, sas_expander); in mpt3sas_expander_remove()
6592 struct _sas_node *sas_expander; in _scsih_sas_topology_change_event() local
6624 sas_expander = mpt3sas_scsih_expander_find_by_handle(ioc, in _scsih_sas_topology_change_event()
6626 if (sas_expander) { in _scsih_sas_topology_change_event()
6627 sas_address = sas_expander->sas_address; in _scsih_sas_topology_change_event()
6628 max_phys = sas_expander->num_phys; in _scsih_sas_topology_change_event()
6704 sas_expander) in _scsih_sas_topology_change_event()
9094 struct _sas_node *sas_expander = NULL; in _scsih_mark_responding_expander() local
9108 list_for_each_entry(sas_expander, &ioc->sas_expander_list, list) { in _scsih_mark_responding_expander()
9109 if (sas_expander->sas_address != sas_address) in _scsih_mark_responding_expander()
9111 sas_expander->responding = 1; in _scsih_mark_responding_expander()
9114 sas_expander->enclosure_logical_id = in _scsih_mark_responding_expander()
9116 sas_expander->enclosure_handle = in _scsih_mark_responding_expander()
9120 if (sas_expander->handle == handle) in _scsih_mark_responding_expander()
9124 (unsigned long long)sas_expander->sas_address, in _scsih_mark_responding_expander()
9125 sas_expander->handle, handle); in _scsih_mark_responding_expander()
9126 sas_expander->handle = handle; in _scsih_mark_responding_expander()
9127 for (i = 0 ; i < sas_expander->num_phys ; i++) in _scsih_mark_responding_expander()
9128 sas_expander->phy[i].handle = handle; in _scsih_mark_responding_expander()
9185 struct _sas_node *sas_expander, *sas_expander_next; in _scsih_remove_unresponding_devices() local
9254 list_for_each_entry_safe(sas_expander, sas_expander_next, in _scsih_remove_unresponding_devices()
9256 if (!sas_expander->responding) in _scsih_remove_unresponding_devices()
9257 list_move_tail(&sas_expander->list, &tmp_list); in _scsih_remove_unresponding_devices()
9259 sas_expander->responding = 0; in _scsih_remove_unresponding_devices()
9262 list_for_each_entry_safe(sas_expander, sas_expander_next, &tmp_list, in _scsih_remove_unresponding_devices()
9264 _scsih_expander_node_remove(ioc, sas_expander); in _scsih_remove_unresponding_devices()
9275 struct _sas_node *sas_expander, u16 handle) in _scsih_refresh_expander_links() argument
9281 for (i = 0 ; i < sas_expander->num_phys ; i++) { in _scsih_refresh_expander_links()
9289 mpt3sas_transport_update_links(ioc, sas_expander->sas_address, in _scsih_refresh_expander_links()
9920 struct _sas_node *sas_expander) in _scsih_expander_node_remove() argument
9927 &sas_expander->sas_port_list, port_list) { in _scsih_expander_node_remove()
9942 mpt3sas_transport_port_remove(ioc, sas_expander->sas_address, in _scsih_expander_node_remove()
9943 sas_expander->sas_address_parent); in _scsih_expander_node_remove()
9946 sas_expander->handle, (unsigned long long) in _scsih_expander_node_remove()
9947 sas_expander->sas_address); in _scsih_expander_node_remove()
9950 list_del(&sas_expander->list); in _scsih_expander_node_remove()
9953 kfree(sas_expander->phy); in _scsih_expander_node_remove()
9954 kfree(sas_expander); in _scsih_expander_node_remove()