sci_rnc 85 drivers/scsi/isci/remote_node_context.c struct sci_remote_node_context *sci_rnc) sci_rnc 87 drivers/scsi/isci/remote_node_context.c u32 current_state = sci_rnc->sm.current_state_id; sci_rnc 96 drivers/scsi/isci/remote_node_context.c bool sci_remote_node_context_is_suspended(struct sci_remote_node_context *sci_rnc) sci_rnc 98 drivers/scsi/isci/remote_node_context.c u32 current_state = sci_rnc->sm.current_state_id; sci_rnc 114 drivers/scsi/isci/remote_node_context.c static void sci_remote_node_context_construct_buffer(struct sci_remote_node_context *sci_rnc) sci_rnc 116 drivers/scsi/isci/remote_node_context.c struct isci_remote_device *idev = rnc_to_dev(sci_rnc); sci_rnc 118 drivers/scsi/isci/remote_node_context.c int rni = sci_rnc->remote_node_index; sci_rnc 177 drivers/scsi/isci/remote_node_context.c struct sci_remote_node_context *sci_rnc, sci_rnc 182 drivers/scsi/isci/remote_node_context.c if (sci_rnc->destination_state != RNC_DEST_FINAL) { sci_rnc 183 drivers/scsi/isci/remote_node_context.c sci_rnc->destination_state = dest_param; sci_rnc 185 drivers/scsi/isci/remote_node_context.c sci_rnc->user_callback = callback; sci_rnc 186 drivers/scsi/isci/remote_node_context.c sci_rnc->user_cookie = callback_parameter; sci_rnc 192 drivers/scsi/isci/remote_node_context.c struct sci_remote_node_context *sci_rnc, sci_rnc 196 drivers/scsi/isci/remote_node_context.c struct isci_host *ihost = idev_to_ihost(rnc_to_dev(sci_rnc)); sci_rnc 198 drivers/scsi/isci/remote_node_context.c sci_rnc->destination_state = RNC_DEST_FINAL; sci_rnc 199 drivers/scsi/isci/remote_node_context.c sci_rnc->user_callback = callback; sci_rnc 200 drivers/scsi/isci/remote_node_context.c sci_rnc->user_cookie = callback_parameter; sci_rnc 239 drivers/scsi/isci/remote_node_context.c static void sci_remote_node_context_validate_context_buffer(struct sci_remote_node_context *sci_rnc) sci_rnc 242 drivers/scsi/isci/remote_node_context.c struct isci_remote_device *idev = rnc_to_dev(sci_rnc); sci_rnc 246 drivers/scsi/isci/remote_node_context.c rnc_buffer = sci_rnc_by_id(ihost, sci_rnc->remote_node_index); sci_rnc 257 drivers/scsi/isci/remote_node_context.c sci_rnc->remote_node_index); sci_rnc 261 drivers/scsi/isci/remote_node_context.c static void sci_remote_node_context_invalidate_context_buffer(struct sci_remote_node_context *sci_rnc) sci_rnc 264 drivers/scsi/isci/remote_node_context.c struct isci_remote_device *idev = rnc_to_dev(sci_rnc); sci_rnc 267 drivers/scsi/isci/remote_node_context.c rnc_buffer = sci_rnc_by_id(ihost, sci_rnc->remote_node_index); sci_rnc 271 drivers/scsi/isci/remote_node_context.c sci_remote_device_post_request(rnc_to_dev(sci_rnc), sci_rnc 295 drivers/scsi/isci/remote_node_context.c struct sci_remote_node_context *sci_rnc = container_of(sm, typeof(*sci_rnc), sm); sci_rnc 297 drivers/scsi/isci/remote_node_context.c sci_remote_node_context_validate_context_buffer(sci_rnc); sci_rnc 428 drivers/scsi/isci/remote_node_context.c enum sci_status sci_remote_node_context_event_handler(struct sci_remote_node_context *sci_rnc, sci_rnc 434 drivers/scsi/isci/remote_node_context.c state = sci_rnc->sm.current_state_id; sci_rnc 439 drivers/scsi/isci/remote_node_context.c sci_change_state(&sci_rnc->sm, SCI_RNC_READY); sci_rnc 447 drivers/scsi/isci/remote_node_context.c if (sci_rnc->destination_state == RNC_DEST_FINAL) sci_rnc 451 drivers/scsi/isci/remote_node_context.c sci_change_state(&sci_rnc->sm, next_state); sci_rnc 458 drivers/scsi/isci/remote_node_context.c dev_warn(scirdev_to_dev(rnc_to_dev(sci_rnc)), sci_rnc 461 drivers/scsi/isci/remote_node_context.c "invalidated.\n", __func__, sci_rnc); sci_rnc 470 drivers/scsi/isci/remote_node_context.c sci_change_state(&sci_rnc->sm, SCI_RNC_READY); sci_rnc 477 drivers/scsi/isci/remote_node_context.c dev_warn(scirdev_to_dev(rnc_to_dev(sci_rnc)), sci_rnc 480 drivers/scsi/isci/remote_node_context.c __func__, sci_rnc); sci_rnc 490 drivers/scsi/isci/remote_node_context.c sci_change_state(&sci_rnc->sm, SCI_RNC_TX_SUSPENDED); sci_rnc 491 drivers/scsi/isci/remote_node_context.c sci_rnc->suspend_type = scu_get_event_type(event_code); sci_rnc 494 drivers/scsi/isci/remote_node_context.c sci_change_state(&sci_rnc->sm, SCI_RNC_TX_RX_SUSPENDED); sci_rnc 495 drivers/scsi/isci/remote_node_context.c sci_rnc->suspend_type = scu_get_event_type(event_code); sci_rnc 512 drivers/scsi/isci/remote_node_context.c if (sci_rnc->suspend_type == scu_get_event_type(event_code)) sci_rnc 513 drivers/scsi/isci/remote_node_context.c sci_change_state(&sci_rnc->sm, next_state); sci_rnc 516 drivers/scsi/isci/remote_node_context.c dev_warn(scirdev_to_dev(rnc_to_dev(sci_rnc)), sci_rnc 524 drivers/scsi/isci/remote_node_context.c dev_warn(scirdev_to_dev(rnc_to_dev(sci_rnc)), sci_rnc 531 drivers/scsi/isci/remote_node_context.c enum sci_status sci_remote_node_context_destruct(struct sci_remote_node_context *sci_rnc, sci_rnc 537 drivers/scsi/isci/remote_node_context.c state = sci_rnc->sm.current_state_id; sci_rnc 540 drivers/scsi/isci/remote_node_context.c sci_remote_node_context_setup_to_destroy(sci_rnc, cb_fn, cb_p); sci_rnc 547 drivers/scsi/isci/remote_node_context.c sci_remote_node_context_setup_to_destroy(sci_rnc, cb_fn, cb_p); sci_rnc 548 drivers/scsi/isci/remote_node_context.c sci_change_state(&sci_rnc->sm, SCI_RNC_INVALIDATING); sci_rnc 551 drivers/scsi/isci/remote_node_context.c sci_remote_node_context_setup_to_destroy(sci_rnc, cb_fn, cb_p); sci_rnc 554 drivers/scsi/isci/remote_node_context.c dev_warn(scirdev_to_dev(rnc_to_dev(sci_rnc)), sci_rnc 563 drivers/scsi/isci/remote_node_context.c dev_warn(scirdev_to_dev(rnc_to_dev(sci_rnc)), sci_rnc 571 drivers/scsi/isci/remote_node_context.c struct sci_remote_node_context *sci_rnc, sci_rnc 576 drivers/scsi/isci/remote_node_context.c = sci_rnc->sm.current_state_id; sci_rnc 577 drivers/scsi/isci/remote_node_context.c struct isci_remote_device *idev = rnc_to_dev(sci_rnc); sci_rnc 585 drivers/scsi/isci/remote_node_context.c __func__, rnc_state_name(state), sci_rnc->suspend_type, sci_rnc 586 drivers/scsi/isci/remote_node_context.c sci_rnc->destination_state, suspend_reason, sci_rnc 591 drivers/scsi/isci/remote_node_context.c (sci_rnc->destination_state == RNC_DEST_FINAL)) sci_rnc 592 drivers/scsi/isci/remote_node_context.c dest_param = sci_rnc->destination_state; sci_rnc 598 drivers/scsi/isci/remote_node_context.c if (sci_rnc->destination_state == RNC_DEST_FINAL) { sci_rnc 601 drivers/scsi/isci/remote_node_context.c __func__, sci_rnc); sci_rnc 612 drivers/scsi/isci/remote_node_context.c if (sci_rnc->destination_state != RNC_DEST_FINAL) sci_rnc 613 drivers/scsi/isci/remote_node_context.c sci_rnc->destination_state = RNC_DEST_SUSPENDED; sci_rnc 614 drivers/scsi/isci/remote_node_context.c sci_rnc->suspend_type = suspend_type; sci_rnc 615 drivers/scsi/isci/remote_node_context.c sci_rnc->suspend_reason = suspend_reason; sci_rnc 627 drivers/scsi/isci/remote_node_context.c if ((sci_rnc->suspend_type == SCU_EVENT_TL_RNC_SUSPEND_TX_RX) sci_rnc 628 drivers/scsi/isci/remote_node_context.c || (suspend_type == sci_rnc->suspend_type)) sci_rnc 632 drivers/scsi/isci/remote_node_context.c dev_warn(scirdev_to_dev(rnc_to_dev(sci_rnc)), sci_rnc 637 drivers/scsi/isci/remote_node_context.c sci_rnc->destination_state = dest_param; sci_rnc 638 drivers/scsi/isci/remote_node_context.c sci_rnc->suspend_type = suspend_type; sci_rnc 639 drivers/scsi/isci/remote_node_context.c sci_rnc->suspend_reason = suspend_reason; sci_rnc 657 drivers/scsi/isci/remote_node_context.c sci_change_state(&sci_rnc->sm, SCI_RNC_AWAIT_SUSPENSION); sci_rnc 662 drivers/scsi/isci/remote_node_context.c enum sci_status sci_remote_node_context_resume(struct sci_remote_node_context *sci_rnc, sci_rnc 667 drivers/scsi/isci/remote_node_context.c struct isci_remote_device *idev = rnc_to_dev(sci_rnc); sci_rnc 669 drivers/scsi/isci/remote_node_context.c state = sci_rnc->sm.current_state_id; sci_rnc 674 drivers/scsi/isci/remote_node_context.c sci_rnc->destination_state, sci_rnc 680 drivers/scsi/isci/remote_node_context.c if (sci_rnc->remote_node_index == SCIC_SDS_REMOTE_NODE_CONTEXT_INVALID_INDEX) sci_rnc 683 drivers/scsi/isci/remote_node_context.c sci_remote_node_context_setup_to_resume(sci_rnc, cb_fn, cb_p, sci_rnc 686 drivers/scsi/isci/remote_node_context.c sci_remote_node_context_construct_buffer(sci_rnc); sci_rnc 687 drivers/scsi/isci/remote_node_context.c sci_change_state(&sci_rnc->sm, SCI_RNC_POSTING); sci_rnc 697 drivers/scsi/isci/remote_node_context.c switch (sci_rnc->destination_state) { sci_rnc 704 drivers/scsi/isci/remote_node_context.c sci_rnc, cb_fn, cb_p, sci_rnc 709 drivers/scsi/isci/remote_node_context.c sci_rnc, cb_fn, cb_p, sci_rnc 725 drivers/scsi/isci/remote_node_context.c sci_rnc, cb_fn, cb_p, RNC_DEST_READY); sci_rnc 729 drivers/scsi/isci/remote_node_context.c (sci_rnc->destination_state == RNC_DEST_FINAL)) sci_rnc 730 drivers/scsi/isci/remote_node_context.c sci_change_state(&sci_rnc->sm, sci_rnc 733 drivers/scsi/isci/remote_node_context.c sci_change_state(&sci_rnc->sm, sci_rnc 741 drivers/scsi/isci/remote_node_context.c sci_rnc, cb_fn, cb_p, RNC_DEST_SUSPENDED_RESUME); sci_rnc 744 drivers/scsi/isci/remote_node_context.c dev_warn(scirdev_to_dev(rnc_to_dev(sci_rnc)), sci_rnc 751 drivers/scsi/isci/remote_node_context.c enum sci_status sci_remote_node_context_start_io(struct sci_remote_node_context *sci_rnc, sci_rnc 756 drivers/scsi/isci/remote_node_context.c state = sci_rnc->sm.current_state_id; sci_rnc 764 drivers/scsi/isci/remote_node_context.c dev_warn(scirdev_to_dev(rnc_to_dev(sci_rnc)), sci_rnc 769 drivers/scsi/isci/remote_node_context.c dev_dbg(scirdev_to_dev(rnc_to_dev(sci_rnc)), sci_rnc 777 drivers/scsi/isci/remote_node_context.c struct sci_remote_node_context *sci_rnc, sci_rnc 782 drivers/scsi/isci/remote_node_context.c enum sci_status status = sci_remote_node_context_resume(sci_rnc, sci_rnc 785 drivers/scsi/isci/remote_node_context.c dev_warn(scirdev_to_dev(rnc_to_dev(sci_rnc)), sci_rnc 791 drivers/scsi/isci/remote_node_context.c struct sci_remote_node_context *sci_rnc) sci_rnc 795 drivers/scsi/isci/remote_node_context.c state = sci_rnc->sm.current_state_id; sci_rnc 808 drivers/scsi/isci/remote_node_context.c dev_warn(scirdev_to_dev(rnc_to_dev(sci_rnc)), sci_rnc 205 drivers/scsi/isci/remote_node_context.h struct sci_remote_node_context *sci_rnc); sci_rnc 207 drivers/scsi/isci/remote_node_context.h bool sci_remote_node_context_is_suspended(struct sci_remote_node_context *sci_rnc); sci_rnc 209 drivers/scsi/isci/remote_node_context.h enum sci_status sci_remote_node_context_event_handler(struct sci_remote_node_context *sci_rnc, sci_rnc 211 drivers/scsi/isci/remote_node_context.h enum sci_status sci_remote_node_context_destruct(struct sci_remote_node_context *sci_rnc, sci_rnc 214 drivers/scsi/isci/remote_node_context.h enum sci_status sci_remote_node_context_suspend(struct sci_remote_node_context *sci_rnc, sci_rnc 217 drivers/scsi/isci/remote_node_context.h enum sci_status sci_remote_node_context_resume(struct sci_remote_node_context *sci_rnc, sci_rnc 220 drivers/scsi/isci/remote_node_context.h enum sci_status sci_remote_node_context_start_task(struct sci_remote_node_context *sci_rnc, sci_rnc 224 drivers/scsi/isci/remote_node_context.h enum sci_status sci_remote_node_context_start_io(struct sci_remote_node_context *sci_rnc, sci_rnc 227 drivers/scsi/isci/remote_node_context.h struct sci_remote_node_context *sci_rnc); sci_rnc 230 drivers/scsi/isci/remote_node_context.h struct sci_remote_node_context *sci_rnc) sci_rnc 232 drivers/scsi/isci/remote_node_context.h return (sci_rnc->destination_state == RNC_DEST_FINAL) sci_rnc 233 drivers/scsi/isci/remote_node_context.h || ((sci_rnc->sm.current_state_id == SCI_RNC_INITIAL) sci_rnc 234 drivers/scsi/isci/remote_node_context.h && (sci_rnc->destination_state == RNC_DEST_UNSPECIFIED));