Lines Matching refs:sas_expander
66 struct _sas_node *sas_expander);
1560 struct _sas_node *sas_expander, *r;
1563 list_for_each_entry(sas_expander, &ioc->sas_expander_list, list) {
1564 if (sas_expander->handle != handle)
1566 r = sas_expander;
1611 struct _sas_node *sas_expander, *r = NULL;
1616 list_for_each_entry(sas_expander, &ioc->sas_expander_list, list) {
1617 if (sas_expander->sas_address != sas_address)
1619 if (sas_expander->port != port)
1621 r = sas_expander;
1631 * @sas_expander: the sas_device object
1638 struct _sas_node *sas_expander)
1643 list_add_tail(&sas_expander->list, &ioc->sas_expander_list);
3952 * @sas_expander: the sas_device object
3960 struct _sas_node *sas_expander)
3967 if (!sas_expander)
3971 &sas_expander->sas_port_list, port_list) {
3988 &sas_expander->sas_port_list, port_list) {
4659 struct _sas_node *sas_expander;
4683 sas_expander = mpt3sas_scsih_expander_find_by_handle(ioc,
4685 _scsih_block_io_to_children_attached_to_ex(ioc, sas_expander);
6889 struct _sas_node *sas_expander;
6937 sas_expander = mpt3sas_scsih_expander_find_by_sas_address(ioc,
6941 if (!sas_expander) {
6950 sas_expander = mpt3sas_scsih_expander_find_by_sas_address(ioc,
6954 if (sas_expander)
6957 sas_expander = kzalloc(sizeof(struct _sas_node),
6959 if (!sas_expander) {
6965 sas_expander->handle = handle;
6966 sas_expander->num_phys = expander_pg0.NumPhys;
6967 sas_expander->sas_address_parent = sas_address_parent;
6968 sas_expander->sas_address = sas_address;
6969 sas_expander->port = mpt3sas_get_port_by_id(ioc, port_id, 0);
6970 if (!sas_expander->port) {
6979 (u64)sas_expander->sas_address, sas_expander->num_phys);
6981 if (!sas_expander->num_phys) {
6985 sas_expander->phy = kcalloc(sas_expander->num_phys,
6987 if (!sas_expander->phy) {
6994 INIT_LIST_HEAD(&sas_expander->sas_port_list);
6996 sas_address_parent, sas_expander->port);
7003 sas_expander->parent_dev = &mpt3sas_port->rphy->dev;
7004 sas_expander->rphy = mpt3sas_port->rphy;
7006 for (i = 0 ; i < sas_expander->num_phys ; i++) {
7014 sas_expander->phy[i].handle = handle;
7015 sas_expander->phy[i].phy_id = i;
7016 sas_expander->phy[i].port =
7020 &sas_expander->phy[i], expander_pg1,
7021 sas_expander->parent_dev))) {
7029 if (sas_expander->enclosure_handle) {
7032 sas_expander->enclosure_handle);
7034 sas_expander->enclosure_logical_id =
7038 _scsih_expander_node_add(ioc, sas_expander);
7044 mpt3sas_transport_port_remove(ioc, sas_expander->sas_address,
7045 sas_address_parent, sas_expander->port);
7046 kfree(sas_expander);
7060 struct _sas_node *sas_expander;
7070 sas_expander = mpt3sas_scsih_expander_find_by_sas_address(ioc,
7073 if (sas_expander)
7074 _scsih_expander_node_remove(ioc, sas_expander);
7592 struct _sas_node *sas_expander;
7626 sas_expander = mpt3sas_scsih_expander_find_by_handle(ioc,
7628 if (sas_expander) {
7629 sas_address = sas_expander->sas_address;
7630 max_phys = sas_expander->num_phys;
7631 port = sas_expander->port;
7707 sas_expander)
10142 struct _sas_node *sas_expander = NULL;
10158 list_for_each_entry(sas_expander, &ioc->sas_expander_list, list) {
10159 if (sas_expander->sas_address != sas_address)
10161 if (sas_expander->port != port)
10163 sas_expander->responding = 1;
10166 sas_expander->enclosure_logical_id =
10168 sas_expander->enclosure_handle =
10172 if (sas_expander->handle == handle)
10176 (unsigned long long)sas_expander->sas_address,
10177 sas_expander->handle, handle);
10178 sas_expander->handle = handle;
10179 for (i = 0 ; i < sas_expander->num_phys ; i++)
10180 sas_expander->phy[i].handle = handle;
10241 struct _sas_node *sas_expander, *sas_expander_next;
10331 list_for_each_entry_safe(sas_expander, sas_expander_next,
10333 if (!sas_expander->responding)
10334 list_move_tail(&sas_expander->list, &tmp_list);
10336 sas_expander->responding = 0;
10339 list_for_each_entry_safe(sas_expander, sas_expander_next, &tmp_list,
10341 _scsih_expander_node_remove(ioc, sas_expander);
10352 struct _sas_node *sas_expander, u16 handle)
10358 for (i = 0 ; i < sas_expander->num_phys ; i++) {
10366 mpt3sas_transport_update_links(ioc, sas_expander->sas_address,
10369 sas_expander->port);
11029 * @sas_expander: the sas_device object
11036 struct _sas_node *sas_expander)
11044 &sas_expander->sas_port_list, port_list) {
11061 port_id = sas_expander->port->port_id;
11063 mpt3sas_transport_port_remove(ioc, sas_expander->sas_address,
11064 sas_expander->sas_address_parent, sas_expander->port);
11068 sas_expander->handle, (unsigned long long)
11069 sas_expander->sas_address,
11073 list_del(&sas_expander->list);
11076 kfree(sas_expander->phy);
11077 kfree(sas_expander);