{
        bool out = false;
 
+       BW_VAL_TRACE_SETUP();
+
        int pipe_cnt, i, pipe_idx, vlevel, vlevel_unsplit;
        int pipe_split_from[MAX_PIPES];
        bool odm_capable = context->bw_ctx.dml.ip.odm_capable;
        display_e2e_pipe_params_st *pipes = kzalloc(dc->res_pool->pipe_count * sizeof(display_e2e_pipe_params_st), GFP_KERNEL);
        DC_LOGGER_INIT(dc->ctx->logger);
 
+       BW_VAL_TRACE_COUNT();
+
        ASSERT(pipes);
        if (!pipes)
                return false;
        pipe_cnt = dcn20_populate_dml_pipes_from_context(dc, &context->res_ctx, pipes);
 
        if (!pipe_cnt) {
+               BW_VAL_TRACE_SKIP(pass);
                out = true;
                goto validate_out;
        }
        }
 #endif
 
+       BW_VAL_TRACE_END_VOLTAGE_LEVEL();
+
        if (fast_validate) {
+               BW_VAL_TRACE_SKIP(fast);
                out = true;
                goto validate_out;
        }
                                                        != dm_dram_clock_change_unsupported;
        context->bw_ctx.bw.dcn.clk.dppclk_khz = 0;
 
+       BW_VAL_TRACE_END_WATERMARKS();
+
        for (i = 0, pipe_idx = 0; i < dc->res_pool->pipe_count; i++) {
                if (!context->res_ctx.pipe_ctx[i].stream)
                        continue;
        DC_LOG_WARNING("Mode Validation Warning: %s failed validation.\n",
                dml_get_status_message(context->bw_ctx.dml.vba.ValidationStatus[context->bw_ctx.dml.vba.soc.num_states]));
 
+       BW_VAL_TRACE_SKIP(fail);
        out = false;
 
 validate_out:
        kfree(pipes);
 
+       BW_VAL_TRACE_FINISH();
+
        return out;
 }