| /linux/drivers/gpu/drm/amd/display/dmub/src/ |
| A D | dmub_srv.c | 422 dmub_memset(dmub, 0, sizeof(*dmub)); in dmub_srv_create() 469 dmub_memset(dmub, 0, sizeof(*dmub)); in dmub_srv_destroy() 643 dmub->hw_funcs.reset(dmub); in dmub_srv_hw_init() 761 dmub->hw_funcs.reset_release(dmub); in dmub_srv_hw_init() 796 dmub->hw_funcs.reset(dmub); in dmub_srv_hw_reset() 851 dmub->hw_funcs.set_inbox1_wptr(dmub, dmub->inbox1_rb.wrpt); in dmub_srv_cmd_execute() 957 dmub->hw_funcs.set_gpint(dmub, reg); in dmub_srv_send_gpint_command() 1095 dmub->outbox0_rb.wrpt = dmub->hw_funcs.get_outbox0_wptr(dmub); in dmub_srv_get_outbox0_msg() 1113 return dmub->hw_funcs.should_detect(dmub); in dmub_srv_should_detect() 1155 dmub->hw_funcs.subvp_save_surf_addr(dmub, in dmub_srv_subvp_save_surf_addr() [all …]
|
| A D | dmub_dcn401.h | 201 void dmub_dcn401_reset(struct dmub_srv *dmub); 203 void dmub_dcn401_reset_release(struct dmub_srv *dmub); 205 void dmub_dcn401_backdoor_load(struct dmub_srv *dmub, 213 void dmub_dcn401_setup_windows(struct dmub_srv *dmub, 221 void dmub_dcn401_setup_mailbox(struct dmub_srv *dmub, 230 void dmub_dcn401_setup_out_mailbox(struct dmub_srv *dmub, 237 bool dmub_dcn401_is_hw_init(struct dmub_srv *dmub); 239 bool dmub_dcn401_is_supported(struct dmub_srv *dmub); 241 void dmub_dcn401_set_gpint(struct dmub_srv *dmub, 244 bool dmub_dcn401_is_gpint_acked(struct dmub_srv *dmub, [all …]
|
| A D | dmub_dcn35.h | 203 void dmub_dcn35_init(struct dmub_srv *dmub); 205 void dmub_dcn35_reset(struct dmub_srv *dmub); 207 void dmub_dcn35_reset_release(struct dmub_srv *dmub); 209 void dmub_dcn35_backdoor_load(struct dmub_srv *dmub, 217 void dmub_dcn35_setup_windows(struct dmub_srv *dmub, 225 void dmub_dcn35_setup_mailbox(struct dmub_srv *dmub, 241 bool dmub_dcn35_is_hw_init(struct dmub_srv *dmub); 243 bool dmub_dcn35_is_supported(struct dmub_srv *dmub); 245 void dmub_dcn35_set_gpint(struct dmub_srv *dmub, 248 bool dmub_dcn35_is_gpint_acked(struct dmub_srv *dmub, [all …]
|
| A D | dmub_dcn401.c | 15 #define CTX dmub 16 #define REGS dmub->regs_dcn401 42 if (dmub->fb_base || dmub->fb_offset) { in dmub_dcn401_get_fb_base_offset() 43 *fb_base = dmub->fb_base; in dmub_dcn401_get_fb_base_offset() 44 *fb_offset = dmub->fb_offset; in dmub_dcn401_get_fb_base_offset() 76 dmub->hw_funcs.set_gpint(dmub, cmd); in dmub_dcn401_reset() 88 if (dmub->hw_funcs.is_gpint_acked(dmub, cmd)) in dmub_dcn401_reset() 93 scratch = dmub->hw_funcs.get_gpint_response(dmub); in dmub_dcn401_reset() 114 dmub->hw_funcs.set_gpint(dmub, cmd); in dmub_dcn401_reset() 410 if (!dmub || !diag_data) in dmub_dcn401_get_diagnostic_data() [all …]
|
| A D | dmub_dcn20.c | 36 #define CTX dmub 37 #define REGS dmub->regs 66 if (dmub->fb_base || dmub->fb_offset) { in dmub_dcn20_get_fb_base_offset() 67 *fb_base = dmub->fb_base; in dmub_dcn20_get_fb_base_offset() 68 *fb_offset = dmub->fb_offset; in dmub_dcn20_get_fb_base_offset() 107 dmub->hw_funcs.set_gpint(dmub, cmd); in dmub_dcn20_reset() 119 if (dmub->hw_funcs.is_gpint_acked(dmub, cmd)) in dmub_dcn20_reset() 124 scratch = dmub->hw_funcs.get_gpint_response(dmub); in dmub_dcn20_reset() 131 dmub->hw_funcs.set_gpint(dmub, cmd); in dmub_dcn20_reset() 278 if (dmub_dcn20_use_cached_inbox(dmub)) in dmub_dcn20_setup_mailbox() [all …]
|
| A D | dmub_dcn31.c | 35 #define CTX dmub 36 #define REGS dmub->regs_dcn31 62 if (dmub->fb_base || dmub->fb_offset) { in dmub_dcn31_get_fb_base_offset() 63 *fb_base = dmub->fb_base; in dmub_dcn31_get_fb_base_offset() 64 *fb_offset = dmub->fb_offset; in dmub_dcn31_get_fb_base_offset() 96 dmub->hw_funcs.set_gpint(dmub, cmd); in dmub_dcn31_reset() 104 if (dmub->hw_funcs.is_gpint_acked(dmub, cmd)) in dmub_dcn31_reset() 111 scratch = dmub->hw_funcs.get_gpint_response(dmub); in dmub_dcn31_reset() 141 dmub->hw_funcs.set_gpint(dmub, cmd); in dmub_dcn31_reset() 416 if (!dmub || !diag_data) in dmub_dcn31_get_diagnostic_data() [all …]
|
| A D | dmub_dcn32.h | 192 void dmub_dcn32_reset(struct dmub_srv *dmub); 194 void dmub_dcn32_reset_release(struct dmub_srv *dmub); 196 void dmub_dcn32_backdoor_load(struct dmub_srv *dmub, 204 void dmub_dcn32_setup_windows(struct dmub_srv *dmub, 212 void dmub_dcn32_setup_mailbox(struct dmub_srv *dmub, 221 void dmub_dcn32_setup_out_mailbox(struct dmub_srv *dmub, 228 bool dmub_dcn32_is_hw_init(struct dmub_srv *dmub); 230 bool dmub_dcn32_is_supported(struct dmub_srv *dmub); 232 void dmub_dcn32_set_gpint(struct dmub_srv *dmub, 235 bool dmub_dcn32_is_gpint_acked(struct dmub_srv *dmub, [all …]
|
| A D | dmub_dcn32.c | 36 #define CTX dmub 37 #define REGS dmub->regs_dcn32 68 if (dmub->fb_base || dmub->fb_offset) { in dmub_dcn32_get_fb_base_offset() 69 *fb_base = dmub->fb_base; in dmub_dcn32_get_fb_base_offset() 70 *fb_offset = dmub->fb_offset; in dmub_dcn32_get_fb_base_offset() 102 dmub->hw_funcs.set_gpint(dmub, cmd); in dmub_dcn32_reset() 114 if (dmub->hw_funcs.is_gpint_acked(dmub, cmd)) in dmub_dcn32_reset() 119 scratch = dmub->hw_funcs.get_gpint_response(dmub); in dmub_dcn32_reset() 140 dmub->hw_funcs.set_gpint(dmub, cmd); in dmub_dcn32_reset() 425 if (!dmub || !diag_data) in dmub_dcn32_get_diagnostic_data() [all …]
|
| A D | dmub_dcn31.h | 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, 205 void dmub_dcn31_setup_mailbox(struct dmub_srv *dmub, 221 bool dmub_dcn31_is_hw_init(struct dmub_srv *dmub); 223 bool dmub_dcn31_is_supported(struct dmub_srv *dmub); 227 void dmub_dcn31_set_gpint(struct dmub_srv *dmub, 230 bool dmub_dcn31_is_gpint_acked(struct dmub_srv *dmub, [all …]
|
| A D | dmub_dcn20.h | 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, 203 void dmub_dcn20_setup_mailbox(struct dmub_srv *dmub, 219 void dmub_dcn20_setup_outbox0(struct dmub_srv *dmub, 226 bool dmub_dcn20_is_hw_init(struct dmub_srv *dmub); 228 bool dmub_dcn20_is_supported(struct dmub_srv *dmub); 230 void dmub_dcn20_set_gpint(struct dmub_srv *dmub, [all …]
|
| A D | dmub_dcn35.c | 36 #define CTX dmub 37 #define REGS dmub->regs_dcn35 88 void dmub_dcn35_reset(struct dmub_srv *dmub) in dmub_dcn35_reset() argument 101 dmub->hw_funcs.set_gpint(dmub, cmd); in dmub_dcn35_reset() 109 if (dmub->hw_funcs.is_gpint_acked(dmub, cmd)) in dmub_dcn35_reset() 116 scratch = dmub->hw_funcs.get_gpint_response(dmub); in dmub_dcn35_reset() 151 dmub->hw_funcs.set_gpint(dmub, cmd); in dmub_dcn35_reset() 357 void dmub_dcn35_set_gpint(struct dmub_srv *dmub, in dmub_dcn35_set_gpint() argument 469 if (!dmub || !diag_data) in dmub_dcn35_get_diagnostic_data() 474 diag_data->dmcub_version = dmub->fw_version; in dmub_dcn35_get_diagnostic_data() [all …]
|
| A D | dmub_srv_stat.c | 46 enum dmub_status dmub_srv_stat_get_notification(struct dmub_srv *dmub, in dmub_srv_stat_get_notification() argument 56 if (!dmub->hw_init) { in dmub_srv_stat_get_notification() 63 dmub->outbox1_rb.wrpt = dmub->hw_funcs.get_outbox1_wptr(dmub); in dmub_srv_stat_get_notification() 65 if (!dmub_rb_out_front(&dmub->outbox1_rb, &cmd)) { in dmub_srv_stat_get_notification() 128 dmub_rb_pop_front(&dmub->outbox1_rb); in dmub_srv_stat_get_notification() 129 dmub->hw_funcs.set_outbox1_rptr(dmub, dmub->outbox1_rb.rptr); in dmub_srv_stat_get_notification() 135 if (dmub_rb_empty(&dmub->outbox1_rb)) in dmub_srv_stat_get_notification()
|
| A D | dmub_dcn30.c | 36 #define CTX dmub 37 #define REGS dmub->regs 60 static void dmub_dcn30_get_fb_base_offset(struct dmub_srv *dmub, in dmub_dcn30_get_fb_base_offset() argument 66 if (dmub->fb_base || dmub->fb_offset) { in dmub_dcn30_get_fb_base_offset() 67 *fb_base = dmub->fb_base; in dmub_dcn30_get_fb_base_offset() 68 *fb_offset = dmub->fb_offset; in dmub_dcn30_get_fb_base_offset() 87 void dmub_dcn30_backdoor_load(struct dmub_srv *dmub, in dmub_dcn30_backdoor_load() argument 94 dmub_dcn30_get_fb_base_offset(dmub, &fb_base, &fb_offset); in dmub_dcn30_backdoor_load() 122 void dmub_dcn30_setup_windows(struct dmub_srv *dmub, in dmub_dcn30_setup_windows() argument 162 if (dmub_dcn20_use_cached_inbox(dmub)) { in dmub_dcn30_setup_windows()
|
| A D | dmub_dcn314.c | 41 #define CTX dmub 42 #define REGS dmub->regs_dcn31 64 bool dmub_dcn314_is_psrsu_supported(struct dmub_srv *dmub) in dmub_dcn314_is_psrsu_supported() argument 66 return dmub->fw_version >= DMUB_FW_VERSION(8, 0, 16); in dmub_dcn314_is_psrsu_supported()
|
| A D | dmub_dcn351.c | 12 #define CTX dmub 13 #define REGS dmub->regs_dcn35 16 void dmub_srv_dcn351_regs_init(struct dmub_srv *dmub, struct dc_context *ctx) in dmub_srv_dcn351_regs_init() argument 18 struct dmub_srv_dcn35_regs *regs = dmub->regs_dcn35; in dmub_srv_dcn351_regs_init()
|
| 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,
|
| A D | dmub_dcn21.c | 35 #define CTX dmub 36 #define REGS dmub->regs
|
| /linux/drivers/gpu/drm/amd/display/dmub/ |
| A D | dmub_srv.h | 374 void (*init)(struct dmub_srv *dmub); 376 void (*reset)(struct dmub_srv *dmub); 380 void (*backdoor_load)(struct dmub_srv *dmub, 387 void (*setup_windows)(struct dmub_srv *dmub, 395 void (*setup_mailbox)(struct dmub_srv *dmub, 411 void (*setup_outbox0)(struct dmub_srv *dmub, 422 bool (*is_supported)(struct dmub_srv *dmub); 426 bool (*is_hw_init)(struct dmub_srv *dmub); 438 void (*set_gpint)(struct dmub_srv *dmub, 596 void dmub_srv_destroy(struct dmub_srv *dmub); [all …]
|
| /linux/drivers/gpu/drm/amd/display/dc/dce/ |
| A D | dmub_psr.h | 40 bool (*psr_copy_settings)(struct dmub_psr *dmub, struct dc_link *link, 42 void (*psr_enable)(struct dmub_psr *dmub, bool enable, bool wait, 44 void (*psr_get_state)(struct dmub_psr *dmub, enum dc_psr_state *dc_psr_state, 46 void (*psr_set_level)(struct dmub_psr *dmub, uint16_t psr_level, 48 void (*psr_force_static)(struct dmub_psr *dmub, uint8_t panel_inst); 49 void (*psr_get_residency)(struct dmub_psr *dmub, uint32_t *residency, 51 void (*psr_set_sink_vtotal_in_psr_active)(struct dmub_psr *dmub, 53 void (*psr_set_power_opt)(struct dmub_psr *dmub, unsigned int power_opt, uint8_t panel_inst); 57 void dmub_psr_destroy(struct dmub_psr **dmub);
|
| A D | dmub_replay.h | 19 void (*replay_get_state)(struct dmub_replay *dmub, enum replay_state *state, 21 void (*replay_enable)(struct dmub_replay *dmub, bool enable, bool wait, 23 bool (*replay_copy_settings)(struct dmub_replay *dmub, struct dc_link *link, 25 void (*replay_set_power_opt)(struct dmub_replay *dmub, unsigned int power_opt, 27 void (*replay_send_cmd)(struct dmub_replay *dmub, 29 void (*replay_set_coasting_vtotal)(struct dmub_replay *dmub, uint32_t coasting_vtotal, 31 void (*replay_residency)(struct dmub_replay *dmub, 33 void (*replay_set_power_opt_and_coasting_vtotal)(struct dmub_replay *dmub, 38 void dmub_replay_destroy(struct dmub_replay **dmub);
|
| A D | dmub_psr.c | 143 struct dc_context *dc = dmub->ctx; in dmub_psr_set_version() 182 struct dc_context *dc = dmub->ctx; in dmub_psr_enable() 234 struct dc_context *dc = dmub->ctx; in dmub_psr_set_level() 236 dmub_psr_get_state(dmub, &state, panel_inst); in dmub_psr_set_level() 258 struct dc_context *dc = dmub->ctx; in dmub_psr_set_sink_vtotal_in_psr_active() 276 struct dc_context *dc = dmub->ctx; in dmub_psr_set_power_opt() 298 struct dc_context *dc = dmub->ctx; in dmub_psr_copy_settings() 435 struct dc_context *dc = dmub->ctx; in dmub_psr_force_static() 503 void dmub_psr_destroy(struct dmub_psr **dmub) in dmub_psr_destroy() argument 505 kfree(*dmub); in dmub_psr_destroy() [all …]
|
| A D | dmub_replay.c | 49 struct dc_context *dc = dmub->ctx; in dmub_replay_enable() 73 dmub_replay_get_state(dmub, &state, panel_inst); in dmub_replay_enable() 99 struct dc_context *dc = dmub->ctx; in dmub_replay_set_power_opt() 120 struct dc_context *dc = dmub->ctx; in dmub_replay_copy_settings() 205 struct dc_context *dc = dmub->ctx; in dmub_replay_set_coasting_vtotal() 275 struct dc_context *dc = dmub->ctx; in dmub_replay_set_power_opt_and_coasting_vtotal() 301 if (dmub == NULL || cmd_element == NULL) in dmub_replay_send_cmd() 304 ctx = dmub->ctx; in dmub_replay_send_cmd() 432 void dmub_replay_destroy(struct dmub_replay **dmub) in dmub_replay_destroy() argument 434 kfree(*dmub); in dmub_replay_destroy() [all …]
|
| A D | dmub_abm_lcd.c | 169 dmub_flush_buffer_mem(&dc->dmub_srv->dmub->scratch_mem_fb); in dmub_abm_init_config() 172 memcpy(dc->dmub_srv->dmub->scratch_mem_fb.cpu_addr, (void *)src, bytes); in dmub_abm_init_config() 178 …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() 229 dmub_flush_buffer_mem(&dc->dmub_srv->dmub->scratch_mem_fb); in dmub_abm_save_restore() 232 memcpy(dc->dmub_srv->dmub->scratch_mem_fb.cpu_addr, (void *)pData, bytes); in dmub_abm_save_restore() 238 …cmd.abm_save_restore.abm_init_config_data.src.quad_part = dc->dmub_srv->dmub->scratch_mem_fb.gpu_a… in dmub_abm_save_restore() 248 memcpy((void *)pData, dc->dmub_srv->dmub->scratch_mem_fb.cpu_addr, bytes); in dmub_abm_save_restore()
|
| /linux/drivers/gpu/drm/amd/display/dc/ |
| A D | dc_dmub_srv.c | 46 dc_srv->dmub = dmub; in dc_dmub_srv_construct() 75 struct dmub_srv *dmub = dc_dmub_srv->dmub; in dc_dmub_srv_wait_idle() local 91 struct dmub_srv *dmub = dc_dmub_srv->dmub; in dc_dmub_srv_clear_inbox0_ack() local 104 struct dmub_srv *dmub = dc_dmub_srv->dmub; in dc_dmub_srv_wait_for_inbox0_ack() local 118 struct dmub_srv *dmub = dc_dmub_srv->dmub; in dc_dmub_srv_send_inbox0_cmd() local 142 dmub = dc_dmub_srv->dmub; in dc_dmub_srv_cmd_list_queue_execute() 193 dmub = dc_dmub_srv->dmub; in dc_dmub_srv_wait_for_idle() 236 dmub = dc_dmub_srv->dmub; in dc_dmub_srv_cmd_run_list() 307 dmub = dc_dmub_srv->dmub; in dc_dmub_srv_optimized_init_done() 339 dmub = dc_dmub_srv->dmub; in dc_dmub_srv_is_restore_required() [all …]
|
| /linux/drivers/gpu/drm/amd/display/dc/core/ |
| A D | dc_stat.c | 55 struct dmub_srv *dmub = dc->ctx->dmub_srv->dmub; in dc_stat_get_dmub_notification() local 58 status = dmub_srv_stat_get_notification(dmub, notify); in dc_stat_get_dmub_notification() 85 struct dmub_srv *dmub = dc->ctx->dmub_srv->dmub; in dc_stat_get_dmub_dataout() local 88 status = dmub_srv_get_gpint_dataout(dmub, dataout); in dc_stat_get_dmub_dataout()
|