/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dmub/ |
H A D | dmub_srv.h | 74 struct dmub_srv; 327 void (*init)(struct dmub_srv *dmub); 329 void (*reset)(struct dmub_srv *dmub); 331 void (*reset_release)(struct dmub_srv *dmub); 333 void (*backdoor_load)(struct dmub_srv *dmub, 337 void (*backdoor_load_zfb_mode)(struct dmub_srv *dmub, 340 void (*setup_windows)(struct dmub_srv *dmub, 347 void (*setup_mailbox)(struct dmub_srv *dmub, 350 uint32_t (*get_inbox1_wptr)(struct dmub_srv *dmub); 352 uint32_t (*get_inbox1_rptr)(struct dmub_srv *dmu 436 struct dmub_srv { global() struct [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dmub/ |
H A D | dmub_srv.h | 74 struct dmub_srv; 241 void (*init)(struct dmub_srv *dmub); 243 void (*reset)(struct dmub_srv *dmub); 245 void (*reset_release)(struct dmub_srv *dmub); 247 void (*backdoor_load)(struct dmub_srv *dmub, 251 void (*setup_windows)(struct dmub_srv *dmub, 258 void (*setup_mailbox)(struct dmub_srv *dmub, 261 uint32_t (*get_inbox1_rptr)(struct dmub_srv *dmub); 263 void (*set_inbox1_wptr)(struct dmub_srv *dmub, uint32_t wptr_offset); 265 uint32_t (*emul_get_inbox1_rptr)(struct dmub_srv *dmu 328 struct dmub_srv { global() struct [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dmub/src/ |
H A D | dmub_dcn31.h | 31 struct dmub_srv; 187 void dmub_dcn31_init(struct dmub_srv *dmub); 189 void dmub_dcn31_reset(struct dmub_srv *dmub); 191 void dmub_dcn31_reset_release(struct dmub_srv *dmub); 193 void dmub_dcn31_backdoor_load(struct dmub_srv *dmub, 197 void dmub_dcn31_setup_windows(struct dmub_srv *dmub, 204 void dmub_dcn31_setup_mailbox(struct dmub_srv *dmub, 207 uint32_t dmub_dcn31_get_inbox1_wptr(struct dmub_srv *dmub); 209 uint32_t dmub_dcn31_get_inbox1_rptr(struct dmub_srv *dmub); 211 void dmub_dcn31_set_inbox1_wptr(struct dmub_srv *dmu [all...] |
H A D | dmub_dcn20.h | 31 struct dmub_srv; 185 void dmub_dcn20_init(struct dmub_srv *dmub); 187 void dmub_dcn20_reset(struct dmub_srv *dmub); 189 void dmub_dcn20_reset_release(struct dmub_srv *dmub); 191 void dmub_dcn20_backdoor_load(struct dmub_srv *dmub, 195 void dmub_dcn20_setup_windows(struct dmub_srv *dmub, 202 void dmub_dcn20_setup_mailbox(struct dmub_srv *dmub, 205 uint32_t dmub_dcn20_get_inbox1_wptr(struct dmub_srv *dmub); 207 uint32_t dmub_dcn20_get_inbox1_rptr(struct dmub_srv *dmub); 209 void dmub_dcn20_set_inbox1_wptr(struct dmub_srv *dmu [all...] |
H A D | dmub_dcn32.h | 31 struct dmub_srv; 188 void dmub_dcn32_reset(struct dmub_srv *dmub); 190 void dmub_dcn32_reset_release(struct dmub_srv *dmub); 192 void dmub_dcn32_backdoor_load(struct dmub_srv *dmub, 196 void dmub_dcn32_backdoor_load_zfb_mode(struct dmub_srv *dmub, 200 void dmub_dcn32_setup_windows(struct dmub_srv *dmub, 207 void dmub_dcn32_setup_mailbox(struct dmub_srv *dmub, 210 uint32_t dmub_dcn32_get_inbox1_wptr(struct dmub_srv *dmub); 212 uint32_t dmub_dcn32_get_inbox1_rptr(struct dmub_srv *dmub); 214 void dmub_dcn32_set_inbox1_wptr(struct dmub_srv *dmu [all...] |
H A D | dmub_dcn32.c | 26 #include "../dmub_srv.h" 57 static void dmub_dcn32_get_fb_base_offset(struct dmub_srv *dmub, in dmub_dcn32_get_fb_base_offset() 84 void dmub_dcn32_reset(struct dmub_srv *dmub) in dmub_dcn32_reset() 138 void dmub_dcn32_reset_release(struct dmub_srv *dmub) in dmub_dcn32_reset_release() 146 void dmub_dcn32_backdoor_load(struct dmub_srv *dmub, in dmub_dcn32_backdoor_load() 179 void dmub_dcn32_backdoor_load_zfb_mode(struct dmub_srv *dmub, in dmub_dcn32_backdoor_load_zfb_mode() 209 void dmub_dcn32_setup_windows(struct dmub_srv *dmub, in dmub_dcn32_setup_windows() 262 void dmub_dcn32_setup_mailbox(struct dmub_srv *dmub, in dmub_dcn32_setup_mailbox() 269 uint32_t dmub_dcn32_get_inbox1_wptr(struct dmub_srv *dmub) in dmub_dcn32_get_inbox1_wptr() 274 uint32_t dmub_dcn32_get_inbox1_rptr(struct dmub_srv *dmu [all...] |
H A D | dmub_dcn31.c | 26 #include "../dmub_srv.h" 56 static void dmub_dcn31_get_fb_base_offset(struct dmub_srv *dmub, in dmub_dcn31_get_fb_base_offset() 83 void dmub_dcn31_reset(struct dmub_srv *dmub) in dmub_dcn31_reset() 144 void dmub_dcn31_reset_release(struct dmub_srv *dmub) in dmub_dcn31_reset_release() 152 void dmub_dcn31_backdoor_load(struct dmub_srv *dmub, in dmub_dcn31_backdoor_load() 185 void dmub_dcn31_setup_windows(struct dmub_srv *dmub, in dmub_dcn31_setup_windows() 238 void dmub_dcn31_setup_mailbox(struct dmub_srv *dmub, in dmub_dcn31_setup_mailbox() 245 uint32_t dmub_dcn31_get_inbox1_wptr(struct dmub_srv *dmub) in dmub_dcn31_get_inbox1_wptr() 250 uint32_t dmub_dcn31_get_inbox1_rptr(struct dmub_srv *dmub) in dmub_dcn31_get_inbox1_rptr() 255 void dmub_dcn31_set_inbox1_wptr(struct dmub_srv *dmu [all...] |
H A D | dmub_dcn20.c | 26 #include "../dmub_srv.h" 60 static void dmub_dcn20_get_fb_base_offset(struct dmub_srv *dmub, in dmub_dcn20_get_fb_base_offset() 87 bool dmub_dcn20_use_cached_inbox(struct dmub_srv *dmub) in dmub_dcn20_use_cached_inbox() 94 void dmub_dcn20_reset(struct dmub_srv *dmub) in dmub_dcn20_reset() 146 void dmub_dcn20_reset_release(struct dmub_srv *dmub) in dmub_dcn20_reset_release() 154 void dmub_dcn20_backdoor_load(struct dmub_srv *dmub, in dmub_dcn20_backdoor_load() 189 void dmub_dcn20_setup_windows(struct dmub_srv *dmub, in dmub_dcn20_setup_windows() 273 void dmub_dcn20_setup_mailbox(struct dmub_srv *dmub, in dmub_dcn20_setup_mailbox() 285 uint32_t dmub_dcn20_get_inbox1_wptr(struct dmub_srv *dmub) in dmub_dcn20_get_inbox1_wptr() 290 uint32_t dmub_dcn20_get_inbox1_rptr(struct dmub_srv *dmu [all...] |
H A D | dmub_srv.c | 26 #include "../dmub_srv.h" 152 static bool dmub_srv_hw_setup(struct dmub_srv *dmub, enum dmub_asic asic) in dmub_srv_hw_setup() 317 enum dmub_status dmub_srv_create(struct dmub_srv *dmub, in dmub_srv_create() 367 void dmub_srv_destroy(struct dmub_srv *dmub) in dmub_srv_destroy() 373 dmub_srv_calc_region_info(struct dmub_srv *dmub, in dmub_srv_calc_region_info() 458 enum dmub_status dmub_srv_calc_mem_info(struct dmub_srv *dmub, in dmub_srv_calc_mem_info() 497 enum dmub_status dmub_srv_has_hw_support(struct dmub_srv *dmub, in dmub_srv_has_hw_support() 511 enum dmub_status dmub_srv_is_hw_init(struct dmub_srv *dmub, bool *is_hw_init) in dmub_srv_is_hw_init() 527 enum dmub_status dmub_srv_hw_init(struct dmub_srv *dmub, in dmub_srv_hw_init() 671 enum dmub_status dmub_srv_sync_inbox1(struct dmub_srv *dmu [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dc/ |
H A D | dc_dmub_srv.c | 28 #include "../dmub/dmub_srv.h" 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 *dmu in dc_dmub_srv_wait_idle() [all...] |
H A 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 in submit_dmub_reg_wait() [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dmub/src/ |
H A 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 *dmu [all...] |
H A D | dmub_dcn20.c | 26 #include "../dmub_srv.h" 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 *dmu [all...] |
H A 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);
|
H A D | dmub_srv.c | 26 #include "../dmub_srv.h" 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() 322 enum dmub_status dmub_srv_calc_mem_info(struct dmub_srv *dmub, in dmub_srv_calc_mem_info() 361 enum dmub_status dmub_srv_has_hw_support(struct dmub_srv *dmub, in dmub_srv_has_hw_support() 375 enum dmub_status dmub_srv_is_hw_init(struct dmub_srv *dmub, bool *is_hw_init) in dmub_srv_is_hw_init() 391 enum dmub_status dmub_srv_hw_init(struct dmub_srv *dmub, in dmub_srv_hw_init() 491 enum dmub_status dmub_srv_hw_reset(struct dmub_srv *dmu [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dc/dce/ |
H A D | dmub_abm.c | 30 #include "dmub/dmub_srv.h" 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 in dmub_abm_init_config() [all...] |
H A D | dmub_psr.c | 29 #include "dmub/dmub_srv.h" 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, in dmub_psr_set_level() [all...] |
H A 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()
|
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/dce/ |
H A 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 50 dm_execute_dmub_cmd(dmub_srv->ctx, &cmd, DM_DMUB_WAIT_TYPE_WAIT); in dmub_hw_lock_mgr_cmd() 53 void dmub_hw_lock_mgr_inbox0_cmd(struct dc_dmub_srv *dmub_srv, in dmub_hw_lock_mgr_inbox0_cmd() argument 59 dc_dmub_srv_clear_inbox0_ack(dmub_srv); in dmub_hw_lock_mgr_inbox0_cmd() 60 dc_dmub_srv_send_inbox0_cmd(dmub_srv, data); in dmub_hw_lock_mgr_inbox0_cmd() 61 dc_dmub_srv_wait_for_inbox0_ack(dmub_srv); in dmub_hw_lock_mgr_inbox0_cmd()
|
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/ |
H A D | dc_dmub_srv.h | 30 #include "dmub/dmub_srv.h" 32 struct dmub_srv; 48 struct dmub_srv *dmub; 79 void dc_dmub_srv_clear_inbox0_ack(struct dc_dmub_srv *dmub_srv); 80 void dc_dmub_srv_wait_for_inbox0_ack(struct dc_dmub_srv *dmub_srv); 81 void dc_dmub_srv_send_inbox0_cmd(struct dc_dmub_srv *dmub_srv, union dmub_inbox0_data_register data); 89 bool dc_dmub_check_min_version(struct dmub_srv *srv);
|
H A D | dc_dmub_srv.c | 28 #include "../dmub/dmub_srv.h" 40 struct dmub_srv *dmub) in dc_dmub_srv_construct() 46 struct dc_dmub_srv *dc_dmub_srv_create(struct dc *dc, struct dmub_srv *dmub) in dc_dmub_srv_create() 61 void dc_dmub_srv_destroy(struct dc_dmub_srv **dmub_srv) in dc_dmub_srv_destroy() argument 63 if (*dmub_srv) { in dc_dmub_srv_destroy() 64 kfree(*dmub_srv); in dc_dmub_srv_destroy() 65 *dmub_srv = NULL; in dc_dmub_srv_destroy() 71 struct dmub_srv *dmub = dc_dmub_srv->dmub; in dc_dmub_srv_wait_idle() 82 void dc_dmub_srv_clear_inbox0_ack(struct dc_dmub_srv *dmub_srv) in dc_dmub_srv_clear_inbox0_ack() argument 84 struct dmub_srv *dmu in dc_dmub_srv_clear_inbox0_ack() 95 dc_dmub_srv_wait_for_inbox0_ack(struct dc_dmub_srv *dmub_srv) dc_dmub_srv_wait_for_inbox0_ack() argument 108 dc_dmub_srv_send_inbox0_cmd(struct dc_dmub_srv *dmub_srv, union dmub_inbox0_data_register data) dc_dmub_srv_send_inbox0_cmd() argument [all...] |
H A D | dc_helper.c | 148 struct dc_reg_helper_state *offload = &ctx->dmub_srv->reg_helper_offload; in dmub_reg_value_burst_set_pack() 173 struct dc_reg_helper_state *offload = &ctx->dmub_srv->reg_helper_offload; in dmub_reg_value_pack() 212 struct dc_reg_helper_state *offload = &ctx->dmub_srv->reg_helper_offload; in dmub_reg_wait_done_pack() 239 if (ctx->dmub_srv && in generic_reg_update_ex() 240 ctx->dmub_srv->reg_helper_offload.gather_in_progress) in generic_reg_update_ex() 270 if (ctx->dmub_srv && in generic_reg_set_ex() 271 ctx->dmub_srv->reg_helper_offload.gather_in_progress) { in generic_reg_set_ex() 439 if (ctx->dmub_srv && in generic_reg_wait() 440 ctx->dmub_srv->reg_helper_offload.gather_in_progress) { in generic_reg_wait() 497 if (ctx->dmub_srv in generic_read_indirect_reg() [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/core/ |
H A D | dc_stat.c | 55 struct dmub_srv *dmub = dc->ctx->dmub_srv->dmub; in dc_stat_get_dmub_notification() 84 struct dmub_srv *dmub = dc->ctx->dmub_srv->dmub; in dc_stat_get_dmub_dataout()
|
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dc/dcn21/ |
H A 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()
|
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/bios/ |
H A D | command_table2.c | 181 if (bp->base.ctx->dc->ctx->dmub_srv && in encoder_control_digx_v1_5() 183 encoder_control_dmcub(bp->base.ctx->dmub_srv, ¶ms); in encoder_control_digx_v1_5() 197 if (bp->base.ctx->dc->ctx->dmub_srv && in encoder_control_fallback() 296 if (bp->base.ctx->dc->ctx->dmub_srv && in transmitter_control_v1_6() 298 transmitter_control_dmcub(bp->base.ctx->dmub_srv, &ps.param); in transmitter_control_v1_6() 363 if (bp->base.ctx->dc->ctx->dmub_srv && in transmitter_control_v1_7() 365 transmitter_control_dmcub_v1_7(bp->base.ctx->dmub_srv, &dig_v1_7); in transmitter_control_v1_7() 379 if (bp->base.ctx->dc->ctx->dmub_srv && in transmitter_control_fallback() 509 if (bp->base.ctx->dc->ctx->dmub_srv && in set_pixel_clock_v7() 511 set_pixel_clock_dmcub(bp->base.ctx->dmub_srv, in set_pixel_clock_v7() [all...] |