Lines Matching defs:fw_device

78  * @param[in] fw_device the framework SMP device that is being
84 SCIF_SAS_REMOTE_DEVICE_T * fw_device
89 fw_device->protocol_device.smp_device.current_activity =
92 fw_device->protocol_device.smp_device.current_smp_request =
95 fw_device->protocol_device.smp_device.current_activity_phy_index = 0;
97 fw_device->protocol_device.smp_device.curr_config_route_index = 0;
99 fw_device->protocol_device.smp_device.config_route_smp_phy_anchor = NULL;
101 fw_device->protocol_device.smp_device.is_route_table_cleaned = FALSE;
103 fw_device->protocol_device.smp_device.curr_config_route_destination_smp_phy = NULL;
105 fw_device->protocol_device.smp_device.scheduled_activity =
108 fw_device->protocol_device.smp_device.io_retry_count = 0;
110 fw_device->protocol_device.smp_device.curr_clear_affiliation_phy = NULL;
112 if (fw_device->protocol_device.smp_device.smp_activity_timer != NULL)
116 fw_device->domain->controller,
117 fw_device->protocol_device.smp_device.smp_activity_timer
122 fw_device->domain->controller,
123 fw_device->protocol_device.smp_device.smp_activity_timer
126 fw_device->protocol_device.smp_device.smp_activity_timer = NULL;
134 * @param[in] fw_device the framework SMP device that is being
140 SCIF_SAS_REMOTE_DEVICE_T * fw_device
144 sci_base_object_get_logger(fw_device),
147 fw_device
150 fw_device->protocol_device.smp_device.number_of_phys = 0;
151 fw_device->protocol_device.smp_device.expander_route_indexes = 0;
152 fw_device->protocol_device.smp_device.is_table_to_table_supported = FALSE;
153 fw_device->protocol_device.smp_device.is_externally_configurable = FALSE;
154 fw_device->protocol_device.smp_device.is_able_to_config_others = FALSE;
156 sci_fast_list_init(&fw_device->protocol_device.smp_device.smp_phy_list);
158 scif_sas_smp_remote_device_clear(fw_device);
166 * @param[in] fw_device The framework device that a SMP response targets to.
174 SCIF_SAS_REMOTE_DEVICE_T * fw_device,
183 if (fw_device->protocol_device.smp_device.smp_activity_timer != NULL)
188 fw_device->domain->controller,
189 fw_device->protocol_device.smp_device.smp_activity_timer
192 fw_device->protocol_device.smp_device.smp_activity_timer = NULL;
200 fw_device, fw_request, SCI_FAILURE_RETRY_REQUIRED
207 switch (fw_device->protocol_device.smp_device.current_smp_request)
213 fw_device, smp_response
229 if (fw_device->protocol_device.smp_device.current_activity ==
234 fw_device, smp_response
237 else if (fw_device->protocol_device.smp_device.current_activity ==
244 fw_device, smp_response
247 else if (fw_device->protocol_device.smp_device.current_activity ==
253 fw_device, smp_response
265 fw_device, smp_response
273 if (fw_device->protocol_device.smp_device.current_activity ==
278 fw_device, smp_response
281 else if (fw_device->protocol_device.smp_device.current_activity ==
287 fw_device, smp_response
290 else if (fw_device->protocol_device.smp_device.current_activity ==
307 fw_device, smp_response
320 fw_device, fw_request, status
331 * @param[in] fw_device The framework device that the REPORT GENERAL command
338 SCIF_SAS_REMOTE_DEVICE_T * fw_device,
348 sci_base_object_get_logger(fw_device),
351 fw_device, smp_response
360 sci_base_object_get_logger(fw_device),
370 fw_device->protocol_device.smp_device.number_of_phys =
374 fw_device->protocol_device.smp_device.expander_route_indexes =
378 fw_device->protocol_device.smp_device.is_table_to_table_supported =
381 fw_device->protocol_device.smp_device.is_externally_configurable =
384 fw_device->protocol_device.smp_device.is_able_to_config_others =
391 if (fw_device->containing_device == NULL
392 && ! fw_device->protocol_device.smp_device.is_able_to_config_others)
393 fw_device->domain->is_config_route_table_needed = TRUE;
397 if (fw_device->protocol_device.smp_device.smp_phy_list.element_count == 0)
398 scif_sas_smp_remote_device_populate_smp_phy_list(fw_device);
413 * @param[in] fw_device The framework device that the DISCOVER command
420 SCIF_SAS_REMOTE_DEVICE_T * fw_device,
424 SCIF_SAS_DOMAIN_T * fw_domain = fw_device->domain;
432 sci_base_object_get_logger(fw_device),
435 fw_device, smp_response
448 sci_base_object_get_logger(fw_device),
478 && attached_remote_device != fw_device->containing_device )
502 && attached_remote_device != fw_device->containing_device)
514 fw_domain->controller, fw_domain, fw_device, discover_response
533 fw_device->protocol_device.smp_device.current_smp_request =
546 fw_device,
568 fw_domain->controller, fw_domain, fw_device, discover_response
573 fw_device->protocol_device.smp_device.current_smp_request =
579 fw_device, discover_response);
587 * @param[in] fw_device The framework device that the REPORT PHY SATA
595 SCIF_SAS_REMOTE_DEVICE_T * fw_device,
605 sci_base_object_get_logger(fw_device),
608 fw_device, smp_response
617 sci_base_object_get_logger(fw_device),
631 fw_device->protocol_device.smp_device.current_smp_request =
642 * @param[in] fw_device The framework device that the Phy Control command
650 SCIF_SAS_REMOTE_DEVICE_T * fw_device,
659 sci_base_object_get_logger(fw_device),
662 fw_device, smp_response
671 sci_base_object_get_logger(fw_device),
688 * @param[in] fw_device The framework device that the Phy Control command
695 SCIF_SAS_REMOTE_DEVICE_T * fw_device,
704 sci_base_object_get_logger(fw_device),
707 fw_device, smp_response
716 sci_base_object_get_logger(fw_device),
726 fw_device->protocol_device.smp_device.current_smp_request =
738 * @param[in] fw_device The framework device that the DISCOVER command
745 SCIF_SAS_REMOTE_DEVICE_T * fw_device,
757 sci_base_object_get_logger(fw_device),
760 fw_device, smp_response
769 sci_base_object_get_logger(fw_device),
781 fw_domain = fw_device->domain;
798 * SATA DEVICE ATTACHED and has a valid NPL value, we call fw_device's
802 * @param[in] fw_device The framework device that the DISCOVER command
810 SCIF_SAS_REMOTE_DEVICE_T * fw_device,
819 sci_base_object_get_logger(fw_device),
822 fw_device, smp_response
831 sci_base_object_get_logger(fw_device),
850 fw_device->domain,
851 fw_device,
852 fw_device->protocol_device.smp_device.current_activity_phy_index
863 fw_device, discover_response);
882 * @param[in] fw_device The framework device that the CONFIG ROUTE INFO command
889 SCIF_SAS_REMOTE_DEVICE_T * fw_device,
896 sci_base_object_get_logger(fw_device),
899 fw_device, smp_response
907 scif_sas_smp_remote_device_cancel_config_route_table_activity(fw_device);
917 sci_base_object_get_logger(fw_device),
934 * @param[in] fw_device The framework smp device that a command
940 SCIF_SAS_REMOTE_DEVICE_T * fw_device
943 SCIF_SAS_CONTROLLER_T * fw_controller = fw_device->domain->controller;
946 sci_base_object_get_logger(fw_device),
949 fw_device
954 scif_sas_smp_remote_device_clear(fw_device);
957 fw_device->protocol_device.smp_device.current_activity =
961 fw_device->protocol_device.smp_device.current_smp_request =
965 fw_device->protocol_device.smp_device.scheduled_activity =
969 scif_sas_smp_request_construct_report_general(fw_controller, fw_device);
983 * @param[in] fw_device The framework smp device that a DISCOVER command
992 SCIF_SAS_REMOTE_DEVICE_T * fw_device,
1006 fw_device->domain->controller,
1012 if (fw_device->protocol_device.smp_device.current_activity ==
1017 scif_sas_smp_remote_device_continue_discover(fw_device);
1028 fw_device, io_retry_count, retry_wait_duration);
1030 scif_sas_smp_remote_device_fail_discover(fw_device);
1036 scif_sas_domain_remove_expander_device(fw_device->domain, fw_device);
1039 scif_sas_domain_continue_discover(fw_device->domain);
1043 scif_sas_smp_remote_device_fail_discover(fw_device);
1046 else if (fw_device->protocol_device.smp_device.current_activity ==
1052 fw_device, fw_request);
1061 if (fw_device->protocol_device.smp_device.smp_activity_timer == NULL)
1064 fw_device->protocol_device.smp_device.smp_activity_timer =
1066 (SCI_CONTROLLER_HANDLE_T *)fw_device->domain->controller,
1078 (SCI_CONTROLLER_HANDLE_T)fw_device->domain->controller,
1079 fw_device->protocol_device.smp_device.smp_activity_timer,
1084 scif_sas_smp_remote_device_fail_target_reset(fw_device, fw_request);
1088 scif_sas_smp_remote_device_fail_target_reset(fw_device, fw_request);
1090 else if (fw_device->protocol_device.smp_device.current_activity ==
1095 fw_device->domain,
1096 fw_device,
1097 fw_device->protocol_device.smp_device.current_activity_phy_index
1103 scif_sas_smp_remote_device_sata_spinup_hold_release(fw_device);
1117 fw_device, io_retry_count, delay);
1122 fw_device , target_device);
1127 fw_device, target_device);
1129 else if (fw_device->protocol_device.smp_device.current_activity ==
1133 &(fw_device->protocol_device.smp_device.curr_config_route_destination_smp_phy->list_element) );
1136 fw_device->protocol_device.smp_device.curr_config_route_destination_smp_phy->list_element.owning_list;
1143 fw_device->protocol_device.smp_device.curr_config_route_index++;
1145 fw_device->protocol_device.smp_device.curr_config_route_destination_smp_phy =
1149 fw_device->protocol_device.smp_device.config_route_smp_phy_anchor->config_route_table_index_anchor =
1150 fw_device->protocol_device.smp_device.curr_config_route_index;
1152 scif_sas_smp_remote_device_configure_route_table(fw_device);
1154 else if ( scif_sas_smp_remote_device_get_config_route_table_method(fw_device)
1157 fw_device->protocol_device.smp_device.config_route_smp_phy_anchor)
1162 fw_device->protocol_device.smp_device.config_route_smp_phy_anchor =
1165 fw_device->protocol_device.smp_device.current_activity_phy_index =
1166 fw_device->protocol_device.smp_device.config_route_smp_phy_anchor->phy_identifier;
1168 fw_device->protocol_device.smp_device.curr_config_route_destination_smp_phy =
1171 if (fw_device->protocol_device.smp_device.config_route_smp_phy_anchor->config_route_table_index_anchor != 0)
1172 fw_device->protocol_device.smp_device.curr_config_route_index =
1173 fw_device->protocol_device.smp_device.config_route_smp_phy_anchor->config_route_table_index_anchor + 1;
1175 fw_device->protocol_device.smp_device.curr_config_route_index = 0;
1177 scif_sas_smp_remote_device_configure_route_table(fw_device);
1179 else if ( fw_device->protocol_device.smp_device.is_route_table_cleaned == FALSE)
1181 fw_device->protocol_device.smp_device.current_activity =
1184 scif_sas_smp_remote_device_clean_route_table(fw_device);
1189 fw_device->protocol_device.smp_device.current_activity =
1194 scif_sas_domain_continue_discover(fw_device->domain);
1197 else if (fw_device->protocol_device.smp_device.current_activity ==
1200 scif_sas_smp_remote_device_clean_route_table(fw_device);
1202 else if (fw_device->protocol_device.smp_device.current_activity ==
1205 scif_sas_smp_remote_device_continue_clear_affiliation(fw_device);
1213 * @param[in] fw_device The framework smp device that a DISCOVER command
1219 SCIF_SAS_REMOTE_DEVICE_T * fw_device
1222 SCIF_SAS_DOMAIN_T * fw_domain = fw_device->domain;
1225 sci_base_object_get_logger(fw_device),
1228 fw_device
1231 switch (fw_device->protocol_device.smp_device.current_smp_request)
1235 fw_device->protocol_device.smp_device.current_smp_request =
1239 fw_domain->controller, fw_device
1246 fw_device->protocol_device.smp_device.current_activity_phy_index = 0;
1247 fw_device->protocol_device.smp_device.current_smp_request =
1252 fw_device,
1253 fw_device->protocol_device.smp_device.current_activity_phy_index,
1260 fw_device->protocol_device.smp_device.current_activity_phy_index++;
1262 if ( (fw_device->protocol_device.smp_device.current_activity_phy_index <
1263 fw_device->protocol_device.smp_device.number_of_phys) )
1267 fw_device,
1268 fw_device->protocol_device.smp_device.current_activity_phy_index,
1273 scif_sas_smp_remote_device_finish_initial_discover(fw_device);
1279 fw_device->domain->controller,
1280 fw_device,
1281 fw_device->protocol_device.smp_device.current_activity_phy_index
1289 fw_device->domain->controller,
1290 fw_device,
1292 fw_device->protocol_device.smp_device.current_activity_phy_index,
1310 * @param[in] fw_device The framework smp device that finishes all the
1316 SCIF_SAS_REMOTE_DEVICE_T * fw_device
1320 scif_sas_domain_find_device_in_spinup_hold(fw_device->domain);
1323 sci_base_object_get_logger(fw_device),
1326 fw_device
1332 scif_sas_smp_remote_device_clear(fw_device);
1335 fw_device->protocol_device.smp_device.current_activity =
1340 if (fw_device->protocol_device.smp_device.smp_activity_timer == NULL)
1342 fw_device->protocol_device.smp_device.smp_activity_timer =
1344 (SCI_CONTROLLER_HANDLE_T *)fw_device->domain->controller,
1346 (void*)fw_device
1355 (SCI_CONTROLLER_HANDLE_T)fw_device->domain->controller,
1356 fw_device->protocol_device.smp_device.smp_activity_timer,
1361 scif_sas_smp_remote_device_finish_discover(fw_device);
1368 * @param[in] fw_device The framework smp device that finishes all the
1374 SCIF_SAS_REMOTE_DEVICE_T * fw_device
1377 SCIF_SAS_DOMAIN_T * fw_domain = fw_device->domain;
1380 sci_base_object_get_logger(fw_device),
1383 fw_device
1387 && fw_device->protocol_device.smp_device.smp_phy_list.list_head != NULL)
1388 scif_sas_smp_remote_device_configure_upstream_expander_route_info(fw_device);
1391 scif_sas_smp_remote_device_clear(fw_device);
1394 scif_sas_smp_remote_device_print_smp_phy_list(fw_device);
1406 * @param[in] fw_device The framework smp device that a smp reset targets to.
1411 SCIF_SAS_REMOTE_DEVICE_T * fw_device,
1415 SCIF_SAS_CONTROLLER_T * fw_controller = fw_device->domain->controller;
1418 fw_device->domain,
1419 fw_device,
1420 fw_device->protocol_device.smp_device.current_activity_phy_index
1424 sci_base_object_get_logger(fw_device),
1427 fw_device, fw_request
1430 if (fw_device->protocol_device.smp_device.current_smp_request ==
1441 if (fw_device->protocol_device.smp_device.smp_activity_timer == NULL)
1443 fw_device->protocol_device.smp_device.smp_activity_timer =
1458 fw_device->protocol_device.smp_device.smp_activity_timer,
1462 else if (fw_device->protocol_device.smp_device.current_smp_request ==
1484 SCIF_SAS_REMOTE_DEVICE_T * fw_device = fw_request->device;
1485 SCIF_SAS_CONTROLLER_T * fw_controller = fw_device->domain->controller;
1489 sci_base_object_get_logger(fw_device),
1500 fw_device->protocol_device.smp_device.current_smp_request =
1506 fw_device->domain->controller,
1507 fw_device,
1508 fw_device->protocol_device.smp_device.current_activity_phy_index,
1526 * @param[in] fw_device The framework smp device that failed at current
1532 SCIF_SAS_REMOTE_DEVICE_T * fw_device
1536 sci_base_object_get_logger(fw_device),
1539 fw_device
1542 switch (fw_device->protocol_device.smp_device.current_smp_request)
1546 scif_sas_smp_remote_device_finish_discover(fw_device);
1552 fw_device->protocol_device.smp_device.current_smp_request =
1555 scif_sas_smp_remote_device_continue_discover(fw_device);
1567 * @param[in] fw_device The framework smp device that failed at current
1575 SCIF_SAS_REMOTE_DEVICE_T * fw_device,
1581 fw_device->domain,
1582 fw_device,
1583 fw_device->protocol_device.smp_device.current_activity_phy_index
1587 sci_base_object_get_logger(fw_device),
1590 fw_device, target_device, fw_request
1606 * @param[in] fw_device The framework smp device that is on SATA SPINUP_HOLD_RELEASE
1612 SCIF_SAS_REMOTE_DEVICE_T * fw_device
1615 SCIF_SAS_DOMAIN_T * fw_domain = fw_device->domain;
1620 sci_base_object_get_logger(fw_device),
1623 fw_device
1633 fw_device->protocol_device.smp_device.current_smp_request =
1636 fw_device->protocol_device.smp_device.current_activity_phy_index =
1641 fw_device,
1642 fw_device->protocol_device.smp_device.current_activity_phy_index,
1652 scif_sas_smp_remote_device_finish_discover (fw_device);
1661 * @param[in] fw_device The framework smp device that is on SATA SPINUP_HOLD_RELEASE
1669 SCIF_SAS_REMOTE_DEVICE_T * fw_device,
1673 SCIF_SAS_DOMAIN_T * fw_domain = fw_device->domain;
1676 sci_base_object_get_logger(fw_device),
1679 fw_device, target_device
1689 scif_sas_smp_remote_device_sata_spinup_hold_release(fw_device);
1696 * @param[in] fw_device The framework smp device that has an smp request to retry.
1703 SCIF_SAS_REMOTE_DEVICE_T * fw_device,
1709 sci_base_object_get_logger(fw_device),
1712 fw_device, io_retry_count, delay
1715 fw_device->protocol_device.smp_device.io_retry_count =
1719 if (fw_device->protocol_device.smp_device.smp_activity_timer == NULL)
1721 fw_device->protocol_device.smp_device.smp_activity_timer =
1723 (SCI_CONTROLLER_HANDLE_T *)fw_device->domain->controller,
1725 (void*)fw_device
1734 (SCI_CONTROLLER_HANDLE_T)fw_device->domain->controller,
1735 fw_device->protocol_device.smp_device.smp_activity_timer,
1745 * @param[in] fw_device The framework smp device.
1750 SCIF_SAS_REMOTE_DEVICE_T * fw_device
1753 return(fw_device->protocol_device.smp_device.current_activity
1792 * @param[in] fw_device The expander device that is about to be removed.
1838 * @param[in] fw_device The expander device that a timed out smp request towards to.
1844 SCIF_SAS_REMOTE_DEVICE_T * fw_device,
1849 sci_base_object_get_logger(fw_device),
1852 fw_device, fw_request
1856 fw_device, fw_request, NULL, SCI_IO_FAILURE_RETRY_REQUIRED
1864 * @param[in] fw_device The expander device, whose smp phy list is to be populated after
1870 SCIF_SAS_REMOTE_DEVICE_T * fw_device
1877 sci_base_object_get_logger(fw_device),
1880 fw_device
1884 expander_phy_id < fw_device->protocol_device.smp_device.number_of_phys;
1888 scif_sas_controller_allocate_smp_phy(fw_device->domain->controller);
1893 scif_sas_smp_phy_construct(this_smp_phy, fw_device, expander_phy_id);
1901 * @param[in] fw_device The expander device, one of whose smp phys is to be updated.
1909 SCIF_SAS_REMOTE_DEVICE_T * fw_device,
1918 sci_base_object_get_logger(fw_device),
1921 fw_device, discover_response
1926 &fw_device->protocol_device.smp_device
1934 fw_device->domain, &discover_response->attached_sas_address);
1942 //this fw_device is a child expander, just found its parent expander.
1945 && attached_device == fw_device->containing_device )
1971 SCIF_SAS_REMOTE_DEVICE_T * fw_device
1974 SCIF_SAS_SMP_REMOTE_DEVICE_T * smp_remote_device = &fw_device->protocol_device.smp_device;
1979 sci_base_object_get_logger(fw_device),
1982 fw_device
1992 sci_base_object_get_logger(fw_device),
2363 * @param[in] fw_device The expander device, whose route table entry is to be cleaned.
2368 SCIF_SAS_REMOTE_DEVICE_T * fw_device
2374 sci_base_object_get_logger(fw_device),
2377 fw_device
2381 fw_device->protocol_device.smp_device.curr_config_route_index++;
2383 if ( fw_device->protocol_device.smp_device.curr_config_route_index >=
2384 fw_device->protocol_device.smp_device.expander_route_indexes )
2386 fw_device->protocol_device.smp_device.curr_config_route_index = 0;
2390 fw_device->protocol_device.smp_device.current_activity_phy_index++;
2391 if (fw_device->protocol_device.smp_device.current_activity_phy_index ==
2392 fw_device->protocol_device.smp_device.number_of_phys)
2393 fw_device->protocol_device.smp_device.current_activity_phy_index=0;
2398 fw_device->protocol_device.smp_device.current_activity_phy_index,
2399 &(fw_device->protocol_device.smp_device)
2404 fw_device->protocol_device.smp_device.config_route_smp_phy_anchor->phy_identifier)
2407 fw_device->protocol_device.smp_device.curr_config_route_index =
2410 fw_device->protocol_device.smp_device.curr_config_route_index = 0;
2414 if ( !(fw_device->protocol_device.smp_device.current_activity_phy_index ==
2415 fw_device->protocol_device.smp_device.config_route_smp_phy_anchor->phy_identifier
2416 && fw_device->protocol_device.smp_device.curr_config_route_index == 0)
2420 scif_sas_smp_remote_device_clean_route_table_entry(fw_device);
2424 fw_device->protocol_device.smp_device.is_route_table_cleaned = TRUE;
2427 fw_device->protocol_device.smp_device.current_activity =
2432 scif_sas_domain_continue_discover(fw_device->domain);
2439 * @param[in] fw_device The expander device, whose route table entry is to be cleaned.
2444 SCIF_SAS_REMOTE_DEVICE_T * fw_device
2449 &(fw_device->protocol_device.smp_device);
2452 sci_base_object_get_logger(fw_device),
2455 fw_device
2462 fw_device->domain->controller,
2463 fw_device,
2472 fw_device->domain->controller,
2474 fw_device->domain->controller
2484 * @param[in] fw_device The expander device, whose route table to be edited but failed
2490 SCIF_SAS_REMOTE_DEVICE_T * fw_device
2495 &(fw_device->protocol_device.smp_device.curr_config_route_destination_smp_phy->list_element);
2500 sci_base_object_get_logger(fw_device),
2503 fw_device
2514 fw_device, curr_smp_phy) == TRUE )
2520 fw_device->domain, &(curr_smp_phy->attached_sas_address));
2533 * @param[in] fw_device The expander device, whose smp activity is to be canceled.
2538 SCIF_SAS_REMOTE_DEVICE_T * fw_device
2542 sci_base_object_get_logger(fw_device),
2545 fw_device
2550 fw_device->domain, fw_device, NULL, NULL
2553 if (fw_device->protocol_device.smp_device.current_activity ==
2555 scif_sas_smp_remote_device_cancel_config_route_table_activity(fw_device);
2558 scif_sas_smp_remote_device_clear(fw_device);
2568 * @param[in] fw_device The expander device, whose config route table method is
2574 SCIF_SAS_REMOTE_DEVICE_T * fw_device