psr_config
struct psr_config psr_config = {0};
mod_power_calc_psr_configs(&psr_config, link, stream);
psr_config.allow_smu_optimizations =
psr_config.allow_multi_disp_optimizations =
if (!psr_su_set_dsc_slice_height(dc, link, stream, &psr_config))
ret = dc_link_setup_psr(link, stream, &psr_config, &psr_context);
const struct dc_stream_state *stream, struct psr_config *psr_config,
return link->dc->link_srv->edp_setup_psr(link, stream, psr_config, psr_context);
const struct dc_stream_state *stream, struct psr_config *psr_config,
struct psr_config *psr_config,
const struct dc_stream_state *stream, struct psr_config *psr_config,
psr_config->psr_frame_capture_indication_req;
psr_config->su_granularity_required;
psr_config->su_y_granularity;
psr_context->line_time_in_us = psr_config->line_time_in_us;
psr_context->rate_control_caps = psr_config->rate_control_caps;
psr_config->psr_exit_link_training_required;
psr_config->psr_sdp_transmit_line_num_deadline;
psr_config->psr_frame_capture_indication_req;
psr_context->allow_smu_optimizations = psr_config->allow_smu_optimizations;
psr_context->allow_multi_disp_optimizations = psr_config->allow_multi_disp_optimizations;
psr_context->dsc_slice_height = psr_config->dsc_slice_height;
psr_context->os_request_force_ffu = psr_config->os_request_force_ffu;
const struct dc_stream_state *stream, struct psr_config *psr_config,
void mod_power_calc_psr_configs(struct psr_config *psr_config,
psr_config->psr_rfb_setup_time =
if (psr_config->psr_rfb_setup_time > vblank_time_in_us) {
sdp_tx_deadline_in_us = vblank_time_in_us - psr_config->psr_rfb_setup_time;
psr_config->psr_sdp_transmit_line_num_deadline = link->psr_settings.psr_sdp_transmit_line_num_deadline;
psr_config->line_time_in_us = line_time_in_us;
psr_config->su_y_granularity = dpcd_caps->psr_info.psr2_su_y_granularity_cap;
psr_config->su_granularity_required = dpcd_caps->psr_info.psr_dpcd_caps.bits.SU_GRANULARITY_REQUIRED;
psr_config->psr_frame_capture_indication_req = link->psr_settings.psr_frame_capture_indication_req;
psr_config->psr_exit_link_training_required =
struct psr_config *config)
void mod_power_calc_psr_configs(struct psr_config *psr_config,
struct psr_config *config);