Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Revert "drm/amd/display: Add Underflow Asserts to dc"

This reverts commit 9ed43ef84d9d1e668acdf43c95510fb7b11f8d71.

Revert this to apply the version that includes DCN2 support.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

+2 -38
-1
drivers/gpu/drm/amd/display/dc/dc.h
··· 329 329 int sr_exit_time_ns; 330 330 int sr_enter_plus_exit_time_ns; 331 331 int urgent_latency_ns; 332 - uint32_t underflow_assert_delay_us; 333 332 int percent_of_ideal_drambw; 334 333 int dram_clock_change_latency_ns; 335 334 bool optimized_watermark;
+1 -31
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
··· 361 361 DTN_INFO_END(); 362 362 } 363 363 364 - bool dcn10_did_underflow_occur(struct dc *dc, struct pipe_ctx *pipe_ctx) 365 - { 366 - struct hubp *hubp = pipe_ctx->plane_res.hubp; 367 - struct timing_generator *tg = pipe_ctx->stream_res.tg; 368 - 369 - if (tg->funcs->is_optc_underflow_occurred(tg)) { 370 - tg->funcs->clear_optc_underflow(tg); 371 - return true; 372 - } 373 - 374 - if (hubp->funcs->hubp_get_underflow_status(hubp)) { 375 - hubp->funcs->hubp_clear_underflow(hubp); 376 - return true; 377 - } 378 - return false; 379 - } 380 - 381 364 static void enable_power_gating_plane( 382 365 struct dce_hwseq *hws, 383 366 bool enable) ··· 2333 2350 { 2334 2351 int i; 2335 2352 struct timing_generator *tg; 2336 - uint32_t underflow_check_delay_us; 2337 2353 bool removed_pipe[4] = { false }; 2338 2354 bool interdependent_update = false; 2339 2355 struct pipe_ctx *top_pipe_to_program = ··· 2347 2365 interdependent_update = top_pipe_to_program->plane_state && 2348 2366 top_pipe_to_program->plane_state->update_flags.bits.full_update; 2349 2367 2350 - underflow_check_delay_us = dc->debug.underflow_assert_delay_us; 2351 - 2352 - if (underflow_check_delay_us != 0xFFFFFFFF && dc->hwss.did_underflow_occur) 2353 - ASSERT(dc->hwss.did_underflow_occur(dc, top_pipe_to_program)); 2354 - 2355 2368 if (interdependent_update) 2356 2369 lock_all_pipes(dc, context, true); 2357 2370 else 2358 2371 dcn10_pipe_control_lock(dc, top_pipe_to_program, true); 2359 - 2360 - if (underflow_check_delay_us != 0xFFFFFFFF) 2361 - udelay(underflow_check_delay_us); 2362 - 2363 - if (underflow_check_delay_us != 0xFFFFFFFF && dc->hwss.did_underflow_occur) 2364 - ASSERT(dc->hwss.did_underflow_occur(dc, top_pipe_to_program)); 2365 2372 2366 2373 if (num_planes == 0) { 2367 2374 /* OTG blank before remove all front end */ ··· 3023 3052 .disable_stream_gating = NULL, 3024 3053 .enable_stream_gating = NULL, 3025 3054 .setup_periodic_interrupt = dcn10_setup_periodic_interrupt, 3026 - .setup_vupdate_interrupt = dcn10_setup_vupdate_interrupt, 3027 - .did_underflow_occur = dcn10_did_underflow_occur 3055 + .setup_vupdate_interrupt = dcn10_setup_vupdate_interrupt 3028 3056 }; 3029 3057 3030 3058
-2
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h
··· 71 71 struct pipe_ctx *pipe_ctx, 72 72 struct tg_color *color); 73 73 74 - bool dcn10_did_underflow_occur(struct dc *dc, struct pipe_ctx *pipe_ctx); 75 - 76 74 void update_dchubp_dpp( 77 75 struct dc *dc, 78 76 struct pipe_ctx *pipe_ctx,
+1 -3
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c
··· 560 560 .az_endpoint_mute_only = true, 561 561 .recovery_enabled = false, /*enable this by default after testing.*/ 562 562 .max_downscale_src_width = 3840, 563 - .underflow_assert_delay_us = 0xFFFFFFFF, 564 563 }; 565 564 566 565 static const struct dc_debug_options debug_defaults_diags = { ··· 569 570 .clock_trace = true, 570 571 .disable_stutter = true, 571 572 .disable_pplib_clock_request = true, 572 - .disable_pplib_wm_range = true, 573 - .underflow_assert_delay_us = 0xFFFFFFFF, 573 + .disable_pplib_wm_range = true 574 574 }; 575 575 576 576 static void dcn10_dpp_destroy(struct dpp **dpp)
-1
drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h
··· 240 240 241 241 void (*setup_periodic_interrupt)(struct pipe_ctx *pipe_ctx, enum vline_select vline); 242 242 void (*setup_vupdate_interrupt)(struct pipe_ctx *pipe_ctx); 243 - bool (*did_underflow_occur)(struct dc *dc, struct pipe_ctx *pipe_ctx); 244 243 245 244 }; 246 245