/Linux-v5.10/drivers/gpu/drm/amd/display/dc/inc/hw/ |
D | timing_generator.h | 137 struct timing_generator { struct 150 bool (*validate_timing)(struct timing_generator *tg, argument 152 void (*program_timing)(struct timing_generator *tg, 162 struct timing_generator *optc, 166 struct timing_generator *optc, 169 struct timing_generator *optc, 172 bool (*enable_crtc)(struct timing_generator *tg); 173 bool (*disable_crtc)(struct timing_generator *tg); 174 bool (*is_counter_moving)(struct timing_generator *tg); 175 void (*get_position)(struct timing_generator *tg, [all …]
|
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/dce110/ |
D | dce110_timing_generator.h | 97 struct timing_generator base; 128 struct timing_generator *tg, 136 struct timing_generator *tg, 140 bool dce110_timing_generator_enable_crtc(struct timing_generator *tg); 141 bool dce110_timing_generator_disable_crtc(struct timing_generator *tg); 144 struct timing_generator *tg, 151 struct timing_generator *tg); 154 struct timing_generator *tg, 158 bool dce110_timing_generator_is_counter_moving(struct timing_generator *tg); 161 void dce110_timing_generator_wait_for_vblank(struct timing_generator *tg); [all …]
|
D | dce110_timing_generator_v.c | 53 static bool dce110_timing_generator_v_enable_crtc(struct timing_generator *tg) in dce110_timing_generator_v_enable_crtc() 81 static bool dce110_timing_generator_v_disable_crtc(struct timing_generator *tg) in dce110_timing_generator_v_disable_crtc() 100 static void dce110_timing_generator_v_blank_crtc(struct timing_generator *tg) in dce110_timing_generator_v_blank_crtc() 120 static void dce110_timing_generator_v_unblank_crtc(struct timing_generator *tg) in dce110_timing_generator_v_unblank_crtc() 141 struct timing_generator *tg) in dce110_timing_generator_v_is_in_vertical_blank() 153 static bool dce110_timing_generator_v_is_counter_moving(struct timing_generator *tg) in dce110_timing_generator_v_is_counter_moving() 191 static void dce110_timing_generator_v_wait_for_vblank(struct timing_generator *tg) in dce110_timing_generator_v_wait_for_vblank() 215 static void dce110_timing_generator_v_wait_for_vactive(struct timing_generator *tg) in dce110_timing_generator_v_wait_for_vactive() 225 static void dce110_timing_generator_v_wait_for_state(struct timing_generator *tg, in dce110_timing_generator_v_wait_for_state() 243 struct timing_generator *tg, in dce110_timing_generator_v_program_blanking() [all …]
|
D | dce110_timing_generator.c | 66 struct timing_generator *tg, in dce110_timing_generator_apply_front_porch_workaround() 92 struct timing_generator *tg) in dce110_timing_generator_is_in_vertical_blank() 106 struct timing_generator *tg, in dce110_timing_generator_set_early_control() 123 bool dce110_timing_generator_enable_crtc(struct timing_generator *tg) in dce110_timing_generator_enable_crtc() 152 struct timing_generator *tg, in dce110_timing_generator_program_blank_color() 189 static void disable_stereo(struct timing_generator *tg) 232 bool dce110_timing_generator_disable_crtc(struct timing_generator *tg) in dce110_timing_generator_disable_crtc() 256 struct timing_generator *tg, in program_horz_count_by_2() 282 struct timing_generator *tg, in dce110_timing_generator_program_timing_generator() 367 struct timing_generator *tg, in dce110_timing_generator_set_drr() [all …]
|
D | dce110_hw_sequencer.c | 665 struct timing_generator *tg = pipe_ctx->stream_res.tg; in dce110_enable_stream() 1574 struct timing_generator *tg; in disable_vga_and_power_gate_all_controllers() 2312 struct timing_generator *tg) in wait_for_reset_trigger_to_occur() 2472 struct timing_generator *tg = dc->res_pool->timing_generators[i]; in init_hw()
|
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/dcn20/ |
D | dcn20_optc.h | 85 bool optc2_enable_crtc(struct timing_generator *optc); 87 void optc2_set_gsl(struct timing_generator *optc, 90 void optc2_set_gsl_source_select(struct timing_generator *optc, 94 void optc2_set_dsc_config(struct timing_generator *optc, 99 void optc2_set_odm_bypass(struct timing_generator *optc, 102 void optc2_set_odm_combine(struct timing_generator *optc, int *opp_id, int opp_cnt, 105 void optc2_get_optc_source(struct timing_generator *optc, 110 void optc2_triplebuffer_lock(struct timing_generator *optc); 111 void optc2_triplebuffer_unlock(struct timing_generator *optc); 112 void optc2_lock_doublebuffer_disable(struct timing_generator *optc); [all …]
|
D | dcn20_optc.c | 44 bool optc2_enable_crtc(struct timing_generator *optc) in optc2_enable_crtc() 80 void optc2_set_timing_db_mode(struct timing_generator *optc, bool enable) in optc2_set_timing_db_mode() 94 void optc2_set_gsl(struct timing_generator *optc, in optc2_set_gsl() 114 void optc2_use_gsl_as_master_update_lock(struct timing_generator *optc, in optc2_use_gsl_as_master_update_lock() 124 void optc2_set_gsl_window(struct timing_generator *optc, in optc2_set_gsl_window() 142 void optc2_set_vupdate_keepout(struct timing_generator *optc, in optc2_set_vupdate_keepout() 154 struct timing_generator *optc, in optc2_set_gsl_source_select() 176 void optc2_set_dsc_encoder_frame_start(struct timing_generator *optc, in optc2_set_dsc_encoder_frame_start() 192 void optc2_set_dsc_config(struct timing_generator *optc, in optc2_set_dsc_config() 215 void optc2_set_odm_bypass(struct timing_generator *optc, in optc2_set_odm_bypass() [all …]
|
D | dcn20_hwseq.h | 85 struct timing_generator *tg);
|
D | dcn20_hwseq.c | 275 struct timing_generator *tg) in dcn20_init_blank() 1756 struct timing_generator *tg = dc->res_pool->timing_generators[0]; in dcn20_post_unlock_program_front_end() 1861 struct timing_generator *optc; in dcn20_enable_writeback() 2102 struct timing_generator *tg = pipe_ctx->stream_res.tg; in dcn20_setup_vupdate_interrupt() 2342 struct timing_generator *tg = pipe_ctx->stream_res.tg; in dcn20_enable_stream() 2438 struct timing_generator *tg = dc->res_pool->timing_generators[i]; in dcn20_fpga_init_hw() 2445 struct timing_generator *tg = dc->res_pool->timing_generators[i]; in dcn20_fpga_init_hw() 2469 struct timing_generator *tg = dc->res_pool->timing_generators[i]; in dcn20_fpga_init_hw() 2500 struct timing_generator *tg = dc->res_pool->timing_generators[i]; in dcn20_fpga_init_hw() 2516 struct timing_generator *tg = dc->res_pool->timing_generators[i]; in dcn20_fpga_init_hw()
|
D | dcn20_resource.h | 106 struct timing_generator *dcn20_timing_generator_create(
|
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/dcn10/ |
D | dcn10_optc.c | 61 struct timing_generator *optc, in optc1_program_global_sync() 90 static void optc1_disable_stereo(struct timing_generator *optc) in optc1_disable_stereo() 103 struct timing_generator *optc, in optc1_setup_vertical_interrupt0() 115 struct timing_generator *optc, in optc1_setup_vertical_interrupt1() 125 struct timing_generator *optc, in optc1_setup_vertical_interrupt2() 140 struct timing_generator *optc, in optc1_program_timing() 317 void optc1_set_vtg_params(struct timing_generator *optc, in optc1_set_vtg_params() 359 void optc1_set_blank_data_double_buffer(struct timing_generator *optc, bool enable) in optc1_set_blank_data_double_buffer() 377 void optc1_set_timing_double_buffer(struct timing_generator *optc, bool enable) in optc1_set_timing_double_buffer() 390 static void optc1_unblank_crtc(struct timing_generator *optc) in optc1_unblank_crtc() [all …]
|
D | dcn10_optc.h | 558 struct timing_generator base; 610 bool optc1_get_hw_timing(struct timing_generator *tg, 614 struct timing_generator *optc, 618 struct timing_generator *optc, 628 struct timing_generator *optc, 632 struct timing_generator *optc, 635 struct timing_generator *optc, 639 struct timing_generator *optc, 645 bool optc1_disable_crtc(struct timing_generator *optc); 647 bool optc1_is_counter_moving(struct timing_generator *optc); [all …]
|
D | dcn10_hw_sequencer.c | 91 struct timing_generator *tg; in dcn10_lock_all_pipes() 343 struct timing_generator *tg = pool->timing_generators[i]; in dcn10_log_hw_state() 468 struct timing_generator *tg = pipe_ctx->stream_res.tg; in dcn10_did_underflow_occur() 751 struct timing_generator *tg) in false_optc_underflow_wa() 1158 struct timing_generator *tg = dc->res_pool->timing_generators[i]; in dcn10_init_pipes() 1196 struct timing_generator *tg = dc->res_pool->timing_generators[i]; in dcn10_init_pipes() 1812 struct timing_generator *tg) in wait_for_reset_trigger_to_occur() 2884 struct timing_generator *tg; in dcn10_wait_for_pending_cleared() 2920 struct timing_generator *tg; in dcn10_apply_ctx_for_surface() 3011 struct timing_generator *tg = pipe_ctx->stream_res.tg; in dcn10_post_unlock_program_front_end() [all …]
|
D | dcn10_hw_sequencer_debug.c | 427 struct timing_generator *tg = pool->timing_generators[i]; in dcn10_get_otg_states() 494 struct timing_generator *tg = pool->timing_generators[i]; in dcn10_clear_otpc_underflow()
|
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/dcn30/ |
D | dcn30_optc.c | 41 void optc3_triplebuffer_lock(struct timing_generator *optc) in optc3_triplebuffer_lock() 60 void optc3_lock_doublebuffer_enable(struct timing_generator *optc) in optc3_lock_doublebuffer_enable() 88 void optc3_lock_doublebuffer_disable(struct timing_generator *optc) in optc3_lock_doublebuffer_disable() 103 void optc3_lock(struct timing_generator *optc) in optc3_lock() 119 void optc3_set_out_mux(struct timing_generator *optc, enum otg_out_mux_dest dest) in optc3_set_out_mux() 126 void optc3_program_blank_color(struct timing_generator *optc, in optc3_program_blank_color() 142 void optc3_set_drr_trigger_window(struct timing_generator *optc, in optc3_set_drr_trigger_window() 152 void optc3_set_vtotal_change_limit(struct timing_generator *optc, in optc3_set_vtotal_change_limit() 168 void optc3_set_dsc_config(struct timing_generator *optc, in optc3_set_dsc_config() 182 void optc3_set_odm_bypass(struct timing_generator *optc, in optc3_set_odm_bypass() [all …]
|
D | dcn30_optc.h | 313 void optc3_set_out_mux(struct timing_generator *optc, enum otg_out_mux_dest dest); 315 void optc3_lock(struct timing_generator *optc); 317 void optc3_lock_doublebuffer_enable(struct timing_generator *optc); 319 void optc3_lock_doublebuffer_disable(struct timing_generator *optc); 321 void optc3_set_vrr_m_const(struct timing_generator *optc, 324 void optc3_set_drr_trigger_window(struct timing_generator *optc, 327 void optc3_triplebuffer_lock(struct timing_generator *optc); 329 void optc3_program_blank_color(struct timing_generator *optc, 332 void optc3_set_vtotal_change_limit(struct timing_generator *optc, 335 void optc3_set_dsc_config(struct timing_generator *optc, [all …]
|
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/dce120/ |
D | dce120_timing_generator.c | 86 struct timing_generator *tg) in dce120_timing_generator_is_in_vertical_blank() 102 struct timing_generator *tg, in dce120_timing_generator_validate_timing() 128 bool dce120_tg_validate_timing(struct timing_generator *tg, in dce120_tg_validate_timing() 136 bool dce120_timing_generator_enable_crtc(struct timing_generator *tg) in dce120_timing_generator_enable_crtc() 157 struct timing_generator *tg, in dce120_timing_generator_set_early_control() 170 struct timing_generator *tg) in dce120_timing_generator_get_vblank_counter() 185 struct timing_generator *tg, in dce120_timing_generator_get_crtc_position() 210 void dce120_timing_generator_wait_for_vblank(struct timing_generator *tg) in dce120_timing_generator_wait_for_vblank() 232 void dce120_timing_generator_wait_for_vactive(struct timing_generator *tg) in dce120_timing_generator_wait_for_vactive() 246 struct timing_generator *tg, in dce120_timing_generator_setup_global_swap_lock() [all …]
|
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/dce60/ |
D | dce60_timing_generator.c | 87 static void program_pix_dur(struct timing_generator *tg, uint32_t pix_clk_100hz) in program_pix_dur() 108 static void program_timing(struct timing_generator *tg, in program_timing() 124 struct timing_generator *tg, in dce60_timing_generator_enable_advanced_request() 178 static bool dce60_is_tg_enabled(struct timing_generator *tg) in dce60_is_tg_enabled() 192 bool dce60_configure_crc(struct timing_generator *tg, in dce60_configure_crc()
|
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/dce80/ |
D | dce80_timing_generator.c | 87 static void program_pix_dur(struct timing_generator *tg, uint32_t pix_clk_100hz) in program_pix_dur() 108 static void program_timing(struct timing_generator *tg, in program_timing() 124 struct timing_generator *tg, in dce80_timing_generator_enable_advanced_request()
|
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/inc/ |
D | hw_sequencer_private.h | 66 struct timing_generator; 106 void (*init_blank)(struct dc *dc, struct timing_generator *tg);
|
D | core_types.h | 188 struct timing_generator *timing_generators[MAX_PIPES]; 262 struct timing_generator *tg;
|
D | hw_sequencer.h | 231 struct timing_generator *tg);
|
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/core/ |
D | dc_hw_sequencer.c | 273 struct timing_generator *tg) in hwss_wait_for_blank_complete()
|
D | dc_stream.c | 535 struct timing_generator *tg = res_ctx->pipe_ctx[i].stream_res.tg; in dc_stream_get_vblank_counter() 594 struct timing_generator *tg = res_ctx->pipe_ctx[i].stream_res.tg; in dc_stream_get_scanoutpos()
|
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/irq/dce110/ |
D | irq_service_dce110.c | 214 struct timing_generator *tg = in dce110_vblank_set()
|