Lines Matching refs:hw

45 void hw_queue_ddump(ocs_textbuf_t *textbuf, ocs_hw_t *hw);
54 * @param hw pointer HW context
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)
102 for (i = 0; i < hw->hw_rq_count; i++) {
103 rq = hw->hw_rq[i];
394 * @brief Generate hw ddump
396 * Generates hw ddump
399 * @param hw pointer HW context
407 ocs_ddump_hw(ocs_textbuf_t *textbuf, ocs_hw_t *hw, uint32_t flags, uint32_t qentries)
409 ocs_t *ocs = hw->os;
414 uint32_t max_rpi = sli_get_max_rsrc(&hw->sli, SLI_RSRC_FCOE_RPI);
418 ocs_ddump_section(textbuf, "hw", ocs->instance_index);
421 switch(hw->sli.if_type) {
424 sli_reg_read(&hw->sli, SLI4_REG_UERR_MASK_HI));
426 sli_reg_read(&hw->sli, SLI4_REG_UERR_MASK_LO));
428 sli_reg_read(&hw->sli, SLI4_REG_UERR_STATUS_HI));
430 sli_reg_read(&hw->sli, SLI4_REG_UERR_STATUS_LO));
434 sli_reg_read(&hw->sli, SLI4_REG_SLIPORT_STATUS));
436 sli_reg_read(&hw->sli, SLI4_REG_SLIPORT_ERROR1));
438 sli_reg_read(&hw->sli, SLI4_REG_SLIPORT_ERROR2));
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);
452 for (i = 0; i < ARRAY_SIZE(hw->config.filter_def); i++) {
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,
476 for (i = 0; i < hw->wq_count; i++) {
478 ocs_ddump_value(textbuf, "quarantine_index", "%d", hw->hw_wq[i]->quarantine_info.quarantine_index);
480 if (hw->hw_wq[i]->quarantine_info.quarantine_ios[j] != NULL) {
481 ocs_ddump_hw_io(textbuf, hw->hw_wq[i]->quarantine_info.quarantine_ios[j]);
488 ocs_ddump_value(textbuf, "fwrev", "%08llx", (unsigned long long)hw->workaround.fwrev);
491 ocs_lock(&hw->io_lock);
493 ocs_list_foreach(&hw->io_inuse, io) {
499 ocs_list_foreach(&hw->io_wait_free, io) {
504 ocs_list_foreach(&hw->io_free, io) {
514 ocs_ddump_value(textbuf, "sec_hio_wait_count", "%d", hw->sec_hio_wait_count);
515 ocs_unlock(&hw->io_lock);
519 for (i = 0; i < hw->config.n_io; i++) {
520 io = hw->io[i];
524 if (ocs_hw_is_xri_port_owned(hw, io->indicator)) {
535 if (ocs_atomic_read(&hw->rpi_ref[i].rpi_attached) ||
536 ocs_atomic_read(&hw->rpi_ref[i].rpi_count) ) {
538 ocs_atomic_read(&hw->rpi_ref[i].rpi_attached),
539 ocs_atomic_read(&hw->rpi_ref[i].rpi_count));
544 for (i = 0; i < hw->wq_count; i++) {
545 ocs_ddump_value(textbuf, "wq_submit", "%d", hw->tcmd_wq_submit[i]);
547 for (i = 0; i < hw->wq_count; 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)
568 ocs_list_foreach(&hw->eq_list, eq) {
748 ocs_ddump_hw(textbuf, &ocs->hw, flags, qentries);
773 ocs_ddump_queue_history(textbuf, &ocs->hw.q_hist);