Home
last modified time | relevance | path

Searched refs:dmub (Results 1 – 25 of 43) sorted by relevance

12

/openbsd/src/sys/dev/pci/drm/amd/display/dmub/src/
Ddmub_srv.c159 static bool dmub_srv_hw_setup(struct dmub_srv *dmub, enum dmub_asic asic) in dmub_srv_hw_setup() argument
161 struct dmub_srv_hw_funcs *funcs = &dmub->hw_funcs; in dmub_srv_hw_setup()
170 dmub->regs = &dmub_srv_dcn20_regs; in dmub_srv_hw_setup()
203 dmub->regs = &dmub_srv_dcn21_regs; in dmub_srv_hw_setup()
206 dmub->regs = &dmub_srv_dcn30_regs; in dmub_srv_hw_setup()
212 dmub->regs = &dmub_srv_dcn301_regs; in dmub_srv_hw_setup()
218 dmub->regs = &dmub_srv_dcn302_regs; in dmub_srv_hw_setup()
224 dmub->regs = &dmub_srv_dcn303_regs; in dmub_srv_hw_setup()
237 dmub->regs_dcn31 = &dmub_srv_dcn314_regs; in dmub_srv_hw_setup()
240 dmub->regs_dcn31 = &dmub_srv_dcn315_regs; in dmub_srv_hw_setup()
[all …]
Ddmub_dcn401.h201 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,
209 void dmub_dcn401_backdoor_load_zfb_mode(struct dmub_srv *dmub,
213 void dmub_dcn401_setup_windows(struct dmub_srv *dmub,
221 void dmub_dcn401_setup_mailbox(struct dmub_srv *dmub,
224 uint32_t dmub_dcn401_get_inbox1_wptr(struct dmub_srv *dmub);
226 uint32_t dmub_dcn401_get_inbox1_rptr(struct dmub_srv *dmub);
228 void dmub_dcn401_set_inbox1_wptr(struct dmub_srv *dmub, uint32_t wptr_offset);
230 void dmub_dcn401_setup_out_mailbox(struct dmub_srv *dmub,
[all …]
Ddmub_dcn401.c15 #define CTX dmub
16 #define REGS dmub->regs_dcn401
36 static void dmub_dcn401_get_fb_base_offset(struct dmub_srv *dmub, in dmub_dcn401_get_fb_base_offset() argument
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()
63 void dmub_dcn401_reset(struct dmub_srv *dmub) in dmub_dcn401_reset() argument
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()
[all …]
Ddmub_dcn35.h203 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,
213 void dmub_dcn35_backdoor_load_zfb_mode(struct dmub_srv *dmub,
217 void dmub_dcn35_setup_windows(struct dmub_srv *dmub,
225 void dmub_dcn35_setup_mailbox(struct dmub_srv *dmub,
228 uint32_t dmub_dcn35_get_inbox1_wptr(struct dmub_srv *dmub);
230 uint32_t dmub_dcn35_get_inbox1_rptr(struct dmub_srv *dmub);
232 void dmub_dcn35_set_inbox1_wptr(struct dmub_srv *dmub, uint32_t wptr_offset);
[all …]
Ddmub_dcn20.c36 #define CTX dmub
37 #define REGS dmub->regs
60 static void dmub_dcn20_get_fb_base_offset(struct dmub_srv *dmub, in dmub_dcn20_get_fb_base_offset() argument
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()
87 bool dmub_dcn20_use_cached_inbox(struct dmub_srv *dmub) in dmub_dcn20_use_cached_inbox() argument
90 return !(dmub->fw_version >= DMUB_FW_VERSION(1, 0, 0) && in dmub_dcn20_use_cached_inbox()
91 dmub->fw_version <= DMUB_FW_VERSION(1, 10, 0)); in dmub_dcn20_use_cached_inbox()
94 void dmub_dcn20_reset(struct dmub_srv *dmub) in dmub_dcn20_reset() argument
[all …]
Ddmub_dcn31.c35 #define CTX dmub
36 #define REGS dmub->regs_dcn31
56 static void dmub_dcn31_get_fb_base_offset(struct dmub_srv *dmub, in dmub_dcn31_get_fb_base_offset() argument
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()
83 void dmub_dcn31_reset(struct dmub_srv *dmub) in dmub_dcn31_reset() argument
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()
[all …]
Ddmub_dcn32.h192 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,
200 void dmub_dcn32_backdoor_load_zfb_mode(struct dmub_srv *dmub,
204 void dmub_dcn32_setup_windows(struct dmub_srv *dmub,
212 void dmub_dcn32_setup_mailbox(struct dmub_srv *dmub,
215 uint32_t dmub_dcn32_get_inbox1_wptr(struct dmub_srv *dmub);
217 uint32_t dmub_dcn32_get_inbox1_rptr(struct dmub_srv *dmub);
219 void dmub_dcn32_set_inbox1_wptr(struct dmub_srv *dmub, uint32_t wptr_offset);
221 void dmub_dcn32_setup_out_mailbox(struct dmub_srv *dmub,
[all …]
Ddmub_dcn32.c36 #define CTX dmub
37 #define REGS dmub->regs_dcn32
40 void dmub_srv_dcn32_regs_init(struct dmub_srv *dmub, struct dc_context *ctx) in dmub_srv_dcn32_regs_init() argument
42 struct dmub_srv_dcn32_regs *regs = dmub->regs_dcn32; in dmub_srv_dcn32_regs_init()
62 static void dmub_dcn32_get_fb_base_offset(struct dmub_srv *dmub, in dmub_dcn32_get_fb_base_offset() argument
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()
89 void dmub_dcn32_reset(struct dmub_srv *dmub) in dmub_dcn32_reset() argument
102 dmub->hw_funcs.set_gpint(dmub, cmd); in dmub_dcn32_reset()
[all …]
Ddmub_dcn31.h187 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,
208 uint32_t dmub_dcn31_get_inbox1_wptr(struct dmub_srv *dmub);
210 uint32_t dmub_dcn31_get_inbox1_rptr(struct dmub_srv *dmub);
212 void dmub_dcn31_set_inbox1_wptr(struct dmub_srv *dmub, uint32_t wptr_offset);
214 void dmub_dcn31_setup_out_mailbox(struct dmub_srv *dmub,
[all …]
Ddmub_dcn20.h185 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,
206 uint32_t dmub_dcn20_get_inbox1_wptr(struct dmub_srv *dmub);
208 uint32_t dmub_dcn20_get_inbox1_rptr(struct dmub_srv *dmub);
210 void dmub_dcn20_set_inbox1_wptr(struct dmub_srv *dmub, uint32_t wptr_offset);
212 void dmub_dcn20_setup_out_mailbox(struct dmub_srv *dmub,
[all …]
Ddmub_dcn35.c36 #define CTX dmub
37 #define REGS dmub->regs_dcn35
40 void dmub_srv_dcn35_regs_init(struct dmub_srv *dmub, struct dc_context *ctx) { in dmub_srv_dcn35_regs_init() argument
41 struct dmub_srv_dcn35_regs *regs = dmub->regs_dcn35; in dmub_srv_dcn35_regs_init()
59 static void dmub_dcn35_get_fb_base_offset(struct dmub_srv *dmub, in dmub_dcn35_get_fb_base_offset() argument
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()
[all …]
Ddmub_srv_stat.c46 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()
Ddmub_dcn30.c36 #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()
Ddmub_dcn314.c41 #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()
Ddmub_dcn351.c12 #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()
Ddmub_dcn30.h37 void dmub_dcn30_backdoor_load(struct dmub_srv *dmub,
41 void dmub_dcn30_setup_windows(struct dmub_srv *dmub,
Ddmub_dcn21.c35 #define CTX dmub
36 #define REGS dmub->regs
/openbsd/src/sys/dev/pci/drm/amd/display/dmub/
Ddmub_srv.h374 void (*init)(struct dmub_srv *dmub);
376 void (*reset)(struct dmub_srv *dmub);
378 void (*reset_release)(struct dmub_srv *dmub);
380 void (*backdoor_load)(struct dmub_srv *dmub,
384 void (*backdoor_load_zfb_mode)(struct dmub_srv *dmub,
387 void (*setup_windows)(struct dmub_srv *dmub,
395 void (*setup_mailbox)(struct dmub_srv *dmub,
398 uint32_t (*get_inbox1_wptr)(struct dmub_srv *dmub);
400 uint32_t (*get_inbox1_rptr)(struct dmub_srv *dmub);
402 void (*set_inbox1_wptr)(struct dmub_srv *dmub, uint32_t wptr_offset);
[all …]
/openbsd/src/sys/dev/pci/drm/amd/display/dc/dce/
Ddmub_psr.h40 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);
Ddmub_replay.h19 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);
Ddmub_psr.c108 static void dmub_psr_get_state(struct dmub_psr *dmub, enum dc_psr_state *state, uint8_t panel_inst) in dmub_psr_get_state() argument
115 if (dc_wake_and_execute_gpint(dmub->ctx, DMUB_GPINT__GET_PSR_STATE, panel_inst, &raw_state, in dmub_psr_get_state()
140 static bool dmub_psr_set_version(struct dmub_psr *dmub, struct dc_stream_state *stream, uint8_t pan… in dmub_psr_set_version() argument
143 struct dc_context *dc = dmub->ctx; in dmub_psr_set_version()
179 static void dmub_psr_enable(struct dmub_psr *dmub, bool enable, bool wait, uint8_t panel_inst) in dmub_psr_enable() argument
182 struct dc_context *dc = dmub->ctx; in dmub_psr_enable()
207 dmub_psr_get_state(dmub, &state, panel_inst); in dmub_psr_enable()
230 static void dmub_psr_set_level(struct dmub_psr *dmub, uint16_t psr_level, uint8_t panel_inst) in dmub_psr_set_level() argument
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()
[all …]
Ddmub_replay.c23 static void dmub_replay_get_state(struct dmub_replay *dmub, enum replay_state *state, uint8_t panel… in dmub_replay_get_state() argument
29 if (!dc_wake_and_execute_gpint(dmub->ctx, DMUB_GPINT__GET_REPLAY_STATE, panel_inst, in dmub_replay_get_state()
46 static void dmub_replay_enable(struct dmub_replay *dmub, bool enable, bool wait, uint8_t panel_inst) in dmub_replay_enable() argument
49 struct dc_context *dc = dmub->ctx; in dmub_replay_enable()
73 dmub_replay_get_state(dmub, &state, panel_inst); in dmub_replay_enable()
96 static void dmub_replay_set_power_opt(struct dmub_replay *dmub, unsigned int power_opt, uint8_t pan… in dmub_replay_set_power_opt() argument
99 struct dc_context *dc = dmub->ctx; in dmub_replay_set_power_opt()
114 static bool dmub_replay_copy_settings(struct dmub_replay *dmub, in dmub_replay_copy_settings() argument
120 struct dc_context *dc = dmub->ctx; in dmub_replay_copy_settings()
200 static void dmub_replay_set_coasting_vtotal(struct dmub_replay *dmub, in dmub_replay_set_coasting_vtotal() argument
[all …]
Ddmub_abm_lcd.c169 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()
/openbsd/src/sys/dev/pci/drm/amd/display/dc/
Ddc_dmub_srv.c44 struct dmub_srv *dmub) in dc_dmub_srv_construct() argument
46 dc_srv->dmub = dmub; in dc_dmub_srv_construct()
50 struct dc_dmub_srv *dc_dmub_srv_create(struct dc *dc, struct dmub_srv *dmub) in dc_dmub_srv_create() argument
60 dc_dmub_srv_construct(dc_srv, dc, dmub); in dc_dmub_srv_create()
75 struct dmub_srv *dmub = dc_dmub_srv->dmub; in dc_dmub_srv_wait_idle() local
80 status = dmub_srv_wait_for_idle(dmub, 100000); in dc_dmub_srv_wait_idle()
91 struct dmub_srv *dmub = dc_dmub_srv->dmub; in dc_dmub_srv_clear_inbox0_ack() local
95 status = dmub_srv_clear_inbox0_ack(dmub); in dc_dmub_srv_clear_inbox0_ack()
104 struct dmub_srv *dmub = dc_dmub_srv->dmub; in dc_dmub_srv_wait_for_inbox0_ack() local
108 status = dmub_srv_wait_for_inbox0_ack(dmub, 100000); in dc_dmub_srv_wait_for_inbox0_ack()
[all …]
/openbsd/src/sys/dev/pci/drm/amd/display/dc/core/
Ddc_stat.c55 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()

12