pll_settings
&pipes[i].pll_settings);
struct pll_settings *pll_settings,
pll_settings->adjusted_pix_clk,
pll_settings->adjusted_pix_clk)
pll_settings->adjusted_pix_clk
: pll_settings->adjusted_pix_clk -
pll_settings->reference_freq = calc_pll_cs->ref_freq_khz;
pll_settings->reference_divider = ref_divider;
pll_settings->feedback_divider = feedback_divider;
pll_settings->fract_feedback_divider = fract_feedback_divider;
pll_settings->pix_clk_post_divider = post_divider;
pll_settings->calculated_pix_clk =
pll_settings->vco_freq =
struct pll_settings *pll_settings,
tolerance = (pll_settings->adjusted_pix_clk * err_tolerance) /
pll_settings,
struct pll_settings *pll_settings)
if (pll_settings->adjusted_pix_clk == 0) {
if (pll_settings->pix_clk_post_divider) {
min_post_divider = pll_settings->pix_clk_post_divider;
max_post_divider = pll_settings->pix_clk_post_divider;
if (min_post_divider * pll_settings->adjusted_pix_clk <
pll_settings->adjusted_pix_clk;
pll_settings->adjusted_pix_clk) <
if (max_post_divider * pll_settings->adjusted_pix_clk
pll_settings->adjusted_pix_clk;
if (pll_settings->reference_divider) {
min_ref_divider = pll_settings->reference_divider;
max_ref_divider = pll_settings->reference_divider;
pll_settings,
struct pll_settings *pll_settings)
pll_settings->actual_pix_clk = actual_pix_clk_khz;
pll_settings->adjusted_pix_clk =
pll_settings->reference_divider =
pll_settings->pix_clk_post_divider =
struct pll_settings *pll_settings,
pll_settings->use_external_clk = (field > 1);
pll_settings->adjusted_pix_clk);
pll_settings->ss_percentage = ss_data->percentage;
if (!pll_adjust_pix_clk(clk_src, pix_clk_params, pll_settings)) {
pll_settings->actual_pix_clk =
pll_settings->adjusted_pix_clk =
pll_settings->adjusted_pix_clk = 100000;
pll_settings);
pll_settings);
struct pll_settings *pll_settings,
pll_settings->actual_pix_clk = actualPixelClockInKHz;
pll_settings->adjusted_pix_clk = actualPixelClockInKHz;
pll_settings->calculated_pix_clk = pix_clk_params->requested_pix_clk;
struct pll_settings *pll_settings)
if (pix_clk_params == NULL || pll_settings == NULL
memset(pll_settings, 0, sizeof(*pll_settings));
pll_settings->adjusted_pix_clk = clk_src->ext_clk_khz;
pll_settings->calculated_pix_clk = clk_src->ext_clk_khz;
pll_settings->actual_pix_clk =
pll_settings, pix_clk_params);
struct pll_settings *pll_settings)
if (pix_clk_params == NULL || pll_settings == NULL
memset(pll_settings, 0, sizeof(*pll_settings));
pll_settings->adjusted_pix_clk = clk_src->ext_clk_khz;
pll_settings->calculated_pix_clk = clk_src->ext_clk_khz;
pll_settings->actual_pix_clk =
pll_settings, pix_clk_params);
const struct pll_settings *pll_settings,
if (pll_settings == NULL)
pll_settings->fract_feedback_divider, 1000000);
fb_div = dc_fixpt_add_int(fb_div, pll_settings->feedback_divider);
pll_settings->reference_freq * 1000,
pll_settings->reference_divider * ss_data->modulation_freq_hz);
enum signal_type signal, struct pll_settings *pll_settings)
pll_settings->calculated_pix_clk);
if (ss_data != NULL && pll_settings->ss_percentage != 0) {
if (calculate_ss(pll_settings, ss_data, &d_s_data)) {
struct pll_settings *pll_settings)
bp_pc_params.target_pixel_clock = pll_settings->actual_pix_clk;
bp_pc_params.reference_divider = pll_settings->reference_divider;
bp_pc_params.feedback_divider = pll_settings->feedback_divider;
pll_settings->fract_feedback_divider;
pll_settings->pix_clk_post_divider;
pll_settings->use_external_clk;
pll_settings))
struct pll_settings *pll_settings)
unsigned clock_kHz = pll_settings->actual_pix_clk;
bp_pc_params.target_pixel_clock = pll_settings->actual_pix_clk;
pll_settings->use_external_clk;
!pll_settings->use_external_clk;
pipe_ctx->pll_settings.feedback_divider;
pipe_ctx->pll_settings.ss_percentage;
&pipe_ctx->pll_settings)) {
&pipe_ctx->pll_settings);
&pipe_ctx->pll_settings)) {
&pipe_ctx->pll_settings);
struct pixel_clk_params *, struct pll_settings *);
struct pll_settings *);
struct pll_settings pll_settings;