Lines Matching defs:textbuf

45 void hw_queue_ddump(ocs_textbuf_t *textbuf, ocs_hw_t *hw);
52 * @param textbuf pointer to text buffer
63 ocs_ddump_sli4_queue(ocs_textbuf_t *textbuf, const char *name, ocs_hw_t *hw, sli4_queue_t *q, uint32_t q_count, uint32_t qentries)
68 ocs_ddump_section(textbuf, name, i);
69 ocs_ddump_value(textbuf, "index", "%d", q->index);
70 ocs_ddump_value(textbuf, "size", "%d", q->size);
71 ocs_ddump_value(textbuf, "length", "%d", q->length);
72 ocs_ddump_value(textbuf, "n_posted", "%d", q->n_posted);
73 ocs_ddump_value(textbuf, "id", "%d", q->id);
74 ocs_ddump_value(textbuf, "type", "%d", q->type);
75 ocs_ddump_value(textbuf, "proc_limit", "%d", q->proc_limit);
76 ocs_ddump_value(textbuf, "posted_limit", "%d", q->posted_limit);
77 ocs_ddump_value(textbuf, "max_num_processed", "%d", q->max_num_processed);
78 ocs_ddump_value(textbuf, "max_process_time", "%ld", (unsigned long)q->max_process_time);
79 ocs_ddump_value(textbuf, "virt_addr", "%p", q->dma.virt);
80 ocs_ddump_value(textbuf, "phys_addr", "%lx", (unsigned long)q->dma.phys);
85 ocs_ddump_value(textbuf, "r_idx", "%d", q->u.r_idx);
88 ocs_ddump_value(textbuf, "is_mq", "%d", q->u.flag.is_mq);
98 ocs_ddump_value(textbuf, "is_hdr", "%d", q->u.flag.is_hdr);
99 ocs_ddump_value(textbuf, "rq_batch", "%d", q->u.flag.rq_batch);
110 ocs_ddump_value(textbuf, "rqes_produced", "%d", rqe_count);
114 ocs_ddump_queue_entries(textbuf, q->dma.virt, q->size, q->length,
117 ocs_ddump_endsection(textbuf, name, i);
127 * @param textbuf pointer to text buffer
135 ocs_ddump_sli_q_fields(ocs_textbuf_t *textbuf, sli4_t *sli4, sli4_qtype_e qtype)
148 ocs_ddump_section(textbuf, q_desc, qtype);
150 ocs_ddump_value(textbuf, "max_qcount", "%d", sli4->config.max_qcount[qtype]);
151 ocs_ddump_value(textbuf, "max_qentries", "%d", sli4->config.max_qentries[qtype]);
152 ocs_ddump_value(textbuf, "qpage_count", "%d", sli4->config.qpage_count[qtype]);
153 ocs_ddump_endsection(textbuf, q_desc, qtype);
162 * @param textbuf pointer to text buffer
169 ocs_ddump_sli(ocs_textbuf_t *textbuf, sli4_t *sli4)
174 ocs_ddump_section(textbuf, "sli4", 0);
176 ocs_ddump_value(textbuf, "sli_rev", "%d", sli4->sli_rev);
177 ocs_ddump_value(textbuf, "sli_family", "%d", sli4->sli_family);
178 ocs_ddump_value(textbuf, "if_type", "%d", sli4->if_type);
187 ocs_ddump_value(textbuf, "asic_type", "%s", p);
200 ocs_ddump_value(textbuf, "asic_rev", "%s", p);
202 ocs_ddump_value(textbuf, "e_d_tov", "%d", sli4->config.e_d_tov);
203 ocs_ddump_value(textbuf, "r_a_tov", "%d", sli4->config.r_a_tov);
204 ocs_ddump_value(textbuf, "link_module_type", "%d", sli4->config.link_module_type);
205 ocs_ddump_value(textbuf, "rq_batch", "%d", sli4->config.rq_batch);
206 ocs_ddump_value(textbuf, "topology", "%d", sli4->config.topology);
207 ocs_ddump_value(textbuf, "wwpn", "%02x%02x%02x%02x%02x%02x%02x%02x",
216 ocs_ddump_value(textbuf, "wwnn", "%02x%02x%02x%02x%02x%02x%02x%02x",
225 ocs_ddump_value(textbuf, "fw_rev0", "%d", sli4->config.fw_rev[0]);
226 ocs_ddump_value(textbuf, "fw_rev1", "%d", sli4->config.fw_rev[1]);
227 ocs_ddump_value(textbuf, "fw_name0", "%s", (char*)sli4->config.fw_name[0]);
228 ocs_ddump_value(textbuf, "fw_name1", "%s", (char*)sli4->config.fw_name[1]);
229 ocs_ddump_value(textbuf, "hw_rev0", "%x", sli4->config.hw_rev[0]);
230 ocs_ddump_value(textbuf, "hw_rev1", "%x", sli4->config.hw_rev[1]);
231 ocs_ddump_value(textbuf, "hw_rev2", "%x", sli4->config.hw_rev[2]);
232 ocs_ddump_value(textbuf, "sge_supported_length", "%x", sli4->config.sge_supported_length);
233 ocs_ddump_value(textbuf, "sgl_page_sizes", "%x", sli4->config.sgl_page_sizes);
234 ocs_ddump_value(textbuf, "max_sgl_pages", "%x", sli4->config.max_sgl_pages);
235 ocs_ddump_value(textbuf, "high_login_mode", "%x", sli4->config.high_login_mode);
236 ocs_ddump_value(textbuf, "sgl_pre_registered", "%x", sli4->config.sgl_pre_registered);
237 ocs_ddump_value(textbuf, "sgl_pre_registration_required", "%x", sli4->config.sgl_pre_registration_required);
239 ocs_ddump_value(textbuf, "sgl_chaining_capable", "%x", cparams->chaining_capable);
240 ocs_ddump_value(textbuf, "frag_num_field_offset", "%x", cparams->frag_num_field_offset);
241 ocs_ddump_value(textbuf, "frag_num_field_mask", "%016llx", (unsigned long long)cparams->frag_num_field_mask);
242 ocs_ddump_value(textbuf, "sgl_index_field_offset", "%x", cparams->sgl_index_field_offset);
243 ocs_ddump_value(textbuf, "sgl_index_field_mask", "%016llx", (unsigned long long)cparams->sgl_index_field_mask);
244 ocs_ddump_value(textbuf, "chain_sge_initial_value_lo", "%x", cparams->chain_sge_initial_value_lo);
245 ocs_ddump_value(textbuf, "chain_sge_initial_value_hi", "%x", cparams->chain_sge_initial_value_hi);
247 ocs_ddump_value(textbuf, "max_vfi", "%d", sli_get_max_rsrc(sli4, SLI_RSRC_FCOE_VFI));
248 ocs_ddump_value(textbuf, "max_vpi", "%d", sli_get_max_rsrc(sli4, SLI_RSRC_FCOE_VPI));
249 ocs_ddump_value(textbuf, "max_rpi", "%d", sli_get_max_rsrc(sli4, SLI_RSRC_FCOE_RPI));
250 ocs_ddump_value(textbuf, "max_xri", "%d", sli_get_max_rsrc(sli4, SLI_RSRC_FCOE_XRI));
251 ocs_ddump_value(textbuf, "max_fcfi", "%d", sli_get_max_rsrc(sli4, SLI_RSRC_FCOE_FCFI));
253 ocs_ddump_sli_q_fields(textbuf, sli4, SLI_QTYPE_EQ);
254 ocs_ddump_sli_q_fields(textbuf, sli4, SLI_QTYPE_CQ);
255 ocs_ddump_sli_q_fields(textbuf, sli4, SLI_QTYPE_MQ);
256 ocs_ddump_sli_q_fields(textbuf, sli4, SLI_QTYPE_WQ);
257 ocs_ddump_sli_q_fields(textbuf, sli4, SLI_QTYPE_RQ);
259 ocs_ddump_endsection(textbuf, "sli4", 0);
268 * @param textbuf pointer to text buffer
275 ocs_ddump_hw_io(ocs_textbuf_t *textbuf, ocs_hw_io_t *io)
279 ocs_ddump_section(textbuf, "hw_io", io->indicator);
281 ocs_ddump_value(textbuf, "state", "%d", io->state);
282 ocs_ddump_value(textbuf, "xri", "0x%x", io->indicator);
283 ocs_ddump_value(textbuf, "tag", "0x%x", io->reqtag);
284 ocs_ddump_value(textbuf, "abort_reqtag", "0x%x", io->abort_reqtag);
285 ocs_ddump_value(textbuf, "ref_count", "%d", ocs_ref_read_count(&io->ref));
288 ocs_ddump_value(textbuf, "abort", "0x%x", io->abort_in_progress);
289 ocs_ddump_value(textbuf, "wq_index", "%d", (io->wq == NULL ? 0xffff : io->wq->instance));
290 ocs_ddump_value(textbuf, "type", "%d", io->type);
291 ocs_ddump_value(textbuf, "xbusy", "%d", io->xbusy);
292 ocs_ddump_value(textbuf, "active_wqe_link", "%d", ocs_list_on_list(&io->wqe_link));
293 ocs_ddump_value(textbuf, "def_sgl_count", "%d", io->def_sgl_count);
294 ocs_ddump_value(textbuf, "n_sge", "%d", io->n_sge);
295 ocs_ddump_value(textbuf, "has_ovfl_sgl", "%s", (io->ovfl_sgl != NULL ? "TRUE" : "FALSE"));
296 ocs_ddump_value(textbuf, "has_ovfl_io", "%s", (io->ovfl_io != NULL ? "TRUE" : "FALSE"));
298 ocs_ddump_endsection(textbuf, "hw_io", io->indicator);
306 * @param textbuf pointer to text buffer
310 ocs_ddump_queue_history(ocs_textbuf_t *textbuf, ocs_hw_q_hist_t *q_hist)
314 ocs_ddump_section(textbuf, "q_hist", 0);
315 ocs_ddump_value(textbuf, "count", "%ld", OCS_Q_HIST_SIZE);
316 ocs_ddump_value(textbuf, "index", "%d", q_hist->q_hist_index);
319 ocs_ddump_section(textbuf, "history", 0);
320 ocs_textbuf_printf(textbuf, "No history available\n");
321 ocs_ddump_endsection(textbuf, "history", 0);
322 ocs_ddump_endsection(textbuf, "q_hist", 0);
327 ocs_textbuf_printf(textbuf, "<history>\n");
328 ocs_textbuf_printf(textbuf, "(newest first):\n");
349 ocs_textbuf_printf(textbuf, "%s:\n",
358 ocs_textbuf_printf(textbuf, " t: %" PRIu64 "\n", tsc_value);
366 ocs_textbuf_printf(textbuf, " qid=0x%x idx=0x%x\n",
376 ocs_textbuf_printf(textbuf, " [%d]=%x\n",
388 ocs_textbuf_printf(textbuf, "</history>\n");
389 ocs_ddump_endsection(textbuf, "q_hist", 0);
398 * @param textbuf pointer to text buffer
407 ocs_ddump_hw(ocs_textbuf_t *textbuf, ocs_hw_t *hw, uint32_t flags, uint32_t qentries)
418 ocs_ddump_section(textbuf, "hw", ocs->instance_index);
423 ocs_ddump_value(textbuf, "uerr_mask_hi", "%08x",
425 ocs_ddump_value(textbuf, "uerr_mask_lo", "%08x",
427 ocs_ddump_value(textbuf, "uerr_status_hi", "%08x",
429 ocs_ddump_value(textbuf, "uerr_status_lo", "%08x",
433 ocs_ddump_value(textbuf, "sliport_status", "%08x",
435 ocs_ddump_value(textbuf, "sliport_error1", "%08x",
437 ocs_ddump_value(textbuf, "sliport_error2", "%08x",
442 ocs_ddump_value(textbuf, "link_status", "%d", hw->link.status);
443 ocs_ddump_value(textbuf, "link_speed", "%d", hw->link.speed);
444 ocs_ddump_value(textbuf, "link_topology", "%d", hw->link.topology);
445 ocs_ddump_value(textbuf, "state", "%d", hw->state);
446 ocs_ddump_value(textbuf, "io_alloc_failed_count", "%d", ocs_atomic_read(&hw->io_alloc_failed_count));
447 ocs_ddump_value(textbuf, "n_io", "%d", hw->config.n_io);
449 ocs_ddump_value(textbuf, "queue_topology", "%s", hw->config.queue_topology);
450 ocs_ddump_value(textbuf, "rq_selection_policy", "%d", hw->config.rq_selection_policy);
451 ocs_ddump_value(textbuf, "rr_quanta", "%d", hw->config.rr_quanta);
453 ocs_ddump_value(textbuf, "filter_def", "%08X", hw->config.filter_def[i]);
455 ocs_ddump_value(textbuf, "n_eq", "%d", hw->eq_count);
456 ocs_ddump_value(textbuf, "n_cq", "%d", hw->cq_count);
457 ocs_ddump_value(textbuf, "n_mq", "%d", hw->mq_count);
458 ocs_ddump_value(textbuf, "n_rq", "%d", hw->rq_count);
459 ocs_ddump_value(textbuf, "n_wq", "%d", hw->wq_count);
460 ocs_ddump_value(textbuf, "n_sgl", "%d", hw->config.n_sgl);
462 ocs_ddump_sli(textbuf, &hw->sli);
464 ocs_ddump_sli4_queue(textbuf, "wq", hw, hw->wq, hw->wq_count,
466 ocs_ddump_sli4_queue(textbuf, "rq", hw, hw->rq, hw->rq_count,
468 ocs_ddump_sli4_queue(textbuf, "mq", hw, hw->mq, hw->mq_count,
470 ocs_ddump_sli4_queue(textbuf, "cq", hw, hw->cq, hw->cq_count,
472 ocs_ddump_sli4_queue(textbuf, "eq", hw, hw->eq, hw->eq_count,
477 ocs_ddump_section(textbuf, "io_quarantine", i);
478 ocs_ddump_value(textbuf, "quarantine_index", "%d", hw->hw_wq[i]->quarantine_info.quarantine_index);
481 ocs_ddump_hw_io(textbuf, hw->hw_wq[i]->quarantine_info.quarantine_ios[j]);
484 ocs_ddump_endsection(textbuf, "io_quarantine", i);
487 ocs_ddump_section(textbuf, "workaround", ocs->instance_index);
488 ocs_ddump_value(textbuf, "fwrev", "%08llx", (unsigned long long)hw->workaround.fwrev);
489 ocs_ddump_endsection(textbuf, "workaround", ocs->instance_index);
492 ocs_ddump_section(textbuf, "io_inuse", ocs->instance_index);
494 ocs_ddump_hw_io(textbuf, io);
496 ocs_ddump_endsection(textbuf, "io_inuse", ocs->instance_index);
498 ocs_ddump_section(textbuf, "io_wait_free", ocs->instance_index);
500 ocs_ddump_hw_io(textbuf, io);
502 ocs_ddump_endsection(textbuf, "io_wait_free", ocs->instance_index);
503 ocs_ddump_section(textbuf, "io_free", ocs->instance_index);
507 ocs_ddump_hw_io(textbuf, io);
511 ocs_ddump_endsection(textbuf, "io_free", ocs->instance_index);
512 ocs_ddump_value(textbuf, "ios_free", "%d", cnt);
514 ocs_ddump_value(textbuf, "sec_hio_wait_count", "%d", hw->sec_hio_wait_count);
518 ocs_ddump_section(textbuf, "port_owned_ios", ocs->instance_index);
527 ocs_ddump_hw_io(textbuf, io);
531 ocs_ddump_endsection(textbuf, "port_owned_ios", ocs->instance_index);
533 ocs_textbuf_printf(textbuf, "<rpi_ref>");
537 ocs_textbuf_printf(textbuf, "[%d] att=%d cnt=%d\n", i,
542 ocs_textbuf_printf(textbuf, "</rpi_ref>");
545 ocs_ddump_value(textbuf, "wq_submit", "%d", hw->tcmd_wq_submit[i]);
548 ocs_ddump_value(textbuf, "wq_complete", "%d", hw->tcmd_wq_complete[i]);
551 hw_queue_ddump(textbuf, hw);
553 ocs_ddump_endsection(textbuf, "hw", ocs->instance_index);
558 hw_queue_ddump(ocs_textbuf_t *textbuf, ocs_hw_t *hw)
567 ocs_ddump_section(textbuf, "hw_queue", 0);
569 ocs_ddump_section(textbuf, "eq", eq->instance);
570 ocs_ddump_value(textbuf, "queue-id", "%d", eq->queue->id);
571 OCS_STAT(ocs_ddump_value(textbuf, "use_count", "%d", eq->use_count));
573 ocs_ddump_section(textbuf, "cq", cq->instance);
574 ocs_ddump_value(textbuf, "queue-id", "%d", cq->queue->id);
575 OCS_STAT(ocs_ddump_value(textbuf, "use_count", "%d", cq->use_count));
580 ocs_ddump_section(textbuf, "mq", mq->instance);
581 ocs_ddump_value(textbuf, "queue-id", "%d", mq->queue->id);
582 OCS_STAT(ocs_ddump_value(textbuf, "use_count", "%d", mq->use_count));
583 ocs_ddump_endsection(textbuf, "mq", mq->instance);
587 ocs_ddump_section(textbuf, "wq", wq->instance);
588 ocs_ddump_value(textbuf, "queue-id", "%d", wq->queue->id);
589 OCS_STAT(ocs_ddump_value(textbuf, "use_count", "%d", wq->use_count));
590 ocs_ddump_value(textbuf, "wqec_count", "%d", wq->wqec_count);
591 ocs_ddump_value(textbuf, "free_count", "%d", wq->free_count);
592 OCS_STAT(ocs_ddump_value(textbuf, "wq_pending_count", "%d",
594 ocs_ddump_endsection(textbuf, "wq", wq->instance);
598 ocs_ddump_section(textbuf, "rq", rq->instance);
599 OCS_STAT(ocs_ddump_value(textbuf, "use_count", "%d", rq->use_count));
600 ocs_ddump_value(textbuf, "filter_mask", "%d", rq->filter_mask);
602 ocs_ddump_value(textbuf, "hdr-id", "%d", rq->hdr->id);
603 OCS_STAT(ocs_ddump_value(textbuf, "hdr_use_count", "%d", rq->hdr_use_count));
606 OCS_STAT(ocs_ddump_value(textbuf, "fb-id", "%d", rq->first_burst->id));
607 OCS_STAT(ocs_ddump_value(textbuf, "fb_use_count", "%d", rq->fb_use_count));
610 OCS_STAT(ocs_ddump_value(textbuf, "payload-id", "%d", rq->data->id));
611 OCS_STAT(ocs_ddump_value(textbuf, "payload_use_count", "%d", rq->payload_use_count));
613 ocs_ddump_endsection(textbuf, "rq", rq->instance);
619 ocs_ddump_endsection(textbuf, "cq", cq->instance);
621 ocs_ddump_endsection(textbuf, "eq", eq->instance);
623 ocs_ddump_endsection(textbuf, "hw_queue", 0);
633 * @param textbuf pointer to text buffer
641 ocs_ddump(ocs_t *ocs, ocs_textbuf_t *textbuf, uint32_t flags, uint32_t qentries)
651 ocs_ddump_startfile(textbuf);
653 ocs_ddump_section(textbuf, "ocs", ocs->instance_index);
655 ocs_ddump_section(textbuf, "ocs_os", ocs->instance_index);
657 ocs_ddump_value(textbuf, "numa_node", "%d", ocs->ocs_os.numa_node);
659 ocs_ddump_endsection(textbuf, "ocs_os", ocs->instance_index);
661 ocs_ddump_value(textbuf, "drv_name", "%s", DRV_NAME);
662 ocs_ddump_value(textbuf, "drv_version", "%s", DRV_VERSION);
663 ocs_ddump_value(textbuf, "display_name", "%s", ocs->display_name);
664 ocs_ddump_value(textbuf, "enable_ini", "%d", ocs->enable_ini);
665 ocs_ddump_value(textbuf, "enable_tgt", "%d", ocs->enable_tgt);
666 ocs_ddump_value(textbuf, "nodes_count", "%d", xport->nodes_count);
667 ocs_ddump_value(textbuf, "enable_hlm", "%d", ocs->enable_hlm);
668 ocs_ddump_value(textbuf, "hlm_group_size", "%d", ocs->hlm_group_size);
669 ocs_ddump_value(textbuf, "auto_xfer_rdy_size", "%d", ocs->auto_xfer_rdy_size);
670 ocs_ddump_value(textbuf, "io_alloc_failed_count", "%d", ocs_atomic_read(&xport->io_alloc_failed_count));
671 ocs_ddump_value(textbuf, "io_active_count", "%d", ocs_atomic_read(&xport->io_active_count));
672 ocs_ddump_value(textbuf, "io_pending_count", "%d", ocs_atomic_read(&xport->io_pending_count));
673 ocs_ddump_value(textbuf, "io_total_alloc", "%d", ocs_atomic_read(&xport->io_total_alloc));
674 ocs_ddump_value(textbuf, "io_total_free", "%d", ocs_atomic_read(&xport->io_total_free));
675 ocs_ddump_value(textbuf, "io_total_pending", "%d", ocs_atomic_read(&xport->io_total_pending));
676 ocs_ddump_value(textbuf, "io_pending_recursing", "%d", ocs_atomic_read(&xport->io_pending_recursing));
677 ocs_ddump_value(textbuf, "max_isr_time_msec", "%d", ocs->max_isr_time_msec);
682 ocs_ddump_section(textbuf, "pending_frames", i);
683 ocs_ddump_value(textbuf, "hold_frames", "%d", xport->fcfi[i].hold_frames);
692 ocs_ddump_value(textbuf, "frame", "%s", buf);
694 ocs_ddump_endsection(textbuf, "pending_frames", i);
700 ocs_ddump_section(textbuf, "io_pending_list", ocs->instance_index);
702 ocs_ddump_io(textbuf, io);
704 ocs_ddump_endsection(textbuf, "io_pending_list", ocs->instance_index);
709 ocs_ddump_section(textbuf, "locks", 0);
714 ocs_ddump_section(textbuf, "lock", idx);
715 ocs_ddump_value(textbuf, "name", "%s", l->name);
716 ocs_ddump_value(textbuf, "inuse", "%d", l->inuse);
717 ocs_ddump_value(textbuf, "caller", "%p", l->caller[0]);
718 ocs_ddump_value(textbuf, "pid", "%08x", l->pid.l);
719 ocs_ddump_endsection(textbuf, "lock", idx);
723 ocs_ddump_endsection(textbuf, "locks", 0);
733 ocs_ddump_section(textbuf, "vport_spec", instance);
734 ocs_ddump_value(textbuf, "domain_instance", "%d", vport->domain_instance);
735 ocs_ddump_value(textbuf, "wwnn", "%llx", (unsigned long long)vport->wwnn);
736 ocs_ddump_value(textbuf, "wwpn", "%llx", (unsigned long long)vport->wwpn);
737 ocs_ddump_value(textbuf, "fc_id", "0x%x", vport->fc_id);
738 ocs_ddump_value(textbuf, "enable_tgt", "%d", vport->enable_tgt);
739 ocs_ddump_value(textbuf, "enable_ini", "%d" PRIx64, vport->enable_ini);
740 ocs_ddump_endsection(textbuf, "vport_spec", instance ++);
745 ocs_scsi_ini_ddump(textbuf, OCS_SCSI_DDUMP_DEVICE, ocs);
746 ocs_scsi_tgt_ddump(textbuf, OCS_SCSI_DDUMP_DEVICE, ocs);
748 ocs_ddump_hw(textbuf, &ocs->hw, flags, qentries);
756 retval = ocs_ddump_domain(textbuf, domain);
763 ocs_ddump_ramlog(textbuf, ocs->ramlog);
767 ocs_ddump_section(textbuf, "q_hist", ocs->instance_index);
768 ocs_textbuf_printf(textbuf, "<history>\n");
769 ocs_textbuf_printf(textbuf, "No history available\n");
770 ocs_textbuf_printf(textbuf, "</history>\n");
771 ocs_ddump_endsection(textbuf, "q_hist", ocs->instance_index);
773 ocs_ddump_queue_history(textbuf, &ocs->hw.q_hist);
777 ocs_memory_allocated_ddump(textbuf);
780 ocs_ddump_endsection(textbuf, "ocs", ocs->instance_index);
782 ocs_ddump_endfile(textbuf);
871 /* if there's a saved ddump, copy to newly allocated textbuf */