| /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 …]
|
| /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 …]
|
| /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/ |
| 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/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/inc/hw/ |
| 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/ |
| 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…
|
| H A D | dc.h | 798 bool optc: 1; member 829 bool optc : 1; /* Output pipe timing combiner */ member 3316 } optc[MAX_PIPES]; member
|
| /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/dc/hwss/dcn30/ |
| H A D | dcn30_hwseq.c | 672 if (dc->debug.enable_mem_low_power.bits.optc) { in dcn30_init_hw() 1254 struct timing_generator *optc = dc->res_pool->timing_generators[i]; in dcn30_get_underflow_debug_data() local 1277 if (optc) in dcn30_get_underflow_debug_data() 1278 if (optc->funcs->optc_read_reg_state) in dcn30_get_underflow_debug_data() 1279 optc->funcs->optc_read_reg_state(optc, out_data->optc_reg_state[i]); in dcn30_get_underflow_debug_data()
|
| /linux/drivers/gpu/drm/amd/display/dc/optc/dcn10/ |
| H A D | dcn10_optc.h | 32 container_of(tg, struct optc, base) 701 void dcn10_timing_generator_init(struct optc *optc);
|
| /linux/drivers/gpu/drm/amd/display/dc/resource/dcn201/ |
| H A D | dcn201_resource.c | 762 struct optc *tgn10 = in dcn201_timing_generator_create() 763 kzalloc_obj(struct optc); in dcn201_timing_generator_create()
|
| /linux/drivers/gpu/drm/amd/display/dc/resource/dcn316/ |
| H A D | dcn316_resource.c | 880 .optc = true, 1051 struct optc *tgn10 = in dcn31_timing_generator_create() 1052 kzalloc_obj(struct optc); in dcn31_timing_generator_create()
|
| /linux/drivers/gpu/drm/amd/display/dc/resource/dcn314/ |
| H A D | dcn314_resource.c | 905 .optc = true, 1117 struct optc *tgn10 = in dcn31_timing_generator_create() 1118 kzalloc_obj(struct optc); in dcn31_timing_generator_create()
|
| /linux/drivers/gpu/drm/amd/display/dc/resource/dcn315/ |
| H A D | dcn315_resource.c | 885 .optc = true, 1058 struct optc *tgn10 = in dcn31_timing_generator_create() 1059 kzalloc_obj(struct optc); in dcn31_timing_generator_create()
|
| /linux/drivers/gpu/drm/amd/display/dc/resource/dcn31/ |
| H A D | dcn31_resource.c | 885 .optc = true, 1059 struct optc *tgn10 = in dcn31_timing_generator_create() 1060 kzalloc_obj(struct optc); in dcn31_timing_generator_create()
|
| /linux/drivers/gpu/drm/amd/display/dc/resource/dcn36/ |
| H A D | dcn36_resource.c | 732 .optc = true, 1021 struct optc *tgn10 = in dcn35_timing_generator_create() 1022 kzalloc_obj(struct optc); in dcn35_timing_generator_create()
|
| /linux/drivers/gpu/drm/amd/display/dc/resource/dcn35/ |
| H A D | dcn35_resource.c | 745 .optc = true, 1034 struct optc *tgn10 = in dcn35_timing_generator_create() 1035 kzalloc_obj(struct optc); in dcn35_timing_generator_create()
|
| /linux/drivers/gpu/drm/amd/display/dc/resource/dcn351/ |
| H A D | dcn351_resource.c | 725 .optc = true, 1014 struct optc *tgn10 = in dcn35_timing_generator_create() 1015 kzalloc_obj(struct optc); in dcn35_timing_generator_create()
|
| /linux/drivers/gpu/drm/amd/display/dc/resource/dcn321/ |
| H A D | dcn321_resource.c | 711 .optc = true, 994 struct optc *tgn10 = in dcn321_timing_generator_create() 995 kzalloc_obj(struct optc); in dcn321_timing_generator_create()
|