| H A D | dc.c | 29 #include "dc.h" 95 dc->ctx 98 dc->ctx->logger 112 * struct dc - The central struct. One per driver. Created on driver load, 116 * Used as a backpointer by most other structs in dc. 129 * Main dc state structs: 132 * these structs in dc->current_state representing the currently programmed state. 165 static void destroy_links(struct dc *dc) in destroy_links() argument 169 for (i = 0; i < dc in destroy_links() 202 create_links(struct dc * dc,uint32_t num_virtual_links) create_links() argument 341 create_link_encoders(struct dc * dc) create_link_encoders() argument 382 destroy_link_encoders(struct dc * dc) destroy_link_encoders() argument 423 set_long_vtotal(struct dc * dc,struct dc_stream_state * stream,struct dc_crtc_timing_adjust * adjust) set_long_vtotal() argument 460 dc_stream_get_last_used_drr_vtotal(struct dc * dc,struct dc_stream_state * stream,uint32_t * refresh_rate) dc_stream_get_last_used_drr_vtotal() argument 534 struct dc *dc = stream->ctx->dc; dc_stream_forward_crc_window() local 600 struct dc *dc = stream->ctx->dc; dc_stream_forward_multiple_crc_window() local 644 dc_stream_configure_crc(struct dc * dc,struct dc_stream_state * stream,struct crc_params * crc_window,bool enable,bool continuous,uint8_t idx,bool reset,enum crc_poly_mode crc_poly_mode) dc_stream_configure_crc() argument 718 dc_stream_get_crc(struct dc * dc,struct dc_stream_state * stream,uint8_t idx,uint32_t * r_cr,uint32_t * g_y,uint32_t * b_cb) dc_stream_get_crc() argument 744 dc_stream_set_dyn_expansion(struct dc * dc,struct dc_stream_state * stream,enum dc_dynamic_expansion option) dc_stream_set_dyn_expansion() argument 823 dc_stream_set_gamut_remap(struct dc * dc,const struct dc_stream_state * stream) dc_stream_set_gamut_remap() argument 850 dc_stream_program_csc_matrix(struct dc * dc,struct dc_stream_state * stream) dc_stream_program_csc_matrix() argument 875 dc_stream_set_static_screen_params(struct dc * dc,struct dc_stream_state ** streams,int num_streams,const struct dc_static_screen_params * params) dc_stream_set_static_screen_params() argument 901 dc_destruct_update_scratch_pool(struct dc * dc) dc_destruct_update_scratch_pool() argument 912 dc_construct_update_scratch_pool(struct dc * dc) dc_construct_update_scratch_pool() argument 926 dc_destruct(struct dc * dc) dc_destruct() argument 986 dc_construct_ctx(struct dc * dc,const struct dc_init_data * init_params) dc_construct_ctx() argument 1037 dc_construct(struct dc * dc,const struct dc_init_data * init_params) dc_construct() argument 1190 disable_all_writeback_pipes_for_stream(const struct dc * dc,struct dc_stream_state * stream,struct dc_state * context) disable_all_writeback_pipes_for_stream() argument 1202 apply_ctx_interdependent_lock(struct dc * dc,struct dc_state * context,struct dc_stream_state * stream,bool lock) apply_ctx_interdependent_lock() argument 1229 dc_update_visual_confirm_color(struct dc * dc,struct dc_state * context,struct pipe_ctx * pipe_ctx) dc_update_visual_confirm_color() argument 1273 dc_get_visual_confirm_for_stream(struct dc * dc,struct dc_stream_state * stream_state,struct tg_color * color) dc_get_visual_confirm_for_stream() argument 1331 dc_stream_adjust_vmin_vmax(struct dc * dc,struct dc_stream_state * stream,struct dc_crtc_timing_adjust * adjust) dc_stream_adjust_vmin_vmax() argument 1394 disable_dangling_plane(struct dc * dc,struct dc_state * context) disable_dangling_plane() argument 1503 disable_vbios_mode_if_required(struct dc * dc,struct dc_state * context) disable_vbios_mode_if_required() argument 1567 struct dc *dc = kvzalloc_obj(*dc); dc_create() local 1619 detect_edp_presence(struct dc * dc) detect_edp_presence() argument 1641 dc_hardware_init(struct dc * dc) dc_hardware_init() argument 1650 dc_init_callbacks(struct dc * dc,const struct dc_callback_init * init_params) dc_init_callbacks() argument 1656 dc_deinit_callbacks(struct dc * dc) dc_deinit_callbacks() argument 1661 dc_destroy(struct dc ** dc) dc_destroy() argument 1669 enable_timing_multisync(struct dc * dc,struct dc_state * ctx) enable_timing_multisync() argument 1693 program_timing_sync(struct dc * dc,struct dc_state * ctx) program_timing_sync() argument 1830 streams_changed(struct dc * dc,struct dc_stream_state * streams[],uint8_t stream_count) streams_changed() argument 1849 dc_validate_boot_timing(const struct dc * dc,const struct dc_sink * sink,struct dc_crtc_timing * crtc_timing) dc_validate_boot_timing() argument 2159 dc_enable_stereo(struct dc * dc,struct dc_state * context,struct dc_stream_state * streams[],uint8_t stream_count) dc_enable_stereo() argument 2185 dc_trigger_sync(struct dc * dc,struct dc_state * context) dc_trigger_sync() argument 2195 get_stream_mask(struct dc * dc,struct dc_state * context) get_stream_mask() argument 2208 dc_z10_restore(const struct dc * dc) dc_z10_restore() argument 2214 dc_z10_save_init(struct dc * dc) dc_z10_save_init() argument 2228 determine_pipe_unlock_order(struct dc * dc,struct dc_state * context) determine_pipe_unlock_order() argument 2266 dc_commit_state_no_check(struct dc * dc,struct dc_state * context) dc_commit_state_no_check() argument 2509 dc_commit_streams(struct dc * dc,struct dc_commit_streams_params * params) dc_commit_streams() argument 2637 dc_acquire_release_mpc_3dlut(struct dc * dc,bool acquire,struct dc_stream_state * stream,struct dc_3dlut ** lut,struct dc_transfer_func ** shaper) dc_acquire_release_mpc_3dlut() argument 2672 is_flip_pending_in_pipes(struct dc * dc,struct dc_state * context) is_flip_pending_in_pipes() argument 2700 process_deferred_updates(struct dc * dc) process_deferred_updates() argument 2712 dc_post_update_surfaces_to_stream(struct dc * dc) dc_post_update_surfaces_to_stream() argument 2753 dc_get_default_tiling_info(const struct dc * dc,struct dc_tiling_info * tiling_info) dc_get_default_tiling_info() argument 3099 force_immediate_gsl_plane_flip(struct dc * dc,struct dc_surface_update * updates,int surface_count) force_immediate_gsl_plane_flip() argument 3467 copy_stream_update_to_stream(struct dc * dc,struct dc_state * context,struct dc_stream_state * stream,struct dc_stream_update * update) copy_stream_update_to_stream() argument 3665 update_seamless_boot_flags(struct dc * dc,struct dc_state * context,int surface_count,struct dc_stream_state * stream) update_seamless_boot_flags() argument 3693 backup_and_set_minimal_pipe_split_policy(struct dc * dc,struct dc_state * context,struct pipe_split_policy_backup * policy) backup_and_set_minimal_pipe_split_policy() argument 3714 restore_minimal_pipe_split_policy(struct dc * dc,struct dc_state * context,struct pipe_split_policy_backup * policy) restore_minimal_pipe_split_policy() argument 3752 update_planes_and_stream_state(struct dc * dc,struct dc_surface_update * srf_updates,int surface_count,struct dc_stream_state * stream,struct dc_stream_update * stream_update,enum dc_update_type * new_update_type,struct dc_state ** new_context) update_planes_and_stream_state() argument 3923 program_cursor_attributes_sequence(struct dc * dc,struct dc_stream_state * stream,struct dc_state * context,struct block_sequence_state * seq_state) program_cursor_attributes_sequence() argument 3971 program_cursor_position_sequence(struct dc * dc,struct dc_stream_state * stream,struct dc_state * context,struct block_sequence_state * seq_state) program_cursor_position_sequence() argument 4066 struct dc *dc = stream->ctx->dc; add_link_update_dsc_config_sequence() local 4168 commit_planes_do_stream_update_sequence(struct dc * dc,struct dc_stream_state * stream,struct dc_stream_update * stream_update,enum dc_update_type update_type,struct dc_state * context,struct block_sequence block_sequence[MAX_HWSS_BLOCK_SEQUENCE_SIZE],unsigned int * num_steps) commit_planes_do_stream_update_sequence() argument 4339 commit_planes_do_stream_update(struct dc * dc,struct dc_stream_state * stream,struct dc_stream_update * stream_update,enum dc_update_type update_type,struct dc_state * context) commit_planes_do_stream_update() argument 4512 dc_dmub_should_send_dirty_rect_cmd(struct dc * dc,struct dc_stream_state * stream) dc_dmub_should_send_dirty_rect_cmd() argument 4529 dc_dmub_update_dirty_rect(struct dc * dc,int surface_count,struct dc_stream_state * stream,const struct dc_surface_update * srf_updates,struct dc_state * context) dc_dmub_update_dirty_rect() argument 4589 build_dmub_update_dirty_rect(struct dc * dc,int surface_count,struct dc_stream_state * stream,struct dc_surface_update * srf_updates,struct dc_state * context,struct dc_dmub_cmd dc_dmub_cmd[],unsigned int * dmub_cmd_count) build_dmub_update_dirty_rect() argument 4687 build_dmub_cmd_list(struct dc * dc,struct dc_surface_update * srf_updates,int surface_count,struct dc_stream_state * stream,struct dc_state * context,struct dc_dmub_cmd dc_dmub_cmd[],unsigned int * dmub_cmd_count) build_dmub_cmd_list() argument 4700 commit_plane_for_stream_offload_fams2_flip(struct dc * dc,struct dc_surface_update * srf_updates,int surface_count,struct dc_stream_state * stream,struct dc_state * context) commit_plane_for_stream_offload_fams2_flip() argument 4740 commit_planes_for_stream_fast(struct dc * dc,struct dc_surface_update * srf_updates,int surface_count,struct dc_stream_state * stream,struct dc_stream_update * stream_update,enum dc_update_type update_type,struct dc_state * context) commit_planes_for_stream_fast() argument 4860 commit_planes_for_stream(struct dc * dc,const struct dc_surface_update * srf_updates,int surface_count,struct dc_stream_state * stream,struct dc_stream_update * stream_update,enum dc_update_type update_type,struct dc_state * context) commit_planes_for_stream() argument 5323 could_mpcc_tree_change_for_active_pipes(struct dc * dc,struct dc_stream_state * stream,struct dc_surface_update * srf_updates,int surface_count,bool * is_plane_addition) could_mpcc_tree_change_for_active_pipes() argument 5398 release_minimal_transition_state(struct dc * dc,struct dc_state * minimal_transition_context,struct dc_state * base_context,struct pipe_split_policy_backup * policy) release_minimal_transition_state() argument 5421 create_minimal_transition_state(struct dc * dc,struct dc_state * base_context,struct pipe_split_policy_backup * policy) create_minimal_transition_state() argument 5449 is_pipe_topology_transition_seamless_with_intermediate_step(struct dc * dc,struct dc_state * initial_state,struct dc_state * intermediate_state,struct dc_state * final_state) is_pipe_topology_transition_seamless_with_intermediate_step() argument 5460 swap_and_release_current_context(struct dc * dc,struct dc_state * new_context,struct dc_stream_state * stream) swap_and_release_current_context() argument 5503 commit_minimal_transition_based_on_new_context(struct dc * dc,struct dc_state * new_context,struct dc_stream_state * stream,struct dc_stream_update * stream_update,struct dc_surface_update * srf_updates,int surface_count) commit_minimal_transition_based_on_new_context() argument 5537 commit_minimal_transition_based_on_current_context(struct dc * dc,struct dc_state * new_context,struct dc_stream_state * stream) commit_minimal_transition_based_on_current_context() argument 5611 commit_minimal_transition_state_in_dc_update(struct dc * dc,struct dc_state * new_context,struct dc_stream_state * stream,struct dc_surface_update * srf_updates,int surface_count) commit_minimal_transition_state_in_dc_update() argument 5646 commit_minimal_transition_state(struct dc * dc,struct dc_state * transition_base_context) commit_minimal_transition_state() argument 5854 full_update_required_weak(const struct dc * dc,const struct dc_surface_update * srf_updates,int surface_count,const struct dc_stream_update * stream_update,const struct dc_stream_state * stream) full_update_required_weak() argument 5882 full_update_required(const struct dc * dc,const struct dc_surface_update * srf_updates,int surface_count,const struct dc_stream_update * stream_update,const struct dc_stream_state * stream) full_update_required() argument 5931 fast_update_only(const struct dc * dc,const struct dc_fast_update * fast_update,const struct dc_surface_update * srf_updates,int surface_count,const struct dc_stream_update * stream_update,const struct dc_stream_state * stream) fast_update_only() argument 5942 update_planes_and_stream_v2(struct dc * dc,struct dc_surface_update * srf_updates,int surface_count,struct dc_stream_state * stream,struct dc_stream_update * stream_update) update_planes_and_stream_v2() argument 6029 commit_planes_and_stream_update_on_current_context(struct dc * dc,struct dc_surface_update * srf_updates,int surface_count,struct dc_stream_state * stream,struct dc_stream_update * stream_update,enum dc_update_type update_type) commit_planes_and_stream_update_on_current_context() argument 6061 commit_planes_and_stream_update_with_new_context(struct dc * dc,struct dc_surface_update * srf_updates,int surface_count,struct dc_stream_state * stream,struct dc_stream_update * stream_update,enum dc_update_type update_type,struct dc_state * new_context) commit_planes_and_stream_update_with_new_context() argument 6127 update_planes_and_stream_v3(struct dc * dc,struct dc_surface_update * srf_updates,int surface_count,struct dc_stream_state * stream,struct dc_stream_update * stream_update) update_planes_and_stream_v3() argument 6179 dc_update_scratch_acquire(struct dc * dc) dc_update_scratch_acquire() argument 6196 dc_update_scratch_release(struct dc * dc,struct dc_update_scratch_space * scratch) dc_update_scratch_release() argument 6215 dc_update_state(struct dc * dc,const struct dc_state_update * updates) dc_update_state() argument 6251 dc_update_planes_and_stream(struct dc * dc,struct dc_surface_update * srf_updates,int surface_count,struct dc_stream_state * stream,struct dc_stream_update * stream_update) dc_update_planes_and_stream() argument 6266 dc_commit_updates_for_stream(struct dc * dc,struct dc_surface_update * srf_updates,int surface_count,struct dc_stream_state * stream,struct dc_stream_update * stream_update,struct dc_state * state) dc_commit_updates_for_stream() argument 6294 dc_get_current_stream_count(struct dc * dc) dc_get_current_stream_count() argument 6299 dc_get_stream_at_index(struct dc * dc,uint8_t i) dc_get_stream_at_index() argument 6307 dc_interrupt_to_irq_source(struct dc * dc,uint32_t src_id,uint32_t ext_id) dc_interrupt_to_irq_source() argument 6317 dc_interrupt_set(struct dc * dc,enum dc_irq_source src,bool enable) dc_interrupt_set() argument 6326 dc_interrupt_ack(struct dc * dc,enum dc_irq_source src) dc_interrupt_ack() argument 6332 should_preserve_tg(struct dc * dc,struct timing_generator * tg) should_preserve_tg() argument 6383 dc_disable_dangling_timing_generators(struct dc * dc) dc_disable_dangling_timing_generators() argument 6455 dc_get_flip_pending_on_otg(struct dc * dc,int otg_inst) dc_get_flip_pending_on_otg() argument 6485 dc_power_down_on_boot(struct dc * dc) dc_power_down_on_boot() argument 6501 dc_set_power_state(struct dc * dc,enum dc_acpi_cm_power_state power_state) dc_set_power_state() argument 6542 dc_resume(struct dc * dc) dc_resume() argument 6550 dc_is_dmcu_initialized(struct dc * dc) dc_is_dmcu_initialized() argument 6559 dc_set_clock(struct dc * dc,enum dc_clock_type clock_type,uint32_t clk_khz,uint32_t stepping) dc_set_clock() argument 6565 dc_get_clock(struct dc * dc,enum dc_clock_type clock_type,struct dc_clock_config * clock_cfg) dc_get_clock() argument 6572 dc_set_psr_allow_active(struct dc * dc,bool enable) dc_set_psr_allow_active() argument 6602 dc_set_replay_allow_active(struct dc * dc,bool active) dc_set_replay_allow_active() argument 6634 dc_set_ips_disable(struct dc * dc,unsigned int disable_ips) dc_set_ips_disable() argument 6643 dc_allow_idle_optimizations_internal(struct dc * dc,bool allow,char const * caller_name) dc_allow_idle_optimizations_internal() argument 6696 dc_exit_ips_for_hw_access_internal(struct dc * dc,const char * caller_name) dc_exit_ips_for_hw_access_internal() argument 6702 dc_dmub_is_ips_idle_state(struct dc * dc) dc_dmub_is_ips_idle_state() argument 6717 dc_unlock_memory_clock_frequency(struct dc * dc) dc_unlock_memory_clock_frequency() argument 6727 dc_lock_memory_clock_frequency(struct dc * dc) dc_lock_memory_clock_frequency() argument 6739 blank_and_force_memclk(struct dc * dc,bool apply,unsigned int memclk_mhz) blank_and_force_memclk() argument 6796 dc_enable_dcmode_clk_limit(struct dc * dc,bool enable) dc_enable_dcmode_clk_limit() argument 6835 dc_is_plane_eligible_for_idle_optimizations(struct dc * dc,unsigned int pitch,unsigned int height,enum surface_pixel_format format,struct dc_cursor_attributes * cursor_attr) dc_is_plane_eligible_for_idle_optimizations() argument 6847 dc_hardware_release(struct dc * dc) dc_hardware_release() argument 6855 dc_mclk_switch_using_fw_based_vblank_stretch_shut_down(struct dc * dc) dc_mclk_switch_using_fw_based_vblank_stretch_shut_down() argument 6873 dc_is_dmub_outbox_supported(struct dc * dc) dc_is_dmub_outbox_supported() argument 6915 dc_enable_dmub_notifications(struct dc * dc) dc_enable_dmub_notifications() argument 6927 dc_enable_dmub_outbox(struct dc * dc) dc_enable_dmub_outbox() argument 6944 dc_process_dmub_aux_transfer_async(struct dc * dc,uint32_t link_index,struct aux_payload * payload) dc_process_dmub_aux_transfer_async() argument 7010 struct dc *dc = link->ctx->dc; dc_smart_power_oled_enable() local 7075 struct dc *dc = link->ctx->dc; dc_smart_power_oled_get_max_cll() local 7105 get_link_index_from_dpia_port_index(const struct dc * dc,uint8_t dpia_port_index) get_link_index_from_dpia_port_index() argument 7138 dc_process_dmub_set_config_async(struct dc * dc,uint32_t link_index,struct set_config_cmd_payload * payload,struct dmub_notification * notify) dc_process_dmub_set_config_async() argument 7183 dc_process_dmub_set_mst_slots(const struct dc * dc,uint32_t link_index,uint8_t mst_alloc_slots,uint8_t * mst_slots_in_use) dc_process_dmub_set_mst_slots() argument 7228 dc_process_dmub_dpia_set_tps_notification(const struct dc * dc,uint32_t link_index,uint8_t tps) dc_process_dmub_dpia_set_tps_notification() argument 7248 dc_process_dmub_dpia_hpd_int_enable(const struct dc * dc,uint32_t hpd_int_enable) dc_process_dmub_dpia_hpd_int_enable() argument 7268 dc_print_dmub_diagnostic_data(const struct dc * dc) dc_print_dmub_diagnostic_data() argument 7277 dc_disable_accelerated_mode(struct dc * dc) dc_disable_accelerated_mode() argument 7292 dc_notify_vsync_int_state(struct dc * dc,struct dc_stream_state * stream,bool enable) dc_notify_vsync_int_state() argument 7344 dc_abm_save_restore(struct dc * dc,struct dc_stream_state * stream,struct abm_save_restore * pData) dc_abm_save_restore() argument 7388 dc_query_current_properties(struct dc * dc,struct dc_current_properties * properties) dc_query_current_properties() argument 7421 dc_set_edp_power(const struct dc * dc,struct dc_link * edp_link,bool powerOn) dc_set_edp_power() argument 7450 struct dc *dc = context->clk_mgr->ctx->dc; dc_get_power_profile_for_dc_state() local 7468 struct dc *dc = context->clk_mgr->ctx->dc; dc_get_det_buffer_size_from_state() local 7489 struct dc *dc; dc_get_host_router_index() local 7506 dc_is_cursor_limit_pending(struct dc * dc) dc_is_cursor_limit_pending() argument 7518 dc_can_clear_cursor_limit(const struct dc * dc) dc_can_clear_cursor_limit() argument 7530 dc_get_underflow_debug_data_for_otg(struct dc * dc,unsigned int primary_otg_inst,struct dc_underflow_debug_data * out_data) dc_get_underflow_debug_data_for_otg() argument 7548 dc_get_power_feature_status(struct dc * dc,unsigned int primary_otg_inst,struct power_features * out_data) dc_get_power_feature_status() argument 7556 dc_capture_register_software_state(struct dc * dc,struct dc_register_software_state * state) dc_capture_register_software_state() argument 8132 dc_log_preos_dmcub_info(const struct dc * dc) dc_log_preos_dmcub_info() argument 8137 dc_get_qos_info(struct dc * dc,struct dc_qos_info * info) dc_get_qos_info() argument 8159 dc_override_memory_bandwidth_request(struct dc * dc,unsigned int bw_mbps) dc_override_memory_bandwidth_request() argument 8219 transition_countdown_init(struct dc * dc) transition_countdown_init() argument 8473 dc_update_state_init(struct dc * dc,const struct dc_state_update * updates) dc_update_state_init() argument 8525 struct dc *dc = scratch->dc; dc_update_probes_prepare() local 8553 struct dc *dc = scratch->dc; dc_update_probes_execute() local [all...] |