| /linux/drivers/gpu/drm/amd/display/dc/optc/dcn10/ |
| H A D | dcn10_optc.c | 64 struct timing_generator *optc, in optc1_program_global_sync() argument 71 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc1_program_global_sync() 95 static void optc1_disable_stereo(struct timing_generator *optc) in optc1_disable_stereo() argument 97 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc1_disable_stereo() 108 struct timing_generator *optc, in optc1_setup_vertical_interrupt0() argument 112 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc1_setup_vertical_interrupt0() 120 struct timing_generator *optc, in optc1_setup_vertical_interrupt1() argument 123 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc1_setup_vertical_interrupt1() 130 struct timing_generator *optc, in optc1_setup_vertical_interrupt2() argument 133 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc1_setup_vertical_interrupt2() [all …]
|
| /linux/drivers/gpu/drm/amd/display/dc/inc/hw/ |
| H A D | optc.h | 45 struct optc { struct 74 void optc1_read_otg_state(struct timing_generator *optc, struct dcn_otg_state *s); argument 78 bool optc1_validate_timing(struct timing_generator *optc, 81 void optc1_program_timing(struct timing_generator *optc, 91 void optc1_setup_vertical_interrupt0(struct timing_generator *optc, 95 void optc1_setup_vertical_interrupt1(struct timing_generator *optc, 98 void optc1_setup_vertical_interrupt2(struct timing_generator *optc, 101 void optc1_program_global_sync(struct timing_generator *optc, 108 bool optc1_disable_crtc(struct timing_generator *optc); 110 bool optc1_is_counter_moving(struct timing_generator *optc); [all …]
|
| H A D | timing_generator.h | 348 struct timing_generator *optc, 352 struct timing_generator *optc, 355 struct timing_generator *optc, 374 bool (*get_otg_active_size)(struct timing_generator *optc, 412 void (*set_vtotal_min_max)(struct timing_generator *optc, int vtotal_min, int vtotal_max); 413 void (*get_last_used_drr_vtotal)(struct timing_generator *optc, uint32_t *refresh_rate); 442 void (*set_dwb_source)(struct timing_generator *optc, 445 void (*get_optc_source)(struct timing_generator *optc, 465 void (*program_manual_trigger)(struct timing_generator *optc); 466 void (*setup_manual_trigger)(struct timing_generator *optc); [all …]
|
| /linux/drivers/gpu/drm/amd/display/dc/optc/dcn30/ |
| H A D | dcn30_optc.c | 45 void optc3_triplebuffer_lock(struct timing_generator *optc) in optc3_triplebuffer_lock() argument 47 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc3_triplebuffer_lock() 50 OTG_MASTER_UPDATE_LOCK_SEL, optc->inst); in optc3_triplebuffer_lock() 62 TRACE_OPTC_LOCK_UNLOCK_STATE(optc1, optc->inst, true); in optc3_triplebuffer_lock() 65 void optc3_lock_doublebuffer_enable(struct timing_generator *optc) in optc3_lock_doublebuffer_enable() argument 67 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc3_lock_doublebuffer_enable() 99 TRACE_OPTC_LOCK_UNLOCK_STATE(optc1, optc->inst, true); in optc3_lock_doublebuffer_enable() 102 void optc3_lock_doublebuffer_disable(struct timing_generator *optc) in optc3_lock_doublebuffer_disable() argument 104 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc3_lock_doublebuffer_disable() 116 TRACE_OPTC_LOCK_UNLOCK_STATE(optc1, optc->inst, true); in optc3_lock_doublebuffer_disable() [all …]
|
| H A D | dcn30_optc.h | 330 void dcn30_timing_generator_init(struct optc *optc1); 332 void optc3_set_out_mux(struct timing_generator *optc, enum otg_out_mux_dest dest); 334 void optc3_lock(struct timing_generator *optc); 336 void optc3_lock_doublebuffer_enable(struct timing_generator *optc); 338 void optc3_lock_doublebuffer_disable(struct timing_generator *optc); 340 void optc3_set_drr_trigger_window(struct timing_generator *optc, 343 void optc3_triplebuffer_lock(struct timing_generator *optc); 345 void optc3_program_blank_color(struct timing_generator *optc, 348 void optc3_set_vtotal_change_limit(struct timing_generator *optc, 351 void optc3_set_dsc_config(struct timing_generator *optc, [all …]
|
| /linux/drivers/gpu/drm/amd/display/dc/optc/dcn35/ |
| H A D | dcn35_optc.c | 58 static void optc35_set_odm_combine(struct timing_generator *optc, int *opp_id, int opp_cnt, in optc35_set_odm_combine() argument 61 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc35_set_odm_combine() 112 static bool optc35_enable_crtc(struct timing_generator *optc) in optc35_enable_crtc() argument 114 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc35_enable_crtc() 118 OPTC_SEG0_SRC_SEL, optc->inst); in optc35_enable_crtc() 138 static bool optc35_disable_crtc(struct timing_generator *optc) in optc35_disable_crtc() argument 140 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc35_disable_crtc() 167 optc1_clear_optc_underflow(optc); in optc35_disable_crtc() 172 static void optc35_phantom_crtc_post_enable(struct timing_generator *optc) in optc35_phantom_crtc_post_enable() argument 174 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc35_phantom_crtc_post_enable() [all …]
|
| H A D | dcn35_optc.h | 87 void dcn35_timing_generator_init(struct optc *optc1); 89 void dcn35_timing_generator_set_fgcg(struct optc *optc1, bool enable); 91 void optc35_set_drr(struct timing_generator *optc, const struct drr_params *params); 94 struct timing_generator *optc, 97 bool optc35_configure_crc(struct timing_generator *optc, 100 void optc35_wait_otg_disable(struct timing_generator *optc);
|
| /linux/drivers/gpu/drm/amd/display/dc/optc/dcn20/ |
| H A D | dcn20_optc.c | 48 bool optc2_enable_crtc(struct timing_generator *optc) in optc2_enable_crtc() argument 54 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc2_enable_crtc() 60 OPTC_SEG0_SRC_SEL, optc->inst); in optc2_enable_crtc() 86 void optc2_set_gsl(struct timing_generator *optc, in optc2_set_gsl() argument 89 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc2_set_gsl() 106 struct timing_generator *optc, in optc2_set_gsl_source_select() argument 110 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc2_set_gsl_source_select() 132 void optc2_set_dsc_config(struct timing_generator *optc, in optc2_set_dsc_config() argument 137 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc2_set_dsc_config() 152 void optc2_get_dsc_status(struct timing_generator *optc, in optc2_get_dsc_status() argument [all …]
|
| H A D | dcn20_optc.h | 87 void dcn20_timing_generator_init(struct optc *optc); 89 void optc2_get_last_used_drr_vtotal(struct timing_generator *optc, 92 bool optc2_enable_crtc(struct timing_generator *optc); 94 void optc2_set_gsl(struct timing_generator *optc, 97 void optc2_set_gsl_source_select(struct timing_generator *optc, 101 void optc2_set_dsc_config(struct timing_generator *optc, 106 void optc2_get_dsc_status(struct timing_generator *optc, 109 void optc2_set_odm_bypass(struct timing_generator *optc, 112 void optc2_set_odm_combine(struct timing_generator *optc, int *opp_id, int opp_cnt, 115 void optc2_get_optc_source(struct timing_generator *optc, [all …]
|
| /linux/drivers/gpu/drm/amd/display/dc/optc/dcn401/ |
| H A D | dcn401_optc.c | 104 void optc401_set_odm_combine(struct timing_generator *optc, int *opp_id, in optc401_set_odm_combine() argument 107 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc401_set_odm_combine() 165 void optc401_set_h_timing_div_manual_mode(struct timing_generator *optc, bool manual_mode) in optc401_set_h_timing_div_manual_mode() argument 167 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc401_set_h_timing_div_manual_mode() 180 bool optc401_enable_crtc(struct timing_generator *optc) in optc401_enable_crtc() argument 182 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc401_enable_crtc() 186 OPTC_SEG0_SRC_SEL, optc->inst); in optc401_enable_crtc() 206 bool optc401_disable_crtc(struct timing_generator *optc) in optc401_disable_crtc() argument 208 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc401_disable_crtc() 242 void optc401_phantom_crtc_post_enable(struct timing_generator *optc) in optc401_phantom_crtc_post_enable() argument [all …]
|
| H A D | dcn401_optc.h | 169 void dcn401_timing_generator_init(struct optc *optc1); 172 struct timing_generator *optc, 174 void optc401_set_vtotal_min_max(struct timing_generator *optc, int vtotal_min, int vtotal_max); 175 void optc401_setup_manual_trigger(struct timing_generator *optc); 177 struct timing_generator *optc, 183 bool optc401_enable_crtc(struct timing_generator *optc); 184 bool optc401_disable_crtc(struct timing_generator *optc); 185 void optc401_phantom_crtc_post_enable(struct timing_generator *optc); 186 void optc401_disable_phantom_otg(struct timing_generator *optc); 187 void optc401_set_odm_bypass(struct timing_generator *optc, [all …]
|
| /linux/drivers/gpu/drm/amd/display/dc/optc/dcn32/ |
| H A D | dcn32_optc.c | 45 static void optc32_set_odm_combine(struct timing_generator *optc, int *opp_id, int opp_cnt, in optc32_set_odm_combine() argument 48 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc32_set_odm_combine() 102 struct optc *optc1 = DCN10TG_FROM_TG(tg); in optc32_get_odm_combine_segments() 126 struct optc *optc1 = DCN10TG_FROM_TG(tg); in optc32_wait_odm_doublebuffer_pending_clear() 131 void optc32_set_h_timing_div_manual_mode(struct timing_generator *optc, bool manual_mode) in optc32_set_h_timing_div_manual_mode() argument 133 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc32_set_h_timing_div_manual_mode() 145 static bool optc32_enable_crtc(struct timing_generator *optc) in optc32_enable_crtc() argument 147 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc32_enable_crtc() 151 OPTC_SEG0_SRC_SEL, optc->inst); in optc32_enable_crtc() 171 static bool optc32_disable_crtc(struct timing_generator *optc) in optc32_disable_crtc() argument [all …]
|
| H A D | dcn32_optc.h | 188 void dcn32_timing_generator_init(struct optc *optc1); 189 void optc32_set_h_timing_div_manual_mode(struct timing_generator *optc, bool manual_mode); 191 void optc32_set_odm_bypass(struct timing_generator *optc,
|
| /linux/drivers/gpu/drm/amd/display/dc/optc/dcn314/ |
| H A D | dcn314_optc.c | 50 static void optc314_set_odm_combine(struct timing_generator *optc, int *opp_id, int opp_cnt, in optc314_set_odm_combine() argument 53 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc314_set_odm_combine() 105 static bool optc314_enable_crtc(struct timing_generator *optc) in optc314_enable_crtc() argument 107 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc314_enable_crtc() 111 OPTC_SEG0_SRC_SEL, optc->inst); in optc314_enable_crtc() 131 static bool optc314_disable_crtc(struct timing_generator *optc) in optc314_disable_crtc() argument 133 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc314_disable_crtc() 152 static void optc314_phantom_crtc_post_enable(struct timing_generator *optc) in optc314_phantom_crtc_post_enable() argument 154 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc314_phantom_crtc_post_enable() 163 static void optc314_set_odm_bypass(struct timing_generator *optc, in optc314_set_odm_bypass() argument [all …]
|
| /linux/drivers/gpu/drm/amd/display/dc/optc/dcn31/ |
| H A D | dcn31_optc.c | 43 static void optc31_set_odm_combine(struct timing_generator *optc, int *opp_id, int opp_cnt, in optc31_set_odm_combine() argument 46 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc31_set_odm_combine() 95 static bool optc31_enable_crtc(struct timing_generator *optc) in optc31_enable_crtc() argument 97 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc31_enable_crtc() 101 OPTC_SEG0_SRC_SEL, optc->inst); in optc31_enable_crtc() 121 static bool optc31_disable_crtc(struct timing_generator *optc) in optc31_disable_crtc() argument 123 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc31_disable_crtc() 148 optc1_clear_optc_underflow(optc); in optc31_disable_crtc() 155 bool optc31_immediate_disable_crtc(struct timing_generator *optc) in optc31_immediate_disable_crtc() argument 157 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc31_immediate_disable_crtc() [all …]
|
| H A D | dcn31_optc.h | 266 void dcn31_timing_generator_init(struct optc *optc1); 268 bool optc31_immediate_disable_crtc(struct timing_generator *optc); 270 void optc31_set_drr(struct timing_generator *optc, const struct drr_params *params); 272 void optc3_init_odm(struct timing_generator *optc); 274 void optc31_read_otg_state(struct timing_generator *optc, 277 void optc31_read_reg_state(struct timing_generator *optc, struct dcn_optc_reg_state *optc_reg_state…
|
| /linux/drivers/gpu/drm/amd/display/dc/optc/dcn301/ |
| H A D | dcn301_optc.c | 53 struct timing_generator *optc, in optc301_set_drr() argument 56 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc301_set_drr() 74 …optc->funcs->set_vtotal_min_max(optc, params->vertical_total_min - 1, params->vertical_total_max -… in optc301_set_drr() 83 optc->funcs->setup_manual_trigger(optc); in optc301_set_drr() 92 optc->funcs->set_vtotal_min_max(optc, 0, 0); in optc301_set_drr() 97 void optc301_setup_manual_trigger(struct timing_generator *optc) in optc301_setup_manual_trigger() argument 99 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc301_setup_manual_trigger() 103 OTG_TRIGA_SOURCE_PIPE_SELECT, optc->inst, in optc301_setup_manual_trigger() 178 void dcn301_timing_generator_init(struct optc *optc1) in dcn301_timing_generator_init()
|
| H A D | dcn301_optc.h | 32 void dcn301_timing_generator_init(struct optc *optc1); 33 void optc301_setup_manual_trigger(struct timing_generator *optc); 34 void optc301_set_drr(struct timing_generator *optc, const struct drr_params *params);
|
| /linux/drivers/gpu/drm/amd/display/dc/optc/dcn201/ |
| H A D | dcn201_optc.c | 41 static void optc201_triplebuffer_lock(struct timing_generator *optc) in optc201_triplebuffer_lock() argument 43 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc201_triplebuffer_lock() 46 OTG_MASTER_UPDATE_LOCK_SEL, optc->inst); in optc201_triplebuffer_lock() 57 static void optc201_triplebuffer_unlock(struct timing_generator *optc) in optc201_triplebuffer_unlock() argument 59 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc201_triplebuffer_unlock() 69 struct timing_generator *optc, in optc201_validate_timing() argument 75 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc201_validate_timing() 119 static void optc201_get_optc_source(struct timing_generator *optc, in optc201_get_optc_source() argument 124 struct optc *optc1 = DCN10TG_FROM_TG(optc); in optc201_get_optc_source() 186 void dcn201_timing_generator_init(struct optc *optc1) in dcn201_timing_generator_init()
|
| H A D | dcn201_optc.h | 70 void dcn201_timing_generator_init(struct optc *optc);
|
| /linux/drivers/gpu/drm/amd/display/dc/optc/ |
| H A D | Makefile | 33 AMD_DAL_OPTC_DCN10 = $(addprefix $(AMDDALPATH)/dc/optc/dcn10/,$(OPTC_DCN10)) 41 AMD_DAL_OPTC_DCN20 = $(addprefix $(AMDDALPATH)/dc/optc/dcn20/,$(OPTC_DCN20)) 49 AMD_DAL_OPTC_DCN201 = $(addprefix $(AMDDALPATH)/dc/optc/dcn201/,$(OPTC_DCN201)) 61 AMD_DAL_OPTC_DCN30 = $(addprefix $(AMDDALPATH)/dc/optc/dcn30/,$(OPTC_DCN30)) 69 AMD_DAL_OPTC_DCN301 = $(addprefix $(AMDDALPATH)/dc/optc/dcn301/,$(OPTC_DCN301)) 77 AMD_DAL_OPTC_DCN31 = $(addprefix $(AMDDALPATH)/dc/optc/dcn31/,$(OPTC_DCN31)) 85 AMD_DAL_OPTC_DCN314 = $(addprefix $(AMDDALPATH)/dc/optc/dcn314/,$(OPTC_DCN314)) 93 AMD_DAL_OPTC_DCN32 = $(addprefix $(AMDDALPATH)/dc/optc/dcn32/,$(OPTC_DCN32)) 101 AMD_DAL_OPTC_DCN35 = $(addprefix $(AMDDALPATH)/dc/optc/dcn35/,$(OPTC_DCN35)) 110 AMD_DAL_OPTC_DCN401 = $(addprefix $(AMDDALPATH)/dc/optc/dcn401/,$(OPTC_DCN401))
|
| /linux/drivers/gpu/drm/amd/display/dc/ |
| H A D | dc_trace.h | 43 #define TRACE_OPTC_LOCK_UNLOCK_STATE(optc, inst, lock) \ argument 44 trace_dcn_optc_lock_unlock_state(optc, inst, lock, __func__, __LINE__)
|
| H A D | Makefile | 25 DC_LIBS = basics bios dml clk_mgr dce gpio hwss irq link dsc resource optc dpp hubbub dccg hubp dio…
|
| /linux/drivers/gpu/drm/amd/display/dc/core/ |
| H A D | dc.c | 7075 state->optc[i].otg_master_inst = pipe_ctx->stream_res.tg->inst; in dc_capture_register_software_state() 7078 state->optc[i].otg_master_enable = 1; /* Active stream */ in dc_capture_register_software_state() 7079 state->optc[i].otg_disable_point_cntl = 0; /* Normal operation */ in dc_capture_register_software_state() 7080 state->optc[i].otg_start_point_cntl = 0; /* Normal start */ in dc_capture_register_software_state() 7081 state->optc[i].otg_field_number_cntl = (timing->flags.INTERLACE) ? 1 : 0; in dc_capture_register_software_state() 7082 state->optc[i].otg_out_mux = 0; /* Direct output */ in dc_capture_register_software_state() 7085 state->optc[i].otg_h_total = timing->h_total; in dc_capture_register_software_state() 7086 state->optc[i].otg_h_blank_start = timing->h_addressable; in dc_capture_register_software_state() 7087 state->optc[i].otg_h_blank_end = timing->h_total - timing->h_front_porch; in dc_capture_register_software_state() 7088 state->optc[i].otg_h_sync_start = timing->h_addressable + timing->h_front_porch; in dc_capture_register_software_state() [all …]
|
| /linux/drivers/gpu/drm/amd/display/ |
| H A D | Makefile | 35 subdir-ccflags-y += -I$(FULL_AMD_DISPLAY_PATH)/dc/optc
|