0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026 #ifndef __DC_HWSS_DCN32_H__
0027 #define __DC_HWSS_DCN32_H__
0028
0029 #include "hw_sequencer_private.h"
0030
0031 struct dc;
0032
0033 void dcn32_dsc_pg_control(
0034 struct dce_hwseq *hws,
0035 unsigned int dsc_inst,
0036 bool power_on);
0037
0038 void dcn32_enable_power_gating_plane(
0039 struct dce_hwseq *hws,
0040 bool enable);
0041
0042 void dcn32_hubp_pg_control(struct dce_hwseq *hws, unsigned int hubp_inst, bool power_on);
0043
0044 bool dcn32_apply_idle_power_optimizations(struct dc *dc, bool enable);
0045
0046 void dcn32_cab_for_ss_control(struct dc *dc, bool enable);
0047
0048 void dcn32_commit_subvp_config(struct dc *dc, struct dc_state *context);
0049
0050 bool dcn32_set_mcm_luts(struct pipe_ctx *pipe_ctx,
0051 const struct dc_plane_state *plane_state);
0052
0053 bool dcn32_set_input_transfer_func(struct dc *dc,
0054 struct pipe_ctx *pipe_ctx,
0055 const struct dc_plane_state *plane_state);
0056
0057 bool dcn32_set_output_transfer_func(struct dc *dc,
0058 struct pipe_ctx *pipe_ctx,
0059 const struct dc_stream_state *stream);
0060
0061 void dcn32_init_hw(struct dc *dc);
0062
0063 void dcn32_program_mall_pipe_config(struct dc *dc, struct dc_state *context);
0064
0065 void dcn32_update_mall_sel(struct dc *dc, struct dc_state *context);
0066
0067 void dcn32_subvp_update_force_pstate(struct dc *dc, struct dc_state *context);
0068
0069 void dcn32_update_odm(struct dc *dc, struct dc_state *context, struct pipe_ctx *pipe_ctx);
0070
0071 unsigned int dcn32_calculate_dccg_k1_k2_values(struct pipe_ctx *pipe_ctx, unsigned int *k1_div, unsigned int *k2_div);
0072
0073 void dcn32_set_pixels_per_cycle(struct pipe_ctx *pipe_ctx);
0074
0075 void dcn32_subvp_pipe_control_lock(struct dc *dc,
0076 struct dc_state *context,
0077 bool lock,
0078 bool should_lock_all_pipes,
0079 struct pipe_ctx *top_pipe_to_program,
0080 bool subvp_prev_use);
0081
0082 void dcn32_unblank_stream(struct pipe_ctx *pipe_ctx,
0083 struct dc_link_settings *link_settings);
0084
0085 bool dcn32_is_dp_dig_pixel_rate_div_policy(struct pipe_ctx *pipe_ctx);
0086
0087 #endif