Lines Matching refs:cdclk_state
2103 static int intel_compute_min_cdclk(struct intel_cdclk_state *cdclk_state) in intel_compute_min_cdclk() argument
2105 struct intel_atomic_state *state = cdclk_state->base.state; in intel_compute_min_cdclk()
2124 if (cdclk_state->min_cdclk[i] == min_cdclk) in intel_compute_min_cdclk()
2127 cdclk_state->min_cdclk[i] = min_cdclk; in intel_compute_min_cdclk()
2129 ret = intel_atomic_lock_global_state(&cdclk_state->base); in intel_compute_min_cdclk()
2134 min_cdclk = cdclk_state->force_min_cdclk; in intel_compute_min_cdclk()
2136 min_cdclk = max(cdclk_state->min_cdclk[pipe], min_cdclk); in intel_compute_min_cdclk()
2160 static int bxt_compute_min_voltage_level(struct intel_cdclk_state *cdclk_state) in bxt_compute_min_voltage_level() argument
2162 struct intel_atomic_state *state = cdclk_state->base.state; in bxt_compute_min_voltage_level()
2178 if (cdclk_state->min_voltage_level[i] == min_voltage_level) in bxt_compute_min_voltage_level()
2181 cdclk_state->min_voltage_level[i] = min_voltage_level; in bxt_compute_min_voltage_level()
2183 ret = intel_atomic_lock_global_state(&cdclk_state->base); in bxt_compute_min_voltage_level()
2190 min_voltage_level = max(cdclk_state->min_voltage_level[pipe], in bxt_compute_min_voltage_level()
2196 static int vlv_modeset_calc_cdclk(struct intel_cdclk_state *cdclk_state) in vlv_modeset_calc_cdclk() argument
2198 struct intel_atomic_state *state = cdclk_state->base.state; in vlv_modeset_calc_cdclk()
2202 min_cdclk = intel_compute_min_cdclk(cdclk_state); in vlv_modeset_calc_cdclk()
2208 cdclk_state->logical.cdclk = cdclk; in vlv_modeset_calc_cdclk()
2209 cdclk_state->logical.voltage_level = in vlv_modeset_calc_cdclk()
2212 if (!cdclk_state->active_pipes) { in vlv_modeset_calc_cdclk()
2213 cdclk = vlv_calc_cdclk(dev_priv, cdclk_state->force_min_cdclk); in vlv_modeset_calc_cdclk()
2215 cdclk_state->actual.cdclk = cdclk; in vlv_modeset_calc_cdclk()
2216 cdclk_state->actual.voltage_level = in vlv_modeset_calc_cdclk()
2219 cdclk_state->actual = cdclk_state->logical; in vlv_modeset_calc_cdclk()
2225 static int bdw_modeset_calc_cdclk(struct intel_cdclk_state *cdclk_state) in bdw_modeset_calc_cdclk() argument
2229 min_cdclk = intel_compute_min_cdclk(cdclk_state); in bdw_modeset_calc_cdclk()
2239 cdclk_state->logical.cdclk = cdclk; in bdw_modeset_calc_cdclk()
2240 cdclk_state->logical.voltage_level = in bdw_modeset_calc_cdclk()
2243 if (!cdclk_state->active_pipes) { in bdw_modeset_calc_cdclk()
2244 cdclk = bdw_calc_cdclk(cdclk_state->force_min_cdclk); in bdw_modeset_calc_cdclk()
2246 cdclk_state->actual.cdclk = cdclk; in bdw_modeset_calc_cdclk()
2247 cdclk_state->actual.voltage_level = in bdw_modeset_calc_cdclk()
2250 cdclk_state->actual = cdclk_state->logical; in bdw_modeset_calc_cdclk()
2256 static int skl_dpll0_vco(struct intel_cdclk_state *cdclk_state) in skl_dpll0_vco() argument
2258 struct intel_atomic_state *state = cdclk_state->base.state; in skl_dpll0_vco()
2264 vco = cdclk_state->logical.vco; in skl_dpll0_vco()
2293 static int skl_modeset_calc_cdclk(struct intel_cdclk_state *cdclk_state) in skl_modeset_calc_cdclk() argument
2297 min_cdclk = intel_compute_min_cdclk(cdclk_state); in skl_modeset_calc_cdclk()
2301 vco = skl_dpll0_vco(cdclk_state); in skl_modeset_calc_cdclk()
2309 cdclk_state->logical.vco = vco; in skl_modeset_calc_cdclk()
2310 cdclk_state->logical.cdclk = cdclk; in skl_modeset_calc_cdclk()
2311 cdclk_state->logical.voltage_level = in skl_modeset_calc_cdclk()
2314 if (!cdclk_state->active_pipes) { in skl_modeset_calc_cdclk()
2315 cdclk = skl_calc_cdclk(cdclk_state->force_min_cdclk, vco); in skl_modeset_calc_cdclk()
2317 cdclk_state->actual.vco = vco; in skl_modeset_calc_cdclk()
2318 cdclk_state->actual.cdclk = cdclk; in skl_modeset_calc_cdclk()
2319 cdclk_state->actual.voltage_level = in skl_modeset_calc_cdclk()
2322 cdclk_state->actual = cdclk_state->logical; in skl_modeset_calc_cdclk()
2328 static int bxt_modeset_calc_cdclk(struct intel_cdclk_state *cdclk_state) in bxt_modeset_calc_cdclk() argument
2330 struct intel_atomic_state *state = cdclk_state->base.state; in bxt_modeset_calc_cdclk()
2334 min_cdclk = intel_compute_min_cdclk(cdclk_state); in bxt_modeset_calc_cdclk()
2338 min_voltage_level = bxt_compute_min_voltage_level(cdclk_state); in bxt_modeset_calc_cdclk()
2345 cdclk_state->logical.vco = vco; in bxt_modeset_calc_cdclk()
2346 cdclk_state->logical.cdclk = cdclk; in bxt_modeset_calc_cdclk()
2347 cdclk_state->logical.voltage_level = in bxt_modeset_calc_cdclk()
2351 if (!cdclk_state->active_pipes) { in bxt_modeset_calc_cdclk()
2352 cdclk = bxt_calc_cdclk(dev_priv, cdclk_state->force_min_cdclk); in bxt_modeset_calc_cdclk()
2355 cdclk_state->actual.vco = vco; in bxt_modeset_calc_cdclk()
2356 cdclk_state->actual.cdclk = cdclk; in bxt_modeset_calc_cdclk()
2357 cdclk_state->actual.voltage_level = in bxt_modeset_calc_cdclk()
2360 cdclk_state->actual = cdclk_state->logical; in bxt_modeset_calc_cdclk()
2405 static int fixed_modeset_calc_cdclk(struct intel_cdclk_state *cdclk_state) in fixed_modeset_calc_cdclk() argument
2414 min_cdclk = intel_compute_min_cdclk(cdclk_state); in fixed_modeset_calc_cdclk()
2423 struct intel_cdclk_state *cdclk_state; in intel_cdclk_duplicate_state() local
2425 cdclk_state = kmemdup(obj->state, sizeof(*cdclk_state), GFP_KERNEL); in intel_cdclk_duplicate_state()
2426 if (!cdclk_state) in intel_cdclk_duplicate_state()
2429 cdclk_state->pipe = INVALID_PIPE; in intel_cdclk_duplicate_state()
2431 return &cdclk_state->base; in intel_cdclk_duplicate_state()
2449 struct intel_global_state *cdclk_state; in intel_atomic_get_cdclk_state() local
2451 cdclk_state = intel_atomic_get_global_obj_state(state, &dev_priv->cdclk.obj); in intel_atomic_get_cdclk_state()
2452 if (IS_ERR(cdclk_state)) in intel_atomic_get_cdclk_state()
2453 return ERR_CAST(cdclk_state); in intel_atomic_get_cdclk_state()
2455 return to_intel_cdclk_state(cdclk_state); in intel_atomic_get_cdclk_state()
2460 struct intel_cdclk_state *cdclk_state; in intel_cdclk_init() local
2462 cdclk_state = kzalloc(sizeof(*cdclk_state), GFP_KERNEL); in intel_cdclk_init()
2463 if (!cdclk_state) in intel_cdclk_init()
2467 &cdclk_state->base, &intel_cdclk_funcs); in intel_cdclk_init()