Lines Matching refs:sas_expander
68 struct _sas_node *sas_expander);
1346 struct _sas_node *sas_expander, *r; in mpt3sas_scsih_expander_find_by_handle() local
1349 list_for_each_entry(sas_expander, &ioc->sas_expander_list, list) { in mpt3sas_scsih_expander_find_by_handle()
1350 if (sas_expander->handle != handle) in mpt3sas_scsih_expander_find_by_handle()
1352 r = sas_expander; in mpt3sas_scsih_expander_find_by_handle()
1396 struct _sas_node *sas_expander, *r; in mpt3sas_scsih_expander_find_by_sas_address() local
1399 list_for_each_entry(sas_expander, &ioc->sas_expander_list, list) { in mpt3sas_scsih_expander_find_by_sas_address()
1400 if (sas_expander->sas_address != sas_address) in mpt3sas_scsih_expander_find_by_sas_address()
1402 r = sas_expander; in mpt3sas_scsih_expander_find_by_sas_address()
1419 struct _sas_node *sas_expander) in _scsih_expander_node_add() argument
1424 list_add_tail(&sas_expander->list, &ioc->sas_expander_list); in _scsih_expander_node_add()
3444 struct _sas_node *sas_expander) in _scsih_block_io_to_children_attached_to_ex() argument
3451 if (!sas_expander) in _scsih_block_io_to_children_attached_to_ex()
3455 &sas_expander->sas_port_list, port_list) { in _scsih_block_io_to_children_attached_to_ex()
3471 &sas_expander->sas_port_list, port_list) { in _scsih_block_io_to_children_attached_to_ex()
4120 struct _sas_node *sas_expander; in _scsih_check_topo_delete_events() local
4144 sas_expander = mpt3sas_scsih_expander_find_by_handle(ioc, in _scsih_check_topo_delete_events()
4146 _scsih_block_io_to_children_attached_to_ex(ioc, sas_expander); in _scsih_check_topo_delete_events()
5620 struct _sas_node *sas_expander; in _scsih_expander_add() local
5665 sas_expander = mpt3sas_scsih_expander_find_by_sas_address(ioc, in _scsih_expander_add()
5668 if (!sas_expander) { in _scsih_expander_add()
5677 sas_expander = mpt3sas_scsih_expander_find_by_sas_address(ioc, in _scsih_expander_add()
5681 if (sas_expander) in _scsih_expander_add()
5684 sas_expander = kzalloc(sizeof(struct _sas_node), in _scsih_expander_add()
5686 if (!sas_expander) { in _scsih_expander_add()
5692 sas_expander->handle = handle; in _scsih_expander_add()
5693 sas_expander->num_phys = expander_pg0.NumPhys; in _scsih_expander_add()
5694 sas_expander->sas_address_parent = sas_address_parent; in _scsih_expander_add()
5695 sas_expander->sas_address = sas_address; in _scsih_expander_add()
5700 sas_expander->sas_address, sas_expander->num_phys); in _scsih_expander_add()
5702 if (!sas_expander->num_phys) in _scsih_expander_add()
5704 sas_expander->phy = kcalloc(sas_expander->num_phys, in _scsih_expander_add()
5706 if (!sas_expander->phy) { in _scsih_expander_add()
5713 INIT_LIST_HEAD(&sas_expander->sas_port_list); in _scsih_expander_add()
5722 sas_expander->parent_dev = &mpt3sas_port->rphy->dev; in _scsih_expander_add()
5724 for (i = 0 ; i < sas_expander->num_phys ; i++) { in _scsih_expander_add()
5732 sas_expander->phy[i].handle = handle; in _scsih_expander_add()
5733 sas_expander->phy[i].phy_id = i; in _scsih_expander_add()
5736 &sas_expander->phy[i], expander_pg1, in _scsih_expander_add()
5737 sas_expander->parent_dev))) { in _scsih_expander_add()
5745 if (sas_expander->enclosure_handle) { in _scsih_expander_add()
5748 sas_expander->enclosure_handle); in _scsih_expander_add()
5750 sas_expander->enclosure_logical_id = in _scsih_expander_add()
5754 _scsih_expander_node_add(ioc, sas_expander); in _scsih_expander_add()
5760 mpt3sas_transport_port_remove(ioc, sas_expander->sas_address, in _scsih_expander_add()
5762 kfree(sas_expander); in _scsih_expander_add()
5774 struct _sas_node *sas_expander; in mpt3sas_expander_remove() local
5781 sas_expander = mpt3sas_scsih_expander_find_by_sas_address(ioc, in mpt3sas_expander_remove()
5784 if (sas_expander) in mpt3sas_expander_remove()
5785 _scsih_expander_node_remove(ioc, sas_expander); in mpt3sas_expander_remove()
6292 struct _sas_node *sas_expander; in _scsih_sas_topology_change_event() local
6325 sas_expander = mpt3sas_scsih_expander_find_by_handle(ioc, in _scsih_sas_topology_change_event()
6327 if (sas_expander) { in _scsih_sas_topology_change_event()
6328 sas_address = sas_expander->sas_address; in _scsih_sas_topology_change_event()
6329 max_phys = sas_expander->num_phys; in _scsih_sas_topology_change_event()
6405 sas_expander) in _scsih_sas_topology_change_event()
8798 struct _sas_node *sas_expander = NULL; in _scsih_mark_responding_expander() local
8812 list_for_each_entry(sas_expander, &ioc->sas_expander_list, list) { in _scsih_mark_responding_expander()
8813 if (sas_expander->sas_address != sas_address) in _scsih_mark_responding_expander()
8815 sas_expander->responding = 1; in _scsih_mark_responding_expander()
8818 sas_expander->enclosure_logical_id = in _scsih_mark_responding_expander()
8820 sas_expander->enclosure_handle = in _scsih_mark_responding_expander()
8824 if (sas_expander->handle == handle) in _scsih_mark_responding_expander()
8828 (unsigned long long)sas_expander->sas_address, in _scsih_mark_responding_expander()
8829 sas_expander->handle, handle); in _scsih_mark_responding_expander()
8830 sas_expander->handle = handle; in _scsih_mark_responding_expander()
8831 for (i = 0 ; i < sas_expander->num_phys ; i++) in _scsih_mark_responding_expander()
8832 sas_expander->phy[i].handle = handle; in _scsih_mark_responding_expander()
8889 struct _sas_node *sas_expander, *sas_expander_next; in _scsih_remove_unresponding_devices() local
8964 list_for_each_entry_safe(sas_expander, sas_expander_next, in _scsih_remove_unresponding_devices()
8966 if (!sas_expander->responding) in _scsih_remove_unresponding_devices()
8967 list_move_tail(&sas_expander->list, &tmp_list); in _scsih_remove_unresponding_devices()
8969 sas_expander->responding = 0; in _scsih_remove_unresponding_devices()
8972 list_for_each_entry_safe(sas_expander, sas_expander_next, &tmp_list, in _scsih_remove_unresponding_devices()
8974 _scsih_expander_node_remove(ioc, sas_expander); in _scsih_remove_unresponding_devices()
8986 struct _sas_node *sas_expander, u16 handle) in _scsih_refresh_expander_links() argument
8992 for (i = 0 ; i < sas_expander->num_phys ; i++) { in _scsih_refresh_expander_links()
9000 mpt3sas_transport_update_links(ioc, sas_expander->sas_address, in _scsih_refresh_expander_links()
9668 struct _sas_node *sas_expander) in _scsih_expander_node_remove() argument
9675 &sas_expander->sas_port_list, port_list) { in _scsih_expander_node_remove()
9690 mpt3sas_transport_port_remove(ioc, sas_expander->sas_address, in _scsih_expander_node_remove()
9691 sas_expander->sas_address_parent); in _scsih_expander_node_remove()
9696 sas_expander->handle, (unsigned long long) in _scsih_expander_node_remove()
9697 sas_expander->sas_address); in _scsih_expander_node_remove()
9700 list_del(&sas_expander->list); in _scsih_expander_node_remove()
9703 kfree(sas_expander->phy); in _scsih_expander_node_remove()
9704 kfree(sas_expander); in _scsih_expander_node_remove()