Lines Matching refs:mr_sas_phy
598 struct mpi3mr_sas_phy *mr_sas_phy) in mpi3mr_delete_sas_phy() argument
602 dev_info(&mr_sas_phy->phy->dev, in mpi3mr_delete_sas_phy()
604 (unsigned long long) sas_address, mr_sas_phy->phy_id); in mpi3mr_delete_sas_phy()
606 list_del(&mr_sas_phy->port_siblings); in mpi3mr_delete_sas_phy()
608 mr_sas_port->phy_mask &= ~(1 << mr_sas_phy->phy_id); in mpi3mr_delete_sas_phy()
609 if (mr_sas_port->lowest_phy == mr_sas_phy->phy_id) in mpi3mr_delete_sas_phy()
611 sas_port_delete_phy(mr_sas_port->port, mr_sas_phy->phy); in mpi3mr_delete_sas_phy()
612 mr_sas_phy->phy_belongs_to_port = 0; in mpi3mr_delete_sas_phy()
625 struct mpi3mr_sas_phy *mr_sas_phy) in mpi3mr_add_sas_phy() argument
629 dev_info(&mr_sas_phy->phy->dev, in mpi3mr_add_sas_phy()
631 sas_address, mr_sas_phy->phy_id); in mpi3mr_add_sas_phy()
633 list_add_tail(&mr_sas_phy->port_siblings, &mr_sas_port->phy_list); in mpi3mr_add_sas_phy()
635 mr_sas_port->phy_mask |= (1 << mr_sas_phy->phy_id); in mpi3mr_add_sas_phy()
636 if (mr_sas_phy->phy_id < mr_sas_port->lowest_phy) in mpi3mr_add_sas_phy()
638 sas_port_add_phy(mr_sas_port->port, mr_sas_phy->phy); in mpi3mr_add_sas_phy()
639 mr_sas_phy->phy_belongs_to_port = 1; in mpi3mr_add_sas_phy()
654 struct mpi3mr_sas_node *mr_sas_node, struct mpi3mr_sas_phy *mr_sas_phy, in mpi3mr_add_phy_to_an_existing_port() argument
660 if (mr_sas_phy->phy_belongs_to_port == 1) in mpi3mr_add_phy_to_an_existing_port()
675 if (srch_phy == mr_sas_phy) in mpi3mr_add_phy_to_an_existing_port()
678 mpi3mr_add_sas_phy(mrioc, mr_sas_port, mr_sas_phy); in mpi3mr_add_phy_to_an_existing_port()
720 struct mpi3mr_sas_node *mr_sas_node, struct mpi3mr_sas_phy *mr_sas_phy) in mpi3mr_del_phy_from_an_existing_port() argument
725 if (mr_sas_phy->phy_belongs_to_port == 0) in mpi3mr_del_phy_from_an_existing_port()
732 if (srch_phy != mr_sas_phy) in mpi3mr_del_phy_from_an_existing_port()
739 mr_sas_phy); in mpi3mr_del_phy_from_an_existing_port()
865 struct mpi3mr_sas_phy *mr_sas_phy, struct mpi3_sas_phy_page0 phy_pg0, in mpi3mr_add_host_phy() argument
869 int phy_index = mr_sas_phy->phy_id; in mpi3mr_add_host_phy()
872 INIT_LIST_HEAD(&mr_sas_phy->port_siblings); in mpi3mr_add_host_phy()
879 if ((mpi3mr_set_identify(mrioc, mr_sas_phy->handle, in mpi3mr_add_host_phy()
880 &mr_sas_phy->identify))) { in mpi3mr_add_host_phy()
886 phy->identify = mr_sas_phy->identify; in mpi3mr_add_host_phy()
887 mr_sas_phy->attached_handle = le16_to_cpu(phy_pg0.attached_dev_handle); in mpi3mr_add_host_phy()
888 if (mr_sas_phy->attached_handle) in mpi3mr_add_host_phy()
889 mpi3mr_set_identify(mrioc, mr_sas_phy->attached_handle, in mpi3mr_add_host_phy()
890 &mr_sas_phy->remote_identify); in mpi3mr_add_host_phy()
891 phy->identify.phy_identifier = mr_sas_phy->phy_id; in mpi3mr_add_host_phy()
904 phy->hostdata = mr_sas_phy->hba_port; in mpi3mr_add_host_phy()
916 mr_sas_phy->handle, (unsigned long long) in mpi3mr_add_host_phy()
917 mr_sas_phy->identify.sas_address, in mpi3mr_add_host_phy()
918 mr_sas_phy->attached_handle, in mpi3mr_add_host_phy()
920 mr_sas_phy->remote_identify.sas_address); in mpi3mr_add_host_phy()
921 mr_sas_phy->phy = phy; in mpi3mr_add_host_phy()
935 struct mpi3mr_sas_phy *mr_sas_phy, in mpi3mr_add_expander_phy() argument
940 int phy_index = mr_sas_phy->phy_id; in mpi3mr_add_expander_phy()
942 INIT_LIST_HEAD(&mr_sas_phy->port_siblings); in mpi3mr_add_expander_phy()
949 if ((mpi3mr_set_identify(mrioc, mr_sas_phy->handle, in mpi3mr_add_expander_phy()
950 &mr_sas_phy->identify))) { in mpi3mr_add_expander_phy()
956 phy->identify = mr_sas_phy->identify; in mpi3mr_add_expander_phy()
957 mr_sas_phy->attached_handle = in mpi3mr_add_expander_phy()
959 if (mr_sas_phy->attached_handle) in mpi3mr_add_expander_phy()
960 mpi3mr_set_identify(mrioc, mr_sas_phy->attached_handle, in mpi3mr_add_expander_phy()
961 &mr_sas_phy->remote_identify); in mpi3mr_add_expander_phy()
962 phy->identify.phy_identifier = mr_sas_phy->phy_id; in mpi3mr_add_expander_phy()
975 phy->hostdata = mr_sas_phy->hba_port; in mpi3mr_add_expander_phy()
987 mr_sas_phy->handle, (unsigned long long) in mpi3mr_add_expander_phy()
988 mr_sas_phy->identify.sas_address, in mpi3mr_add_expander_phy()
989 mr_sas_phy->attached_handle, in mpi3mr_add_expander_phy()
991 mr_sas_phy->remote_identify.sas_address); in mpi3mr_add_expander_phy()
992 mr_sas_phy->phy = phy; in mpi3mr_add_expander_phy()
1061 struct mpi3mr_sas_phy *mr_sas_phy; in mpi3mr_update_links() local
1074 mr_sas_phy = &mr_sas_node->phy[phy_number]; in mpi3mr_update_links()
1075 mr_sas_phy->attached_handle = handle; in mpi3mr_update_links()
1079 &mr_sas_phy->remote_identify); in mpi3mr_update_links()
1081 mr_sas_phy, mr_sas_phy->remote_identify.sas_address, in mpi3mr_update_links()
1084 memset(&mr_sas_phy->remote_identify, 0, sizeof(struct in mpi3mr_update_links()
1087 if (mr_sas_phy->phy) in mpi3mr_update_links()
1088 mr_sas_phy->phy->negotiated_linkrate = in mpi3mr_update_links()
1092 dev_info(&mr_sas_phy->phy->dev, in mpi3mr_update_links()
1098 mr_sas_phy->remote_identify.sas_address); in mpi3mr_update_links()
1312 struct mpi3mr_sas_phy *mr_sas_phy, *next; in mpi3mr_sas_port_add() local
1406 list_for_each_entry(mr_sas_phy, &mr_sas_port->phy_list, in mpi3mr_sas_port_add()
1413 mr_sas_phy->phy_id); in mpi3mr_sas_port_add()
1414 sas_port_add_phy(port, mr_sas_phy->phy); in mpi3mr_sas_port_add()
1415 mr_sas_phy->phy_belongs_to_port = 1; in mpi3mr_sas_port_add()
1416 mr_sas_phy->hba_port = hba_port; in mpi3mr_sas_port_add()
1470 list_for_each_entry_safe(mr_sas_phy, next, &mr_sas_port->phy_list, in mpi3mr_sas_port_add()
1472 list_del(&mr_sas_phy->port_siblings); in mpi3mr_sas_port_add()
1497 struct mpi3mr_sas_phy *mr_sas_phy, *next_phy; in mpi3mr_sas_port_remove() local
1553 list_for_each_entry_safe(mr_sas_phy, next_phy, in mpi3mr_sas_port_remove()
1560 mr_sas_phy->phy_id); in mpi3mr_sas_port_remove()
1561 mr_sas_phy->phy_belongs_to_port = 0; in mpi3mr_sas_port_remove()
1564 mr_sas_phy->phy); in mpi3mr_sas_port_remove()
1565 list_del(&mr_sas_phy->port_siblings); in mpi3mr_sas_port_remove()
1615 struct mpi3mr_sas_phy *mr_sas_phy; in mpi3mr_update_mr_sas_port() local
1643 mr_sas_phy = &mrioc->sas_hba.phy[i]; in mpi3mr_update_mr_sas_port()
1644 if (mr_sas_phy->phy_belongs_to_port) in mpi3mr_update_mr_sas_port()
1646 &mrioc->sas_hba, mr_sas_phy); in mpi3mr_update_mr_sas_port()
1648 &mrioc->sas_hba, mr_sas_phy, in mpi3mr_update_mr_sas_port()
1655 mr_sas_phy = &mrioc->sas_hba.phy[i]; in mpi3mr_update_mr_sas_port()
1656 if (mr_sas_phy->phy_belongs_to_port) in mpi3mr_update_mr_sas_port()
1658 &mrioc->sas_hba, mr_sas_phy); in mpi3mr_update_mr_sas_port()