/Linux-v5.10/drivers/gpu/drm/amd/display/dmub/ |
D | dmub_srv.h | 74 struct dmub_srv; 235 void (*init)(struct dmub_srv *dmub); 237 void (*reset)(struct dmub_srv *dmub); 239 void (*reset_release)(struct dmub_srv *dmub); 241 void (*backdoor_load)(struct dmub_srv *dmub, 245 void (*setup_windows)(struct dmub_srv *dmub, 252 void (*setup_mailbox)(struct dmub_srv *dmub, 255 uint32_t (*get_inbox1_rptr)(struct dmub_srv *dmub); 257 void (*set_inbox1_wptr)(struct dmub_srv *dmub, uint32_t wptr_offset); 259 uint32_t (*emul_get_inbox1_rptr)(struct dmub_srv *dmub); [all …]
|
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/ |
D | dc_dmub_srv.c | 31 struct dmub_srv *dmub) in dc_dmub_srv_construct() 37 struct dc_dmub_srv *dc_dmub_srv_create(struct dc *dc, struct dmub_srv *dmub) in dc_dmub_srv_create() 52 void dc_dmub_srv_destroy(struct dc_dmub_srv **dmub_srv) in dc_dmub_srv_destroy() argument 54 if (*dmub_srv) { in dc_dmub_srv_destroy() 55 kfree(*dmub_srv); in dc_dmub_srv_destroy() 56 *dmub_srv = NULL; in dc_dmub_srv_destroy() 63 struct dmub_srv *dmub = dc_dmub_srv->dmub; in dc_dmub_srv_cmd_queue() 89 struct dmub_srv *dmub = dc_dmub_srv->dmub; in dc_dmub_srv_cmd_execute() 100 struct dmub_srv *dmub = dc_dmub_srv->dmub; in dc_dmub_srv_wait_idle() 111 struct dmub_srv *dmub = dc_dmub_srv->dmub; in dc_dmub_srv_wait_phy_init() [all …]
|
D | dc_helper.c | 50 gather = ctx->dmub_srv->reg_helper_offload.gather_in_progress; in submit_dmub_read_modify_write() 51 ctx->dmub_srv->reg_helper_offload.gather_in_progress = false; in submit_dmub_read_modify_write() 53 dc_dmub_srv_cmd_queue(ctx->dmub_srv, &offload->cmd_data); in submit_dmub_read_modify_write() 55 ctx->dmub_srv->reg_helper_offload.gather_in_progress = gather; in submit_dmub_read_modify_write() 73 gather = ctx->dmub_srv->reg_helper_offload.gather_in_progress; in submit_dmub_burst_write() 74 ctx->dmub_srv->reg_helper_offload.gather_in_progress = false; in submit_dmub_burst_write() 76 dc_dmub_srv_cmd_queue(ctx->dmub_srv, &offload->cmd_data); in submit_dmub_burst_write() 78 ctx->dmub_srv->reg_helper_offload.gather_in_progress = gather; in submit_dmub_burst_write() 92 gather = ctx->dmub_srv->reg_helper_offload.gather_in_progress; in submit_dmub_reg_wait() 93 ctx->dmub_srv->reg_helper_offload.gather_in_progress = false; in submit_dmub_reg_wait() [all …]
|
D | dc_dmub_srv.h | 32 struct dmub_srv; 43 struct dmub_srv *dmub;
|
D | dm_services.h | 43 struct dmub_srv; 145 struct dc_dmub_srv *dc_dmub_srv_create(struct dc *dc, struct dmub_srv *dmub); 146 void dc_dmub_srv_destroy(struct dc_dmub_srv **dmub_srv);
|
D | dc_types.h | 117 struct dc_dmub_srv *dmub_srv; member
|
/Linux-v5.10/drivers/gpu/drm/amd/display/dmub/src/ |
D | dmub_dcn20.h | 31 struct dmub_srv; 159 void dmub_dcn20_init(struct dmub_srv *dmub); 161 void dmub_dcn20_reset(struct dmub_srv *dmub); 163 void dmub_dcn20_reset_release(struct dmub_srv *dmub); 165 void dmub_dcn20_backdoor_load(struct dmub_srv *dmub, 169 void dmub_dcn20_setup_windows(struct dmub_srv *dmub, 176 void dmub_dcn20_setup_mailbox(struct dmub_srv *dmub, 179 uint32_t dmub_dcn20_get_inbox1_rptr(struct dmub_srv *dmub); 181 void dmub_dcn20_set_inbox1_wptr(struct dmub_srv *dmub, uint32_t wptr_offset); 183 bool dmub_dcn20_is_hw_init(struct dmub_srv *dmub); [all …]
|
D | dmub_dcn20.c | 57 static void dmub_dcn20_get_fb_base_offset(struct dmub_srv *dmub, in dmub_dcn20_get_fb_base_offset() 84 void dmub_dcn20_reset(struct dmub_srv *dmub) in dmub_dcn20_reset() 134 void dmub_dcn20_reset_release(struct dmub_srv *dmub) in dmub_dcn20_reset_release() 142 void dmub_dcn20_backdoor_load(struct dmub_srv *dmub, in dmub_dcn20_backdoor_load() 177 void dmub_dcn20_setup_windows(struct dmub_srv *dmub, in dmub_dcn20_setup_windows() 254 void dmub_dcn20_setup_mailbox(struct dmub_srv *dmub, in dmub_dcn20_setup_mailbox() 266 uint32_t dmub_dcn20_get_inbox1_rptr(struct dmub_srv *dmub) in dmub_dcn20_get_inbox1_rptr() 271 void dmub_dcn20_set_inbox1_wptr(struct dmub_srv *dmub, uint32_t wptr_offset) in dmub_dcn20_set_inbox1_wptr() 276 bool dmub_dcn20_is_hw_init(struct dmub_srv *dmub) in dmub_dcn20_is_hw_init() 285 bool dmub_dcn20_is_supported(struct dmub_srv *dmub) in dmub_dcn20_is_supported() [all …]
|
D | dmub_srv.c | 132 static bool dmub_srv_hw_setup(struct dmub_srv *dmub, enum dmub_asic asic) in dmub_srv_hw_setup() 181 enum dmub_status dmub_srv_create(struct dmub_srv *dmub, in dmub_srv_create() 231 void dmub_srv_destroy(struct dmub_srv *dmub) in dmub_srv_destroy() 237 dmub_srv_calc_region_info(struct dmub_srv *dmub, in dmub_srv_calc_region_info() 312 enum dmub_status dmub_srv_calc_fb_info(struct dmub_srv *dmub, in dmub_srv_calc_fb_info() 345 enum dmub_status dmub_srv_has_hw_support(struct dmub_srv *dmub, in dmub_srv_has_hw_support() 359 enum dmub_status dmub_srv_is_hw_init(struct dmub_srv *dmub, bool *is_hw_init) in dmub_srv_is_hw_init() 375 enum dmub_status dmub_srv_hw_init(struct dmub_srv *dmub, in dmub_srv_hw_init() 475 enum dmub_status dmub_srv_hw_reset(struct dmub_srv *dmub) in dmub_srv_hw_reset() 491 enum dmub_status dmub_srv_cmd_queue(struct dmub_srv *dmub, in dmub_srv_cmd_queue() [all …]
|
D | dmub_dcn30.h | 37 void dmub_dcn30_backdoor_load(struct dmub_srv *dmub, 41 void dmub_dcn30_setup_windows(struct dmub_srv *dmub, 48 bool dmub_dcn30_is_auto_load_done(struct dmub_srv *dmub);
|
D | dmub_dcn21.h | 37 bool dmub_dcn21_is_auto_load_done(struct dmub_srv *dmub); 39 bool dmub_dcn21_is_phy_init(struct dmub_srv *dmub);
|
D | dmub_reg.h | 31 struct dmub_srv; 115 void dmub_reg_set(struct dmub_srv *srv, uint32_t addr, uint32_t reg_val, int n, 118 void dmub_reg_update(struct dmub_srv *srv, uint32_t addr, int n, uint8_t shift1, 121 void dmub_reg_get(struct dmub_srv *srv, uint32_t addr, uint8_t shift,
|
D | dmub_dcn21.c | 56 bool dmub_dcn21_is_auto_load_done(struct dmub_srv *dmub) in dmub_dcn21_is_auto_load_done() 61 bool dmub_dcn21_is_phy_init(struct dmub_srv *dmub) in dmub_dcn21_is_phy_init()
|
D | dmub_reg.c | 72 void dmub_reg_update(struct dmub_srv *srv, uint32_t addr, int n, uint8_t shift1, in dmub_reg_update() 89 void dmub_reg_set(struct dmub_srv *srv, uint32_t addr, uint32_t reg_val, int n, in dmub_reg_set() 104 void dmub_reg_get(struct dmub_srv *srv, uint32_t addr, uint8_t shift, in dmub_reg_get()
|
D | dmub_dcn30.c | 56 static void dmub_dcn30_get_fb_base_offset(struct dmub_srv *dmub, in dmub_dcn30_get_fb_base_offset() 83 void dmub_dcn30_backdoor_load(struct dmub_srv *dmub, in dmub_dcn30_backdoor_load() 118 void dmub_dcn30_setup_windows(struct dmub_srv *dmub, in dmub_dcn30_setup_windows() 192 bool dmub_dcn30_is_auto_load_done(struct dmub_srv *dmub) in dmub_dcn30_is_auto_load_done()
|
D | Makefile | 23 DMUB = dmub_srv.o dmub_reg.o dmub_dcn20.o dmub_dcn21.o
|
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/dce/ |
D | dmub_abm.c | 65 dc_dmub_srv_cmd_queue(dc->dmub_srv, &cmd); in dmub_abm_enable_fractional_pwm() 66 dc_dmub_srv_cmd_execute(dc->dmub_srv); in dmub_abm_enable_fractional_pwm() 67 dc_dmub_srv_wait_idle(dc->dmub_srv); in dmub_abm_enable_fractional_pwm() 143 dc_dmub_srv_cmd_queue(dc->dmub_srv, &cmd); in dmub_abm_set_level() 144 dc_dmub_srv_cmd_execute(dc->dmub_srv); in dmub_abm_set_level() 145 dc_dmub_srv_wait_idle(dc->dmub_srv); in dmub_abm_set_level() 158 dmub_flush_buffer_mem(&dc->dmub_srv->dmub->scratch_mem_fb); in dmub_abm_init_config() 161 memcpy(dc->dmub_srv->dmub->scratch_mem_fb.cpu_addr, (void *)src, bytes); in dmub_abm_init_config() 166 …cmd.abm_init_config.abm_init_config_data.src.quad_part = dc->dmub_srv->dmub->scratch_mem_fb.gpu_ad… in dmub_abm_init_config() 170 dc_dmub_srv_cmd_queue(dc->dmub_srv, &cmd); in dmub_abm_init_config() [all …]
|
D | dmub_psr.c | 78 struct dmub_srv *srv = dmub->ctx->dmub_srv->dmub; in dmub_psr_get_state() 112 dc_dmub_srv_cmd_queue(dc->dmub_srv, &cmd); in dmub_psr_set_version() 113 dc_dmub_srv_cmd_execute(dc->dmub_srv); in dmub_psr_set_version() 114 dc_dmub_srv_wait_idle(dc->dmub_srv); in dmub_psr_set_version() 137 dc_dmub_srv_cmd_queue(dc->dmub_srv, &cmd); in dmub_psr_enable() 138 dc_dmub_srv_cmd_execute(dc->dmub_srv); in dmub_psr_enable() 139 dc_dmub_srv_wait_idle(dc->dmub_srv); in dmub_psr_enable() 185 dc_dmub_srv_cmd_queue(dc->dmub_srv, &cmd); in dmub_psr_set_level() 186 dc_dmub_srv_cmd_execute(dc->dmub_srv); in dmub_psr_set_level() 187 dc_dmub_srv_wait_idle(dc->dmub_srv); in dmub_psr_set_level() [all …]
|
D | dmub_hw_lock_mgr.c | 31 void dmub_hw_lock_mgr_cmd(struct dc_dmub_srv *dmub_srv, in dmub_hw_lock_mgr_cmd() argument 49 dc_dmub_srv_cmd_queue(dmub_srv, &cmd); in dmub_hw_lock_mgr_cmd() 50 dc_dmub_srv_cmd_execute(dmub_srv); in dmub_hw_lock_mgr_cmd() 51 dc_dmub_srv_wait_idle(dmub_srv); in dmub_hw_lock_mgr_cmd()
|
D | dmub_hw_lock_mgr.h | 32 void dmub_hw_lock_mgr_cmd(struct dc_dmub_srv *dmub_srv,
|
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/dcn21/ |
D | dcn21_hwseq.c | 154 dc_dmub_srv_cmd_queue(dc->dmub_srv, &cmd); in dmub_abm_set_pipe() 155 dc_dmub_srv_cmd_execute(dc->dmub_srv); in dmub_abm_set_pipe() 156 dc_dmub_srv_wait_idle(dc->dmub_srv); in dmub_abm_set_pipe() 219 dc_dmub_srv_cmd_queue(dc->dmub_srv, &cmd); in dcn21_set_backlight_level() 220 dc_dmub_srv_cmd_execute(dc->dmub_srv); in dcn21_set_backlight_level() 221 dc_dmub_srv_wait_idle(dc->dmub_srv); in dcn21_set_backlight_level()
|
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/bios/ |
D | command_table2.c | 185 if (bp->base.ctx->dc->ctx->dmub_srv && in encoder_control_digx_v1_5() 187 encoder_control_dmcub(bp->base.ctx->dmub_srv, ¶ms); in encoder_control_digx_v1_5() 201 if (bp->base.ctx->dc->ctx->dmub_srv && in encoder_control_fallback() 295 if (bp->base.ctx->dc->ctx->dmub_srv && in transmitter_control_v1_6() 297 transmitter_control_dmcub(bp->base.ctx->dmub_srv, &ps.param); in transmitter_control_v1_6() 311 if (bp->base.ctx->dc->ctx->dmub_srv && in transmitter_control_fallback() 443 if (bp->base.ctx->dc->ctx->dmub_srv && in set_pixel_clock_v7() 445 set_pixel_clock_dmcub(bp->base.ctx->dmub_srv, &clk); in set_pixel_clock_v7() 459 if (bp->base.ctx->dc->ctx->dmub_srv && in set_pixel_clock_fallback() 757 if (bp->base.ctx->dc->ctx->dmub_srv && in enable_disp_power_gating_v2_1() [all …]
|
/Linux-v5.10/drivers/gpu/drm/amd/display/amdgpu_dm/ |
D | amdgpu_dm.h | 64 struct dmub_srv; 166 struct dmub_srv *dmub_srv; member
|
D | amdgpu_dm.c | 760 struct dmub_srv *dmub_srv = adev->dm.dmub_srv; in dm_dmub_hw_init() local 771 if (!dmub_srv) in dm_dmub_hw_init() 786 status = dmub_srv_has_hw_support(dmub_srv, &has_hw_support); in dm_dmub_hw_init() 856 status = dmub_srv_hw_init(dmub_srv, &hw_params); in dm_dmub_hw_init() 863 status = dmub_srv_wait_for_auto_load(dmub_srv, 100000); in dm_dmub_hw_init() 873 adev->dm.dc->ctx->dmub_srv = dc_dmub_srv_create(adev->dm.dc, dmub_srv); in dm_dmub_hw_init() 874 if (!adev->dm.dc->ctx->dmub_srv) { in dm_dmub_hw_init() 1106 if (adev->dm.dc->ctx->dmub_srv) { in amdgpu_dm_fini() 1107 dc_dmub_srv_destroy(&adev->dm.dc->ctx->dmub_srv); in amdgpu_dm_fini() 1108 adev->dm.dc->ctx->dmub_srv = NULL; in amdgpu_dm_fini() [all …]
|
/Linux-v5.10/drivers/gpu/drm/amd/display/dc/core/ |
D | dc.c | 1440 dc_dmub_srv_notify_stream_mask(dc->ctx->dmub_srv, context->stream_mask); in dc_commit_state_no_check() 2446 dmub_hw_lock_mgr_cmd(dc->ctx->dmub_srv, in commit_planes_for_stream() 2628 dmub_hw_lock_mgr_cmd(dc->ctx->dmub_srv, in commit_planes_for_stream() 2813 if (dc->ctx->dmub_srv) in dc_set_power_state() 2814 dc_dmub_srv_wait_phy_init(dc->ctx->dmub_srv); in dc_set_power_state()
|