Lines Matching full:ocs

38 #include "ocs.h"
403 ocs_t *ocs = hw->os; in ocs_ddump_hw() local
410 ocs_assert(ocs); in ocs_ddump_hw()
412 ocs_ddump_section(textbuf, "hw", ocs->instance_index); in ocs_ddump_hw()
481 ocs_ddump_section(textbuf, "workaround", ocs->instance_index); in ocs_ddump_hw()
483 ocs_ddump_endsection(textbuf, "workaround", ocs->instance_index); in ocs_ddump_hw()
486 ocs_ddump_section(textbuf, "io_inuse", ocs->instance_index); in ocs_ddump_hw()
490 ocs_ddump_endsection(textbuf, "io_inuse", ocs->instance_index); in ocs_ddump_hw()
492 ocs_ddump_section(textbuf, "io_wait_free", ocs->instance_index); in ocs_ddump_hw()
496 ocs_ddump_endsection(textbuf, "io_wait_free", ocs->instance_index); in ocs_ddump_hw()
497 ocs_ddump_section(textbuf, "io_free", ocs->instance_index); in ocs_ddump_hw()
505 ocs_ddump_endsection(textbuf, "io_free", ocs->instance_index); in ocs_ddump_hw()
512 ocs_ddump_section(textbuf, "port_owned_ios", ocs->instance_index); in ocs_ddump_hw()
525 ocs_ddump_endsection(textbuf, "port_owned_ios", ocs->instance_index); in ocs_ddump_hw()
547 ocs_ddump_endsection(textbuf, "hw", ocs->instance_index); in ocs_ddump_hw()
623 * Traverses the ocs/domain/port/node/io data structures to generate a driver
626 * @param ocs pointer to device context
635 ocs_ddump(ocs_t *ocs, ocs_textbuf_t *textbuf, uint32_t flags, uint32_t qentries) in ocs_ddump() argument
637 ocs_xport_t *xport = ocs->xport; in ocs_ddump()
647 ocs_ddump_section(textbuf, "ocs", ocs->instance_index); in ocs_ddump()
649 ocs_ddump_section(textbuf, "ocs_os", ocs->instance_index); in ocs_ddump()
651 ocs_ddump_value(textbuf, "numa_node", "%d", ocs->ocs_os.numa_node); in ocs_ddump()
653 ocs_ddump_endsection(textbuf, "ocs_os", ocs->instance_index); in ocs_ddump()
657 ocs_ddump_value(textbuf, "display_name", "%s", ocs->display_name); in ocs_ddump()
658 ocs_ddump_value(textbuf, "enable_ini", "%d", ocs->enable_ini); in ocs_ddump()
659 ocs_ddump_value(textbuf, "enable_tgt", "%d", ocs->enable_tgt); in ocs_ddump()
661 ocs_ddump_value(textbuf, "enable_hlm", "%d", ocs->enable_hlm); in ocs_ddump()
662 ocs_ddump_value(textbuf, "hlm_group_size", "%d", ocs->hlm_group_size); in ocs_ddump()
663 ocs_ddump_value(textbuf, "auto_xfer_rdy_size", "%d", ocs->auto_xfer_rdy_size); in ocs_ddump()
671 ocs_ddump_value(textbuf, "max_isr_time_msec", "%d", ocs->max_isr_time_msec); in ocs_ddump()
694 ocs_ddump_section(textbuf, "io_pending_list", ocs->instance_index); in ocs_ddump()
698 ocs_ddump_endsection(textbuf, "io_pending_list", ocs->instance_index); in ocs_ddump()
704 ocs_lock(&ocs->ocs_os.locklist_lock); { in ocs_ddump()
707 ocs_list_foreach(&ocs->ocs_os.locklist, l) { in ocs_ddump()
716 } ocs_unlock(&ocs->ocs_os.locklist_lock); in ocs_ddump()
721 if (ocs_device_lock_try(ocs) != TRUE) { in ocs_ddump()
736 ocs_device_unlock(ocs); in ocs_ddump()
739 ocs_scsi_ini_ddump(textbuf, OCS_SCSI_DDUMP_DEVICE, ocs); in ocs_ddump()
740 ocs_scsi_tgt_ddump(textbuf, OCS_SCSI_DDUMP_DEVICE, ocs); in ocs_ddump()
742 ocs_ddump_hw(textbuf, &ocs->hw, flags, qentries); in ocs_ddump()
744 if (ocs_device_lock_try(ocs) != TRUE) { in ocs_ddump()
749 ocs_list_foreach(&ocs->domain_list, domain) { in ocs_ddump()
757 ocs_ddump_ramlog(textbuf, ocs->ramlog); in ocs_ddump()
758 ocs_device_unlock(ocs); in ocs_ddump()
761 ocs_ddump_section(textbuf, "q_hist", ocs->instance_index); in ocs_ddump()
765 ocs_ddump_endsection(textbuf, "q_hist", ocs->instance_index); in ocs_ddump()
767 ocs_ddump_queue_history(textbuf, &ocs->hw.q_hist); in ocs_ddump()
774 ocs_ddump_endsection(textbuf, "ocs", ocs->instance_index); in ocs_ddump()
789 * @param ocs pointer to device context
798 ocs_save_ddump(ocs_t *ocs, uint32_t flags, uint32_t qentries) in ocs_save_ddump() argument
800 if (ocs_textbuf_get_written(&ocs->ddump_saved) > 0) { in ocs_save_ddump()
801 ocs_log_debug(ocs, "Saved ddump already exists\n"); in ocs_save_ddump()
805 if (!ocs_textbuf_initialized(&ocs->ddump_saved)) { in ocs_save_ddump()
806 ocs_log_err(ocs, "Saved ddump not allocated\n"); in ocs_save_ddump()
810 ocs_log_debug(ocs, "Saving ddump\n"); in ocs_save_ddump()
811 ocs_ddump(ocs, &ocs->ddump_saved, flags, qentries); in ocs_save_ddump()
812 ocs_log_debug(ocs, "Saved ddump: %d bytes written\n", ocs_textbuf_get_written(&ocs->ddump_saved)); in ocs_save_ddump()
817 * @brief Capture and save ddump for all OCS instances
819 * Calls ocs_save_ddump() for each OCS instance.
832 ocs_t *ocs; in ocs_save_ddump_all() local
836 for (i = 0; (ocs = ocs_get_instance(i)) != NULL; i++) { in ocs_save_ddump_all()
837 if (alloc_flag && (!ocs_textbuf_initialized(&ocs->ddump_saved))) { in ocs_save_ddump_all()
838 rc = ocs_textbuf_alloc(ocs, &ocs->ddump_saved, DEFAULT_SAVED_DUMP_SIZE); in ocs_save_ddump_all()
844 rc = ocs_save_ddump(ocs, flags, qentries); in ocs_save_ddump_all()
857 * @param ocs pointer to device context
863 ocs_clear_saved_ddump(ocs_t *ocs) in ocs_clear_saved_ddump() argument
866 if (ocs_textbuf_get_written(&ocs->ddump_saved)) { in ocs_clear_saved_ddump()
867 ocs_log_debug(ocs, "saved ddump cleared\n"); in ocs_clear_saved_ddump()
868 ocs_textbuf_reset(&ocs->ddump_saved); in ocs_clear_saved_ddump()
871 ocs_log_debug(ocs, "no saved ddump found\n"); in ocs_clear_saved_ddump()