Lines Matching refs:sas_expander
72 struct _sas_node *sas_expander);
798 struct _sas_node *sas_expander, *r; in mpt2sas_scsih_expander_find_by_handle() local
801 list_for_each_entry(sas_expander, &ioc->sas_expander_list, list) { in mpt2sas_scsih_expander_find_by_handle()
802 if (sas_expander->handle != handle) in mpt2sas_scsih_expander_find_by_handle()
804 r = sas_expander; in mpt2sas_scsih_expander_find_by_handle()
824 struct _sas_node *sas_expander, *r; in mpt2sas_scsih_expander_find_by_sas_address() local
827 list_for_each_entry(sas_expander, &ioc->sas_expander_list, list) { in mpt2sas_scsih_expander_find_by_sas_address()
828 if (sas_expander->sas_address != sas_address) in mpt2sas_scsih_expander_find_by_sas_address()
830 r = sas_expander; in mpt2sas_scsih_expander_find_by_sas_address()
849 struct _sas_node *sas_expander) in _scsih_expander_node_add() argument
854 list_add_tail(&sas_expander->list, &ioc->sas_expander_list); in _scsih_expander_node_add()
2993 struct _sas_node *sas_expander) in _scsih_block_io_to_children_attached_to_ex() argument
3000 if (!sas_expander) in _scsih_block_io_to_children_attached_to_ex()
3004 &sas_expander->sas_port_list, port_list) { in _scsih_block_io_to_children_attached_to_ex()
3019 &sas_expander->sas_port_list, port_list) { in _scsih_block_io_to_children_attached_to_ex()
3434 struct _sas_node *sas_expander; in _scsih_check_topo_delete_events() local
3458 sas_expander = mpt2sas_scsih_expander_find_by_handle(ioc, in _scsih_check_topo_delete_events()
3460 _scsih_block_io_to_children_attached_to_ex(ioc, sas_expander); in _scsih_check_topo_delete_events()
4853 struct _sas_node *sas_expander; in _scsih_expander_add() local
4897 sas_expander = mpt2sas_scsih_expander_find_by_sas_address(ioc, in _scsih_expander_add()
4900 if (!sas_expander) { in _scsih_expander_add()
4909 sas_expander = mpt2sas_scsih_expander_find_by_sas_address(ioc, in _scsih_expander_add()
4913 if (sas_expander) in _scsih_expander_add()
4916 sas_expander = kzalloc(sizeof(struct _sas_node), in _scsih_expander_add()
4918 if (!sas_expander) { in _scsih_expander_add()
4924 sas_expander->handle = handle; in _scsih_expander_add()
4925 sas_expander->num_phys = expander_pg0.NumPhys; in _scsih_expander_add()
4926 sas_expander->sas_address_parent = sas_address_parent; in _scsih_expander_add()
4927 sas_expander->sas_address = sas_address; in _scsih_expander_add()
4932 sas_expander->sas_address, sas_expander->num_phys); in _scsih_expander_add()
4934 if (!sas_expander->num_phys) in _scsih_expander_add()
4936 sas_expander->phy = kcalloc(sas_expander->num_phys, in _scsih_expander_add()
4938 if (!sas_expander->phy) { in _scsih_expander_add()
4945 INIT_LIST_HEAD(&sas_expander->sas_port_list); in _scsih_expander_add()
4954 sas_expander->parent_dev = &mpt2sas_port->rphy->dev; in _scsih_expander_add()
4956 for (i = 0 ; i < sas_expander->num_phys ; i++) { in _scsih_expander_add()
4964 sas_expander->phy[i].handle = handle; in _scsih_expander_add()
4965 sas_expander->phy[i].phy_id = i; in _scsih_expander_add()
4968 &sas_expander->phy[i], expander_pg1, in _scsih_expander_add()
4969 sas_expander->parent_dev))) { in _scsih_expander_add()
4977 if (sas_expander->enclosure_handle) { in _scsih_expander_add()
4980 sas_expander->enclosure_handle))) { in _scsih_expander_add()
4981 sas_expander->enclosure_logical_id = in _scsih_expander_add()
4986 _scsih_expander_node_add(ioc, sas_expander); in _scsih_expander_add()
4992 mpt2sas_transport_port_remove(ioc, sas_expander->sas_address, in _scsih_expander_add()
4994 kfree(sas_expander); in _scsih_expander_add()
5042 struct _sas_node *sas_expander; in mpt2sas_expander_remove() local
5049 sas_expander = mpt2sas_scsih_expander_find_by_sas_address(ioc, in mpt2sas_expander_remove()
5051 if (sas_expander) in mpt2sas_expander_remove()
5052 list_del(&sas_expander->list); in mpt2sas_expander_remove()
5054 if (sas_expander) in mpt2sas_expander_remove()
5055 _scsih_expander_node_remove(ioc, sas_expander); in mpt2sas_expander_remove()
5495 struct _sas_node *sas_expander; in _scsih_sas_topology_change_event() local
5530 sas_expander = mpt2sas_scsih_expander_find_by_handle(ioc, in _scsih_sas_topology_change_event()
5532 if (sas_expander) { in _scsih_sas_topology_change_event()
5533 sas_address = sas_expander->sas_address; in _scsih_sas_topology_change_event()
5534 max_phys = sas_expander->num_phys; in _scsih_sas_topology_change_event()
5604 sas_expander) in _scsih_sas_topology_change_event()
6936 struct _sas_node *sas_expander; in _scsih_mark_responding_expander() local
6941 list_for_each_entry(sas_expander, &ioc->sas_expander_list, list) { in _scsih_mark_responding_expander()
6942 if (sas_expander->sas_address != sas_address) in _scsih_mark_responding_expander()
6944 sas_expander->responding = 1; in _scsih_mark_responding_expander()
6945 if (sas_expander->handle == handle) in _scsih_mark_responding_expander()
6949 (unsigned long long)sas_expander->sas_address, in _scsih_mark_responding_expander()
6950 sas_expander->handle, handle); in _scsih_mark_responding_expander()
6951 sas_expander->handle = handle; in _scsih_mark_responding_expander()
6952 for (i = 0 ; i < sas_expander->num_phys ; i++) in _scsih_mark_responding_expander()
6953 sas_expander->phy[i].handle = handle; in _scsih_mark_responding_expander()
7014 struct _sas_node *sas_expander, *sas_expander_next; in _scsih_remove_unresponding_sas_devices() local
7052 list_for_each_entry_safe(sas_expander, sas_expander_next, in _scsih_remove_unresponding_sas_devices()
7054 if (!sas_expander->responding) in _scsih_remove_unresponding_sas_devices()
7055 list_move_tail(&sas_expander->list, &tmp_list); in _scsih_remove_unresponding_sas_devices()
7057 sas_expander->responding = 0; in _scsih_remove_unresponding_sas_devices()
7060 list_for_each_entry_safe(sas_expander, sas_expander_next, &tmp_list, in _scsih_remove_unresponding_sas_devices()
7062 list_del(&sas_expander->list); in _scsih_remove_unresponding_sas_devices()
7063 _scsih_expander_node_remove(ioc, sas_expander); in _scsih_remove_unresponding_sas_devices()
7073 struct _sas_node *sas_expander, u16 handle) in _scsih_refresh_expander_links() argument
7079 for (i = 0 ; i < sas_expander->num_phys ; i++) { in _scsih_refresh_expander_links()
7087 mpt2sas_transport_update_links(ioc, sas_expander->sas_address, in _scsih_refresh_expander_links()
7669 struct _sas_node *sas_expander) in _scsih_expander_node_remove() argument
7675 &sas_expander->sas_port_list, port_list) { in _scsih_expander_node_remove()
7690 mpt2sas_transport_port_remove(ioc, sas_expander->sas_address, in _scsih_expander_node_remove()
7691 sas_expander->sas_address_parent); in _scsih_expander_node_remove()
7695 sas_expander->handle, (unsigned long long) in _scsih_expander_node_remove()
7696 sas_expander->sas_address); in _scsih_expander_node_remove()
7698 kfree(sas_expander->phy); in _scsih_expander_node_remove()
7699 kfree(sas_expander); in _scsih_expander_node_remove()