|
@@ -30,6 +30,8 @@
|
|
|
|
|
|
#define CTX \
|
|
|
hubbub->ctx
|
|
|
+#define DC_LOGGER \
|
|
|
+ hubbub->ctx->logger
|
|
|
#define REG(reg)\
|
|
|
hubbub->regs->reg
|
|
|
|
|
@@ -100,7 +102,6 @@ bool hubbub1_verify_allow_pstate_change_high(
|
|
|
static unsigned int max_sampled_pstate_wait_us; /* data collection */
|
|
|
static bool forced_pstate_allow; /* help with revert wa */
|
|
|
|
|
|
- unsigned int debug_index = 0x7;
|
|
|
unsigned int debug_data;
|
|
|
unsigned int i;
|
|
|
|
|
@@ -115,7 +116,9 @@ bool hubbub1_verify_allow_pstate_change_high(
|
|
|
forced_pstate_allow = false;
|
|
|
}
|
|
|
|
|
|
- /* description "3-0: Pipe0 cursor0 QOS
|
|
|
+ /* RV1:
|
|
|
+ * dchubbubdebugind, at: 0x7
|
|
|
+ * description "3-0: Pipe0 cursor0 QOS
|
|
|
* 7-4: Pipe1 cursor0 QOS
|
|
|
* 11-8: Pipe2 cursor0 QOS
|
|
|
* 15-12: Pipe3 cursor0 QOS
|
|
@@ -137,7 +140,8 @@ bool hubbub1_verify_allow_pstate_change_high(
|
|
|
* 31: SOC pstate change request
|
|
|
*/
|
|
|
|
|
|
- REG_WRITE(DCHUBBUB_TEST_DEBUG_INDEX, debug_index);
|
|
|
+
|
|
|
+ REG_WRITE(DCHUBBUB_TEST_DEBUG_INDEX, hubbub->debug_test_index_pstate);
|
|
|
|
|
|
for (i = 0; i < pstate_wait_timeout_us; i++) {
|
|
|
debug_data = REG_READ(DCHUBBUB_TEST_DEBUG_DATA);
|
|
@@ -145,8 +149,7 @@ bool hubbub1_verify_allow_pstate_change_high(
|
|
|
if (debug_data & (1 << 30)) {
|
|
|
|
|
|
if (i > pstate_wait_expected_timeout_us)
|
|
|
- dm_logger_write(hubbub->ctx->logger, LOG_WARNING,
|
|
|
- "pstate took longer than expected ~%dus\n",
|
|
|
+ DC_LOG_WARNING("pstate took longer than expected ~%dus\n",
|
|
|
i);
|
|
|
|
|
|
return true;
|
|
@@ -165,8 +168,7 @@ bool hubbub1_verify_allow_pstate_change_high(
|
|
|
DCHUBBUB_ARB_ALLOW_PSTATE_CHANGE_FORCE_ENABLE, 1);
|
|
|
forced_pstate_allow = true;
|
|
|
|
|
|
- dm_logger_write(hubbub->ctx->logger, LOG_WARNING,
|
|
|
- "pstate TEST_DEBUG_DATA: 0x%X\n",
|
|
|
+ DC_LOG_WARNING("pstate TEST_DEBUG_DATA: 0x%X\n",
|
|
|
debug_data);
|
|
|
|
|
|
return false;
|
|
@@ -209,16 +211,14 @@ void hubbub1_program_watermarks(
|
|
|
refclk_mhz, 0x1fffff);
|
|
|
REG_WRITE(DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_A, prog_wm_value);
|
|
|
|
|
|
- dm_logger_write(hubbub->ctx->logger, LOG_BANDWIDTH_CALCS,
|
|
|
- "URGENCY_WATERMARK_A calculated =%d\n"
|
|
|
+ DC_LOG_BANDWIDTH_CALCS("URGENCY_WATERMARK_A calculated =%d\n"
|
|
|
"HW register value = 0x%x\n",
|
|
|
watermarks->a.urgent_ns, prog_wm_value);
|
|
|
|
|
|
prog_wm_value = convert_and_clamp(watermarks->a.pte_meta_urgent_ns,
|
|
|
refclk_mhz, 0x1fffff);
|
|
|
REG_WRITE(DCHUBBUB_ARB_PTE_META_URGENCY_WATERMARK_A, prog_wm_value);
|
|
|
- dm_logger_write(hubbub->ctx->logger, LOG_BANDWIDTH_CALCS,
|
|
|
- "PTE_META_URGENCY_WATERMARK_A calculated =%d\n"
|
|
|
+ DC_LOG_BANDWIDTH_CALCS("PTE_META_URGENCY_WATERMARK_A calculated =%d\n"
|
|
|
"HW register value = 0x%x\n",
|
|
|
watermarks->a.pte_meta_urgent_ns, prog_wm_value);
|
|
|
|
|
@@ -227,8 +227,7 @@ void hubbub1_program_watermarks(
|
|
|
watermarks->a.cstate_pstate.cstate_enter_plus_exit_ns,
|
|
|
refclk_mhz, 0x1fffff);
|
|
|
REG_WRITE(DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_A, prog_wm_value);
|
|
|
- dm_logger_write(hubbub->ctx->logger, LOG_BANDWIDTH_CALCS,
|
|
|
- "SR_ENTER_EXIT_WATERMARK_A calculated =%d\n"
|
|
|
+ DC_LOG_BANDWIDTH_CALCS("SR_ENTER_EXIT_WATERMARK_A calculated =%d\n"
|
|
|
"HW register value = 0x%x\n",
|
|
|
watermarks->a.cstate_pstate.cstate_enter_plus_exit_ns, prog_wm_value);
|
|
|
|
|
@@ -237,8 +236,7 @@ void hubbub1_program_watermarks(
|
|
|
watermarks->a.cstate_pstate.cstate_exit_ns,
|
|
|
refclk_mhz, 0x1fffff);
|
|
|
REG_WRITE(DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_A, prog_wm_value);
|
|
|
- dm_logger_write(hubbub->ctx->logger, LOG_BANDWIDTH_CALCS,
|
|
|
- "SR_EXIT_WATERMARK_A calculated =%d\n"
|
|
|
+ DC_LOG_BANDWIDTH_CALCS("SR_EXIT_WATERMARK_A calculated =%d\n"
|
|
|
"HW register value = 0x%x\n",
|
|
|
watermarks->a.cstate_pstate.cstate_exit_ns, prog_wm_value);
|
|
|
}
|
|
@@ -247,8 +245,7 @@ void hubbub1_program_watermarks(
|
|
|
watermarks->a.cstate_pstate.pstate_change_ns,
|
|
|
refclk_mhz, 0x1fffff);
|
|
|
REG_WRITE(DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_A, prog_wm_value);
|
|
|
- dm_logger_write(hubbub->ctx->logger, LOG_BANDWIDTH_CALCS,
|
|
|
- "DRAM_CLK_CHANGE_WATERMARK_A calculated =%d\n"
|
|
|
+ DC_LOG_BANDWIDTH_CALCS("DRAM_CLK_CHANGE_WATERMARK_A calculated =%d\n"
|
|
|
"HW register value = 0x%x\n\n",
|
|
|
watermarks->a.cstate_pstate.pstate_change_ns, prog_wm_value);
|
|
|
|
|
@@ -257,8 +254,7 @@ void hubbub1_program_watermarks(
|
|
|
prog_wm_value = convert_and_clamp(
|
|
|
watermarks->b.urgent_ns, refclk_mhz, 0x1fffff);
|
|
|
REG_WRITE(DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_B, prog_wm_value);
|
|
|
- dm_logger_write(hubbub->ctx->logger, LOG_BANDWIDTH_CALCS,
|
|
|
- "URGENCY_WATERMARK_B calculated =%d\n"
|
|
|
+ DC_LOG_BANDWIDTH_CALCS("URGENCY_WATERMARK_B calculated =%d\n"
|
|
|
"HW register value = 0x%x\n",
|
|
|
watermarks->b.urgent_ns, prog_wm_value);
|
|
|
|
|
@@ -267,8 +263,7 @@ void hubbub1_program_watermarks(
|
|
|
watermarks->b.pte_meta_urgent_ns,
|
|
|
refclk_mhz, 0x1fffff);
|
|
|
REG_WRITE(DCHUBBUB_ARB_PTE_META_URGENCY_WATERMARK_B, prog_wm_value);
|
|
|
- dm_logger_write(hubbub->ctx->logger, LOG_BANDWIDTH_CALCS,
|
|
|
- "PTE_META_URGENCY_WATERMARK_B calculated =%d\n"
|
|
|
+ DC_LOG_BANDWIDTH_CALCS("PTE_META_URGENCY_WATERMARK_B calculated =%d\n"
|
|
|
"HW register value = 0x%x\n",
|
|
|
watermarks->b.pte_meta_urgent_ns, prog_wm_value);
|
|
|
|
|
@@ -278,8 +273,7 @@ void hubbub1_program_watermarks(
|
|
|
watermarks->b.cstate_pstate.cstate_enter_plus_exit_ns,
|
|
|
refclk_mhz, 0x1fffff);
|
|
|
REG_WRITE(DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_B, prog_wm_value);
|
|
|
- dm_logger_write(hubbub->ctx->logger, LOG_BANDWIDTH_CALCS,
|
|
|
- "SR_ENTER_WATERMARK_B calculated =%d\n"
|
|
|
+ DC_LOG_BANDWIDTH_CALCS("SR_ENTER_WATERMARK_B calculated =%d\n"
|
|
|
"HW register value = 0x%x\n",
|
|
|
watermarks->b.cstate_pstate.cstate_enter_plus_exit_ns, prog_wm_value);
|
|
|
|
|
@@ -288,8 +282,7 @@ void hubbub1_program_watermarks(
|
|
|
watermarks->b.cstate_pstate.cstate_exit_ns,
|
|
|
refclk_mhz, 0x1fffff);
|
|
|
REG_WRITE(DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_B, prog_wm_value);
|
|
|
- dm_logger_write(hubbub->ctx->logger, LOG_BANDWIDTH_CALCS,
|
|
|
- "SR_EXIT_WATERMARK_B calculated =%d\n"
|
|
|
+ DC_LOG_BANDWIDTH_CALCS("SR_EXIT_WATERMARK_B calculated =%d\n"
|
|
|
"HW register value = 0x%x\n",
|
|
|
watermarks->b.cstate_pstate.cstate_exit_ns, prog_wm_value);
|
|
|
}
|
|
@@ -298,8 +291,7 @@ void hubbub1_program_watermarks(
|
|
|
watermarks->b.cstate_pstate.pstate_change_ns,
|
|
|
refclk_mhz, 0x1fffff);
|
|
|
REG_WRITE(DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_B, prog_wm_value);
|
|
|
- dm_logger_write(hubbub->ctx->logger, LOG_BANDWIDTH_CALCS,
|
|
|
- "DRAM_CLK_CHANGE_WATERMARK_B calculated =%d\n\n"
|
|
|
+ DC_LOG_BANDWIDTH_CALCS("DRAM_CLK_CHANGE_WATERMARK_B calculated =%d\n\n"
|
|
|
"HW register value = 0x%x\n",
|
|
|
watermarks->b.cstate_pstate.pstate_change_ns, prog_wm_value);
|
|
|
|
|
@@ -307,8 +299,7 @@ void hubbub1_program_watermarks(
|
|
|
prog_wm_value = convert_and_clamp(
|
|
|
watermarks->c.urgent_ns, refclk_mhz, 0x1fffff);
|
|
|
REG_WRITE(DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_C, prog_wm_value);
|
|
|
- dm_logger_write(hubbub->ctx->logger, LOG_BANDWIDTH_CALCS,
|
|
|
- "URGENCY_WATERMARK_C calculated =%d\n"
|
|
|
+ DC_LOG_BANDWIDTH_CALCS("URGENCY_WATERMARK_C calculated =%d\n"
|
|
|
"HW register value = 0x%x\n",
|
|
|
watermarks->c.urgent_ns, prog_wm_value);
|
|
|
|
|
@@ -317,8 +308,7 @@ void hubbub1_program_watermarks(
|
|
|
watermarks->c.pte_meta_urgent_ns,
|
|
|
refclk_mhz, 0x1fffff);
|
|
|
REG_WRITE(DCHUBBUB_ARB_PTE_META_URGENCY_WATERMARK_C, prog_wm_value);
|
|
|
- dm_logger_write(hubbub->ctx->logger, LOG_BANDWIDTH_CALCS,
|
|
|
- "PTE_META_URGENCY_WATERMARK_C calculated =%d\n"
|
|
|
+ DC_LOG_BANDWIDTH_CALCS("PTE_META_URGENCY_WATERMARK_C calculated =%d\n"
|
|
|
"HW register value = 0x%x\n",
|
|
|
watermarks->c.pte_meta_urgent_ns, prog_wm_value);
|
|
|
|
|
@@ -328,8 +318,7 @@ void hubbub1_program_watermarks(
|
|
|
watermarks->c.cstate_pstate.cstate_enter_plus_exit_ns,
|
|
|
refclk_mhz, 0x1fffff);
|
|
|
REG_WRITE(DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_C, prog_wm_value);
|
|
|
- dm_logger_write(hubbub->ctx->logger, LOG_BANDWIDTH_CALCS,
|
|
|
- "SR_ENTER_WATERMARK_C calculated =%d\n"
|
|
|
+ DC_LOG_BANDWIDTH_CALCS("SR_ENTER_WATERMARK_C calculated =%d\n"
|
|
|
"HW register value = 0x%x\n",
|
|
|
watermarks->c.cstate_pstate.cstate_enter_plus_exit_ns, prog_wm_value);
|
|
|
|
|
@@ -338,8 +327,7 @@ void hubbub1_program_watermarks(
|
|
|
watermarks->c.cstate_pstate.cstate_exit_ns,
|
|
|
refclk_mhz, 0x1fffff);
|
|
|
REG_WRITE(DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_C, prog_wm_value);
|
|
|
- dm_logger_write(hubbub->ctx->logger, LOG_BANDWIDTH_CALCS,
|
|
|
- "SR_EXIT_WATERMARK_C calculated =%d\n"
|
|
|
+ DC_LOG_BANDWIDTH_CALCS("SR_EXIT_WATERMARK_C calculated =%d\n"
|
|
|
"HW register value = 0x%x\n",
|
|
|
watermarks->c.cstate_pstate.cstate_exit_ns, prog_wm_value);
|
|
|
}
|
|
@@ -348,8 +336,7 @@ void hubbub1_program_watermarks(
|
|
|
watermarks->c.cstate_pstate.pstate_change_ns,
|
|
|
refclk_mhz, 0x1fffff);
|
|
|
REG_WRITE(DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_C, prog_wm_value);
|
|
|
- dm_logger_write(hubbub->ctx->logger, LOG_BANDWIDTH_CALCS,
|
|
|
- "DRAM_CLK_CHANGE_WATERMARK_C calculated =%d\n\n"
|
|
|
+ DC_LOG_BANDWIDTH_CALCS("DRAM_CLK_CHANGE_WATERMARK_C calculated =%d\n\n"
|
|
|
"HW register value = 0x%x\n",
|
|
|
watermarks->c.cstate_pstate.pstate_change_ns, prog_wm_value);
|
|
|
|
|
@@ -357,8 +344,7 @@ void hubbub1_program_watermarks(
|
|
|
prog_wm_value = convert_and_clamp(
|
|
|
watermarks->d.urgent_ns, refclk_mhz, 0x1fffff);
|
|
|
REG_WRITE(DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_D, prog_wm_value);
|
|
|
- dm_logger_write(hubbub->ctx->logger, LOG_BANDWIDTH_CALCS,
|
|
|
- "URGENCY_WATERMARK_D calculated =%d\n"
|
|
|
+ DC_LOG_BANDWIDTH_CALCS("URGENCY_WATERMARK_D calculated =%d\n"
|
|
|
"HW register value = 0x%x\n",
|
|
|
watermarks->d.urgent_ns, prog_wm_value);
|
|
|
|
|
@@ -366,8 +352,7 @@ void hubbub1_program_watermarks(
|
|
|
watermarks->d.pte_meta_urgent_ns,
|
|
|
refclk_mhz, 0x1fffff);
|
|
|
REG_WRITE(DCHUBBUB_ARB_PTE_META_URGENCY_WATERMARK_D, prog_wm_value);
|
|
|
- dm_logger_write(hubbub->ctx->logger, LOG_BANDWIDTH_CALCS,
|
|
|
- "PTE_META_URGENCY_WATERMARK_D calculated =%d\n"
|
|
|
+ DC_LOG_BANDWIDTH_CALCS("PTE_META_URGENCY_WATERMARK_D calculated =%d\n"
|
|
|
"HW register value = 0x%x\n",
|
|
|
watermarks->d.pte_meta_urgent_ns, prog_wm_value);
|
|
|
|
|
@@ -377,8 +362,7 @@ void hubbub1_program_watermarks(
|
|
|
watermarks->d.cstate_pstate.cstate_enter_plus_exit_ns,
|
|
|
refclk_mhz, 0x1fffff);
|
|
|
REG_WRITE(DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_D, prog_wm_value);
|
|
|
- dm_logger_write(hubbub->ctx->logger, LOG_BANDWIDTH_CALCS,
|
|
|
- "SR_ENTER_WATERMARK_D calculated =%d\n"
|
|
|
+ DC_LOG_BANDWIDTH_CALCS("SR_ENTER_WATERMARK_D calculated =%d\n"
|
|
|
"HW register value = 0x%x\n",
|
|
|
watermarks->d.cstate_pstate.cstate_enter_plus_exit_ns, prog_wm_value);
|
|
|
|
|
@@ -387,8 +371,7 @@ void hubbub1_program_watermarks(
|
|
|
watermarks->d.cstate_pstate.cstate_exit_ns,
|
|
|
refclk_mhz, 0x1fffff);
|
|
|
REG_WRITE(DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_D, prog_wm_value);
|
|
|
- dm_logger_write(hubbub->ctx->logger, LOG_BANDWIDTH_CALCS,
|
|
|
- "SR_EXIT_WATERMARK_D calculated =%d\n"
|
|
|
+ DC_LOG_BANDWIDTH_CALCS("SR_EXIT_WATERMARK_D calculated =%d\n"
|
|
|
"HW register value = 0x%x\n",
|
|
|
watermarks->d.cstate_pstate.cstate_exit_ns, prog_wm_value);
|
|
|
}
|
|
@@ -398,8 +381,7 @@ void hubbub1_program_watermarks(
|
|
|
watermarks->d.cstate_pstate.pstate_change_ns,
|
|
|
refclk_mhz, 0x1fffff);
|
|
|
REG_WRITE(DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_D, prog_wm_value);
|
|
|
- dm_logger_write(hubbub->ctx->logger, LOG_BANDWIDTH_CALCS,
|
|
|
- "DRAM_CLK_CHANGE_WATERMARK_D calculated =%d\n"
|
|
|
+ DC_LOG_BANDWIDTH_CALCS("DRAM_CLK_CHANGE_WATERMARK_D calculated =%d\n"
|
|
|
"HW register value = 0x%x\n\n",
|
|
|
watermarks->d.cstate_pstate.pstate_change_ns, prog_wm_value);
|
|
|
|
|
@@ -512,5 +494,6 @@ void hubbub1_construct(struct hubbub *hubbub,
|
|
|
hubbub->shifts = hubbub_shift;
|
|
|
hubbub->masks = hubbub_mask;
|
|
|
|
|
|
+ hubbub->debug_test_index_pstate = 0x7;
|
|
|
}
|
|
|
|