Lines Matching full:struct

35 struct pipe_ctx;
36 struct dc_state;
37 struct dc_stream_status;
38 struct dc_writeback_info;
39 struct dchub_init_data;
40 struct dc_static_screen_params;
41 struct resource_pool;
42 struct dc_phy_addr_space_config;
43 struct dc_virtual_addr_space_config;
44 struct dpp;
45 struct dce_hwseq;
46 struct link_resource;
47 struct dc_dmub_cmd;
48 struct pg_block_update;
50 struct subvp_pipe_control_lock_fast_params {
51 struct dc *dc;
56 struct pipe_control_lock_params {
57 struct dc *dc;
58 struct pipe_ctx *pipe_ctx;
62 struct set_flip_control_gsl_params {
63 struct pipe_ctx *pipe_ctx;
67 struct program_triplebuffer_params {
68 const struct dc *dc;
69 struct pipe_ctx *pipe_ctx;
73 struct update_plane_addr_params {
74 struct dc *dc;
75 struct pipe_ctx *pipe_ctx;
78 struct set_input_transfer_func_params {
79 struct dc *dc;
80 struct pipe_ctx *pipe_ctx;
81 struct dc_plane_state *plane_state;
84 struct program_gamut_remap_params {
85 struct pipe_ctx *pipe_ctx;
88 struct program_manual_trigger_params {
89 struct pipe_ctx *pipe_ctx;
92 struct send_dmcub_cmd_params {
93 struct dc_context *ctx;
98 struct setup_dpp_params {
99 struct pipe_ctx *pipe_ctx;
102 struct program_bias_and_scale_params {
103 struct pipe_ctx *pipe_ctx;
106 struct set_output_transfer_func_params {
107 struct dc *dc;
108 struct pipe_ctx *pipe_ctx;
109 const struct dc_stream_state *stream;
112 struct update_visual_confirm_params {
113 struct dc *dc;
114 struct pipe_ctx *pipe_ctx;
118 struct power_on_mpc_mem_pwr_params {
119 struct mpc *mpc;
124 struct set_output_csc_params {
125 struct mpc *mpc;
131 struct set_ocsc_default_params {
132 struct mpc *mpc;
138 struct subvp_save_surf_addr {
139 struct dc_dmub_srv *dc_dmub_srv;
140 const struct dc_plane_address *addr;
144 struct wait_for_dcc_meta_propagation_params {
145 const struct dc *dc;
146 const struct pipe_ctx *top_pipe_to_program;
149 struct fams2_global_control_lock_fast_params {
150 struct dc *dc;
156 struct update_plane_addr_params update_plane_addr_params;
157 struct subvp_pipe_control_lock_fast_params subvp_pipe_control_lock_fast_params;
158 struct pipe_control_lock_params pipe_control_lock_params;
159 struct set_flip_control_gsl_params set_flip_control_gsl_params;
160 struct program_triplebuffer_params program_triplebuffer_params;
161 struct set_input_transfer_func_params set_input_transfer_func_params;
162 struct program_gamut_remap_params program_gamut_remap_params;
163 struct program_manual_trigger_params program_manual_trigger_params;
164 struct send_dmcub_cmd_params send_dmcub_cmd_params;
165 struct setup_dpp_params setup_dpp_params;
166 struct program_bias_and_scale_params program_bias_and_scale_params;
167 struct set_output_transfer_func_params set_output_transfer_func_params;
168 struct update_visual_confirm_params update_visual_confirm_params;
169 struct power_on_mpc_mem_pwr_params power_on_mpc_mem_pwr_params;
170 struct set_output_csc_params set_output_csc_params;
171 struct set_ocsc_default_params set_ocsc_default_params;
172 struct subvp_save_surf_addr subvp_save_surf_addr;
173 struct wait_for_dcc_meta_propagation_params wait_for_dcc_meta_propagation_params;
174 struct fams2_global_control_lock_fast_params fams2_global_control_lock_fast_params;
200 struct block_sequence {
205 struct hw_sequencer_funcs {
206 void (*hardware_release)(struct dc *dc);
208 void (*edp_power_control)(struct dc_link *link, bool enable);
209 void (*edp_wait_for_hpd_ready)(struct dc_link *link, bool power_up);
210 void (*edp_wait_for_T12)(struct dc_link *link);
213 void (*init_hw)(struct dc *dc);
214 void (*power_down_on_boot)(struct dc *dc);
215 void (*enable_accelerated_mode)(struct dc *dc,
216 struct dc_state *context);
217 enum dc_status (*apply_ctx_to_hw)(struct dc *dc,
218 struct dc_state *context);
219 void (*disable_plane)(struct dc *dc, struct dc_state *state, struct pipe_ctx *pipe_ctx);
220 void (*disable_pixel_data)(struct dc *dc, struct pipe_ctx *pipe_ctx, bool blank);
221 void (*apply_ctx_for_surface)(struct dc *dc,
222 const struct dc_stream_state *stream,
223 int num_planes, struct dc_state *context);
224 void (*program_front_end_for_ctx)(struct dc *dc,
225 struct dc_state *context);
226 void (*wait_for_pending_cleared)(struct dc *dc,
227 struct dc_state *context);
228 void (*post_unlock_program_front_end)(struct dc *dc,
229 struct dc_state *context);
230 void (*update_plane_addr)(const struct dc *dc,
231 struct pipe_ctx *pipe_ctx);
232 void (*update_dchub)(struct dce_hwseq *hws,
233 struct dchub_init_data *dh_data);
234 void (*wait_for_mpcc_disconnect)(struct dc *dc,
235 struct resource_pool *res_pool,
236 struct pipe_ctx *pipe_ctx);
238 struct dc_link *link,
240 void (*program_triplebuffer)(const struct dc *dc,
241 struct pipe_ctx *pipe_ctx, bool enableTripleBuffer);
242 void (*update_pending_status)(struct pipe_ctx *pipe_ctx);
243 void (*update_dsc_pg)(struct dc *dc, struct dc_state *context, bool safe_to_disable);
246 void (*pipe_control_lock)(struct dc *dc,
247 struct pipe_ctx *pipe, bool lock);
248 void (*interdependent_update_lock)(struct dc *dc,
249 struct dc_state *context, bool lock);
250 void (*set_flip_control_gsl)(struct pipe_ctx *pipe_ctx,
252 void (*cursor_lock)(struct dc *dc, struct pipe_ctx *pipe, bool lock);
255 void (*get_position)(struct pipe_ctx **pipe_ctx, int num_pipes,
256 struct crtc_position *position);
257 int (*get_vupdate_offset_from_vsync)(struct pipe_ctx *pipe_ctx);
259 struct dc *dc,
260 struct pipe_ctx *pipe_ctx,
263 void (*enable_per_frame_crtc_position_reset)(struct dc *dc,
264 int group_size, struct pipe_ctx *grouped_pipes[]);
265 void (*enable_timing_synchronization)(struct dc *dc,
266 struct dc_state *state,
268 struct pipe_ctx *grouped_pipes[]);
269 void (*enable_vblanks_synchronization)(struct dc *dc,
271 struct pipe_ctx *grouped_pipes[]);
272 void (*setup_periodic_interrupt)(struct dc *dc,
273 struct pipe_ctx *pipe_ctx);
274 void (*set_drr)(struct pipe_ctx **pipe_ctx, int num_pipes,
275 struct dc_crtc_timing_adjust adjust);
276 void (*set_static_screen_control)(struct pipe_ctx **pipe_ctx,
278 const struct dc_static_screen_params *events);
281 void (*enable_stream)(struct pipe_ctx *pipe_ctx);
282 void (*disable_stream)(struct pipe_ctx *pipe_ctx);
283 void (*blank_stream)(struct pipe_ctx *pipe_ctx);
284 void (*unblank_stream)(struct pipe_ctx *pipe_ctx,
285 struct dc_link_settings *link_settings);
288 void (*prepare_bandwidth)(struct dc *dc, struct dc_state *context);
289 bool (*update_bandwidth)(struct dc *dc, struct dc_state *context);
290 void (*optimize_bandwidth)(struct dc *dc, struct dc_state *context);
293 void (*set_avmute)(struct pipe_ctx *pipe_ctx, bool enable);
295 struct pipe_ctx *pipe_ctx,
298 void (*update_info_frame)(struct pipe_ctx *pipe_ctx);
299 void (*set_dmdata_attributes)(struct pipe_ctx *pipe);
300 void (*program_dmdata_engine)(struct pipe_ctx *pipe_ctx);
301 bool (*dmdata_status_done)(struct pipe_ctx *pipe_ctx);
304 void (*set_cursor_position)(struct pipe_ctx *pipe);
305 void (*set_cursor_attribute)(struct pipe_ctx *pipe);
306 void (*set_cursor_sdr_white_level)(struct pipe_ctx *pipe);
309 void (*program_gamut_remap)(struct pipe_ctx *pipe_ctx);
310 void (*program_output_csc)(struct dc *dc, struct pipe_ctx *pipe_ctx,
313 void (*trigger_3dlut_dma_load)(struct dc *dc, struct pipe_ctx *pipe_ctx);
316 int (*init_sys_ctx)(struct dce_hwseq *hws,
317 struct dc *dc,
318 struct dc_phy_addr_space_config *pa_config);
319 void (*init_vm_ctx)(struct dce_hwseq *hws,
320 struct dc *dc,
321 struct dc_virtual_addr_space_config *va_config,
325 void (*update_writeback)(struct dc *dc,
326 struct dc_writeback_info *wb_info,
327 struct dc_state *context);
328 void (*enable_writeback)(struct dc *dc,
329 struct dc_writeback_info *wb_info,
330 struct dc_state *context);
331 void (*disable_writeback)(struct dc *dc,
334 bool (*mmhubbub_warmup)(struct dc *dc,
336 struct dc_writeback_info *wb_info);
339 enum dc_status (*set_clock)(struct dc *dc,
342 void (*get_clock)(struct dc *dc, enum dc_clock_type clock_type,
343 struct dc_clock_config *clock_cfg);
344 void (*optimize_pwr_state)(const struct dc *dc,
345 struct dc_state *context);
346 void (*exit_optimized_pwr_state)(const struct dc *dc,
347 struct dc_state *context);
348 void (*calculate_pix_rate_divider)(struct dc *dc,
349 struct dc_state *context,
350 const struct dc_stream_state *stream);
353 void (*enable_audio_stream)(struct pipe_ctx *pipe_ctx);
354 void (*disable_audio_stream)(struct pipe_ctx *pipe_ctx);
357 void (*setup_stereo)(struct pipe_ctx *pipe_ctx, struct dc *dc);
360 void (*log_hw_state)(struct dc *dc, struct dc_log_buffer_ctx *log_ctx);
361 void (*log_color_state)(struct dc *dc,
362 struct dc_log_buffer_ctx *log_ctx);
363 void (*get_hw_state)(struct dc *dc, char *pBuf,
365 void (*clear_status_bits)(struct dc *dc, unsigned int mask);
367 bool (*set_backlight_level)(struct pipe_ctx *pipe_ctx,
371 void (*set_abm_immediate_disable)(struct pipe_ctx *pipe_ctx);
373 void (*set_pipe)(struct pipe_ctx *pipe_ctx);
375 void (*enable_dp_link_output)(struct dc_link *link,
376 const struct link_resource *link_res,
379 const struct dc_link_settings *link_settings);
380 void (*enable_tmds_link_output)(struct dc_link *link,
381 const struct link_resource *link_res,
386 void (*enable_lvds_link_output)(struct dc_link *link,
387 const struct link_resource *link_res,
390 void (*disable_link_output)(struct dc_link *link,
391 const struct link_resource *link_res,
394 void (*get_dcc_en_bits)(struct dc *dc, int *dcc_en_bits);
397 bool (*apply_idle_power_optimizations)(struct dc *dc, bool enable);
399 bool (*does_plane_fit_in_mall)(struct dc *dc,
403 struct dc_cursor_attributes *cursor_attr);
404 void (*commit_subvp_config)(struct dc *dc, struct dc_state *context);
405 void (*enable_phantom_streams)(struct dc *dc, struct dc_state *context);
406 void (*disable_phantom_streams)(struct dc *dc, struct dc_state *context);
407 void (*subvp_pipe_control_lock)(struct dc *dc,
408 struct dc_state *context,
411 struct pipe_ctx *top_pipe_to_program,
415 void (*z10_restore)(const struct dc *dc);
416 void (*z10_save_init)(struct dc *dc);
417 bool (*is_abm_supported)(struct dc *dc,
418 struct dc_state *context, struct dc_stream_state *stream);
420 void (*set_disp_pattern_generator)(const struct dc *dc,
421 struct pipe_ctx *pipe_ctx,
425 const struct tg_color *solid_color,
427 void (*blank_phantom)(struct dc *dc,
428 struct timing_generator *tg,
431 void (*update_visual_confirm_color)(struct dc *dc,
432 struct pipe_ctx *pipe_ctx,
434 void (*update_phantom_vp_position)(struct dc *dc,
435 struct dc_state *context,
436 struct pipe_ctx *phantom_pipe);
437 void (*apply_update_flags_for_phantom)(struct pipe_ctx *phantom_pipe);
439 void (*calc_blocks_to_gate)(struct dc *dc, struct dc_state *context,
440 struct pg_block_update *update_state);
441 void (*calc_blocks_to_ungate)(struct dc *dc, struct dc_state *context,
442 struct pg_block_update *update_state);
443 void (*hw_block_power_up)(struct dc *dc,
444 struct pg_block_update *update_state);
445 void (*hw_block_power_down)(struct dc *dc,
446 struct pg_block_update *update_state);
447 void (*root_clock_control)(struct dc *dc,
448 struct pg_block_update *update_state, bool power_on);
449 bool (*is_pipe_topology_transition_seamless)(struct dc *dc,
450 const struct dc_state *cur_ctx,
451 const struct dc_state *new_ctx);
452 void (*wait_for_dcc_meta_propagation)(const struct dc *dc,
453 const struct pipe_ctx *top_pipe_to_program);
454 void (*fams2_global_control_lock)(struct dc *dc,
455 struct dc_state *context,
457 void (*fams2_update_config)(struct dc *dc,
458 struct dc_state *context,
461 …void (*set_long_vtotal)(struct pipe_ctx **pipe_ctx, int num_pipes, uint32_t v_total_min, uint32_t …
462 void (*program_outstanding_updates)(struct dc *dc,
463 struct dc_state *context);
464 void (*setup_hpo_hw_control)(const struct dce_hwseq *hws, bool enable);
468 const struct dc *dc,
470 struct tg_color *black_color);
473 struct timing_generator *tg);
480 struct pipe_ctx *pipe_ctx,
481 struct tg_color *color);
483 const struct pipe_ctx *pipe_ctx,
484 struct tg_color *color);
487 struct pipe_ctx *pipe_ctx,
488 struct tg_color *color);
490 struct pipe_ctx *pipe_ctx,
491 struct tg_color *color);
494 struct pipe_ctx *pipe_ctx,
495 struct tg_color *color);
498 struct dc *dc,
499 struct dc_state *context,
500 struct pipe_ctx *pipe_ctx,
501 struct tg_color *color);
504 struct pipe_ctx *pipe_ctx,
505 struct tg_color *color);
508 struct dc *dc,
509 struct dc_state *context,
510 struct pipe_ctx *pipe_ctx);
512 void hwss_execute_sequence(struct dc *dc,
513 struct block_sequence block_sequence[],
516 void hwss_build_fast_sequence(struct dc *dc,
517 struct dc_dmub_cmd *dc_dmub_cmd,
519 struct block_sequence block_sequence[],
521 struct pipe_ctx *pipe_ctx,
522 struct dc_stream_status *stream_status,
523 struct dc_state *context);
525 void hwss_wait_for_all_blank_complete(struct dc *dc,
526 struct dc_state *context);
528 void hwss_wait_for_odm_update_pending_complete(struct dc *dc,
529 struct dc_state *context);
531 void hwss_wait_for_no_pipes_pending(struct dc *dc,
532 struct dc_state *context);
534 void hwss_wait_for_outstanding_hw_updates(struct dc *dc,
535 struct dc_state *dc_context);
537 void hwss_process_outstanding_hw_updates(struct dc *dc,
538 struct dc_state *dc_context);