Lines Matching refs:sas_expander
68 struct _sas_node *sas_expander);
844 struct _sas_node *sas_expander, *r; in mpt3sas_scsih_expander_find_by_handle() local
847 list_for_each_entry(sas_expander, &ioc->sas_expander_list, list) { in mpt3sas_scsih_expander_find_by_handle()
848 if (sas_expander->handle != handle) in mpt3sas_scsih_expander_find_by_handle()
850 r = sas_expander; in mpt3sas_scsih_expander_find_by_handle()
870 struct _sas_node *sas_expander, *r; in mpt3sas_scsih_expander_find_by_sas_address() local
873 list_for_each_entry(sas_expander, &ioc->sas_expander_list, list) { in mpt3sas_scsih_expander_find_by_sas_address()
874 if (sas_expander->sas_address != sas_address) in mpt3sas_scsih_expander_find_by_sas_address()
876 r = sas_expander; in mpt3sas_scsih_expander_find_by_sas_address()
895 struct _sas_node *sas_expander) in _scsih_expander_node_add() argument
900 list_add_tail(&sas_expander->list, &ioc->sas_expander_list); in _scsih_expander_node_add()
2674 struct _sas_node *sas_expander) in _scsih_block_io_to_children_attached_to_ex() argument
2681 if (!sas_expander) in _scsih_block_io_to_children_attached_to_ex()
2685 &sas_expander->sas_port_list, port_list) { in _scsih_block_io_to_children_attached_to_ex()
2700 &sas_expander->sas_port_list, port_list) { in _scsih_block_io_to_children_attached_to_ex()
3129 struct _sas_node *sas_expander; in _scsih_check_topo_delete_events() local
3153 sas_expander = mpt3sas_scsih_expander_find_by_handle(ioc, in _scsih_check_topo_delete_events()
3155 _scsih_block_io_to_children_attached_to_ex(ioc, sas_expander); in _scsih_check_topo_delete_events()
4454 struct _sas_node *sas_expander; in _scsih_expander_add() local
4499 sas_expander = mpt3sas_scsih_expander_find_by_sas_address(ioc, in _scsih_expander_add()
4502 if (!sas_expander) { in _scsih_expander_add()
4511 sas_expander = mpt3sas_scsih_expander_find_by_sas_address(ioc, in _scsih_expander_add()
4515 if (sas_expander) in _scsih_expander_add()
4518 sas_expander = kzalloc(sizeof(struct _sas_node), in _scsih_expander_add()
4520 if (!sas_expander) { in _scsih_expander_add()
4526 sas_expander->handle = handle; in _scsih_expander_add()
4527 sas_expander->num_phys = expander_pg0.NumPhys; in _scsih_expander_add()
4528 sas_expander->sas_address_parent = sas_address_parent; in _scsih_expander_add()
4529 sas_expander->sas_address = sas_address; in _scsih_expander_add()
4534 sas_expander->sas_address, sas_expander->num_phys); in _scsih_expander_add()
4536 if (!sas_expander->num_phys) in _scsih_expander_add()
4538 sas_expander->phy = kcalloc(sas_expander->num_phys, in _scsih_expander_add()
4540 if (!sas_expander->phy) { in _scsih_expander_add()
4547 INIT_LIST_HEAD(&sas_expander->sas_port_list); in _scsih_expander_add()
4556 sas_expander->parent_dev = &mpt3sas_port->rphy->dev; in _scsih_expander_add()
4558 for (i = 0 ; i < sas_expander->num_phys ; i++) { in _scsih_expander_add()
4566 sas_expander->phy[i].handle = handle; in _scsih_expander_add()
4567 sas_expander->phy[i].phy_id = i; in _scsih_expander_add()
4570 &sas_expander->phy[i], expander_pg1, in _scsih_expander_add()
4571 sas_expander->parent_dev))) { in _scsih_expander_add()
4579 if (sas_expander->enclosure_handle) { in _scsih_expander_add()
4582 sas_expander->enclosure_handle))) in _scsih_expander_add()
4583 sas_expander->enclosure_logical_id = in _scsih_expander_add()
4587 _scsih_expander_node_add(ioc, sas_expander); in _scsih_expander_add()
4593 mpt3sas_transport_port_remove(ioc, sas_expander->sas_address, in _scsih_expander_add()
4595 kfree(sas_expander); in _scsih_expander_add()
4609 struct _sas_node *sas_expander; in mpt3sas_expander_remove() local
4616 sas_expander = mpt3sas_scsih_expander_find_by_sas_address(ioc, in mpt3sas_expander_remove()
4618 if (sas_expander) in mpt3sas_expander_remove()
4619 list_del(&sas_expander->list); in mpt3sas_expander_remove()
4621 if (sas_expander) in mpt3sas_expander_remove()
4622 _scsih_expander_node_remove(ioc, sas_expander); in mpt3sas_expander_remove()
5067 struct _sas_node *sas_expander; in _scsih_sas_topology_change_event() local
5102 sas_expander = mpt3sas_scsih_expander_find_by_handle(ioc, in _scsih_sas_topology_change_event()
5104 if (sas_expander) { in _scsih_sas_topology_change_event()
5105 sas_address = sas_expander->sas_address; in _scsih_sas_topology_change_event()
5106 max_phys = sas_expander->num_phys; in _scsih_sas_topology_change_event()
5178 sas_expander) in _scsih_sas_topology_change_event()
6594 struct _sas_node *sas_expander; in _scsih_mark_responding_expander() local
6599 list_for_each_entry(sas_expander, &ioc->sas_expander_list, list) { in _scsih_mark_responding_expander()
6600 if (sas_expander->sas_address != sas_address) in _scsih_mark_responding_expander()
6602 sas_expander->responding = 1; in _scsih_mark_responding_expander()
6603 if (sas_expander->handle == handle) in _scsih_mark_responding_expander()
6607 (unsigned long long)sas_expander->sas_address, in _scsih_mark_responding_expander()
6608 sas_expander->handle, handle); in _scsih_mark_responding_expander()
6609 sas_expander->handle = handle; in _scsih_mark_responding_expander()
6610 for (i = 0 ; i < sas_expander->num_phys ; i++) in _scsih_mark_responding_expander()
6611 sas_expander->phy[i].handle = handle; in _scsih_mark_responding_expander()
6672 struct _sas_node *sas_expander, *sas_expander_next; in _scsih_remove_unresponding_sas_devices() local
6711 list_for_each_entry_safe(sas_expander, sas_expander_next, in _scsih_remove_unresponding_sas_devices()
6713 if (!sas_expander->responding) in _scsih_remove_unresponding_sas_devices()
6714 list_move_tail(&sas_expander->list, &tmp_list); in _scsih_remove_unresponding_sas_devices()
6716 sas_expander->responding = 0; in _scsih_remove_unresponding_sas_devices()
6719 list_for_each_entry_safe(sas_expander, sas_expander_next, &tmp_list, in _scsih_remove_unresponding_sas_devices()
6721 list_del(&sas_expander->list); in _scsih_remove_unresponding_sas_devices()
6722 _scsih_expander_node_remove(ioc, sas_expander); in _scsih_remove_unresponding_sas_devices()
6734 struct _sas_node *sas_expander, u16 handle) in _scsih_refresh_expander_links() argument
6740 for (i = 0 ; i < sas_expander->num_phys ; i++) { in _scsih_refresh_expander_links()
6748 mpt3sas_transport_update_links(ioc, sas_expander->sas_address, in _scsih_refresh_expander_links()
7301 struct _sas_node *sas_expander) in _scsih_expander_node_remove() argument
7307 &sas_expander->sas_port_list, port_list) { in _scsih_expander_node_remove()
7322 mpt3sas_transport_port_remove(ioc, sas_expander->sas_address, in _scsih_expander_node_remove()
7323 sas_expander->sas_address_parent); in _scsih_expander_node_remove()
7328 sas_expander->handle, (unsigned long long) in _scsih_expander_node_remove()
7329 sas_expander->sas_address); in _scsih_expander_node_remove()
7331 kfree(sas_expander->phy); in _scsih_expander_node_remove()
7332 kfree(sas_expander); in _scsih_expander_node_remove()