/Linux-v4.19/drivers/gpu/drm/radeon/ |
D | rv740_dpm.c | 125 struct atom_clock_dividers dividers; in rv740_populate_sclk_value() local 138 engine_clock, false, ÷rs); in rv740_populate_sclk_value() 142 reference_divider = 1 + dividers.ref_div; in rv740_populate_sclk_value() 144 tmp = (u64) engine_clock * reference_divider * dividers.post_div * 16384; in rv740_populate_sclk_value() 149 spll_func_cntl |= SPLL_REF_DIV(dividers.ref_div); in rv740_populate_sclk_value() 150 spll_func_cntl |= SPLL_PDIV_A(dividers.post_div); in rv740_populate_sclk_value() 161 u32 vco_freq = engine_clock * dividers.post_div; in rv740_populate_sclk_value() 200 struct atom_clock_dividers dividers; in rv740_populate_mclk_value() local 206 memory_clock, false, ÷rs); in rv740_populate_mclk_value() 210 ibias = rv770_map_clkf_to_ibias(rdev, dividers.whole_fb_div); in rv740_populate_mclk_value() [all …]
|
D | rv730_dpm.c | 45 struct atom_clock_dividers dividers; in rv730_populate_sclk_value() local 58 engine_clock, false, ÷rs); in rv730_populate_sclk_value() 62 reference_divider = 1 + dividers.ref_div; in rv730_populate_sclk_value() 64 if (dividers.enable_post_div) in rv730_populate_sclk_value() 65 post_divider = ((dividers.post_div >> 4) & 0xf) + in rv730_populate_sclk_value() 66 (dividers.post_div & 0xf) + 2; in rv730_populate_sclk_value() 75 if (dividers.enable_post_div) in rv730_populate_sclk_value() 80 spll_func_cntl |= SPLL_REF_DIV(dividers.ref_div); in rv730_populate_sclk_value() 81 spll_func_cntl |= SPLL_HILEN((dividers.post_div >> 4) & 0xf); in rv730_populate_sclk_value() 82 spll_func_cntl |= SPLL_LOLEN(dividers.post_div & 0xf); in rv730_populate_sclk_value() [all …]
|
D | rv6xx_dpm.c | 143 struct atom_clock_dividers dividers; in rv6xx_convert_clock_to_stepping() local 146 clock, false, ÷rs); in rv6xx_convert_clock_to_stepping() 150 if (dividers.enable_post_div) in rv6xx_convert_clock_to_stepping() 151 step->post_divider = 2 + (dividers.post_div & 0xF) + (dividers.post_div >> 4); in rv6xx_convert_clock_to_stepping() 527 struct atom_clock_dividers *dividers, in rv6xx_calculate_vco_frequency() argument 530 return ref_clock * ((dividers->fb_div & ~1) << fb_divider_scale) / in rv6xx_calculate_vco_frequency() 531 (dividers->ref_div + 1); in rv6xx_calculate_vco_frequency() 554 struct atom_clock_dividers dividers; in rv6xx_program_engine_spread_spectrum() local 561 …if (radeon_atom_get_clock_dividers(rdev, COMPUTE_ENGINE_PLL_PARAM, clock, false, ÷rs) == 0) { in rv6xx_program_engine_spread_spectrum() 562 vco_freq = rv6xx_calculate_vco_frequency(ref_clk, ÷rs, in rv6xx_program_engine_spread_spectrum() [all …]
|
D | rv770_dpm.c | 321 struct atom_clock_dividers *dividers, in rv770_calculate_fractional_mpll_feedback_divider() argument 333 post_divider = dividers->post_div; in rv770_calculate_fractional_mpll_feedback_divider() 334 reference_divider = dividers->ref_div; in rv770_calculate_fractional_mpll_feedback_divider() 403 struct atom_clock_dividers dividers; in rv770_populate_mclk_value() local 411 memory_clock, false, ÷rs); in rv770_populate_mclk_value() 415 if ((dividers.ref_div < 1) || (dividers.ref_div > 5)) in rv770_populate_mclk_value() 420 ÷rs, &clkf, &clkfrac); in rv770_populate_mclk_value() 422 ret = rv770_encode_yclk_post_div(dividers.post_div, &postdiv_yclk); in rv770_populate_mclk_value() 433 mpll_ad_func_cntl |= CLKR(encoded_reference_dividers[dividers.ref_div - 1]); in rv770_populate_mclk_value() 439 if (dividers.vco_mode) in rv770_populate_mclk_value() [all …]
|
D | cypress_dpm.c | 494 struct atom_clock_dividers dividers; in cypress_populate_mclk_value() local 501 memory_clock, strobe_mode, ÷rs); in cypress_populate_mclk_value() 509 dividers.post_div = 1; in cypress_populate_mclk_value() 512 ibias = cypress_map_clkf_to_ibias(rdev, dividers.whole_fb_div); in cypress_populate_mclk_value() 519 mpll_ad_func_cntl |= CLKR(dividers.ref_div); in cypress_populate_mclk_value() 520 mpll_ad_func_cntl |= YCLK_POST_DIV(dividers.post_div); in cypress_populate_mclk_value() 521 mpll_ad_func_cntl |= CLKF(dividers.whole_fb_div); in cypress_populate_mclk_value() 522 mpll_ad_func_cntl |= CLKFRAC(dividers.frac_fb_div); in cypress_populate_mclk_value() 525 if (dividers.vco_mode) in cypress_populate_mclk_value() 536 mpll_dq_func_cntl |= CLKR(dividers.ref_div); in cypress_populate_mclk_value() [all …]
|
D | rs780_dpm.c | 77 struct atom_clock_dividers dividers; in rs780_initialize_dpm_power_state() local 82 default_state->sclk_low, false, ÷rs); in rs780_initialize_dpm_power_state() 86 r600_engine_clock_entry_set_reference_divider(rdev, 0, dividers.ref_div); in rs780_initialize_dpm_power_state() 87 r600_engine_clock_entry_set_feedback_divider(rdev, 0, dividers.fb_div); in rs780_initialize_dpm_power_state() 88 r600_engine_clock_entry_set_post_divider(rdev, 0, dividers.post_div); in rs780_initialize_dpm_power_state() 90 if (dividers.enable_post_div) in rs780_initialize_dpm_power_state() 1033 struct atom_clock_dividers dividers; in rs780_dpm_force_performance_level() local 1044 ps->sclk_high, false, ÷rs); in rs780_dpm_force_performance_level() 1048 rs780_force_fbdiv(rdev, dividers.fb_div); in rs780_dpm_force_performance_level() 1051 ps->sclk_low, false, ÷rs); in rs780_dpm_force_performance_level() [all …]
|
D | radeon_atombios.c | 2838 struct atom_clock_dividers *dividers) in radeon_atom_get_clock_dividers() argument 2845 memset(dividers, 0, sizeof(struct atom_clock_dividers)); in radeon_atom_get_clock_dividers() 2858 dividers->post_div = args.v1.ucPostDiv; in radeon_atom_get_clock_dividers() 2859 dividers->fb_div = args.v1.ucFbDiv; in radeon_atom_get_clock_dividers() 2860 dividers->enable_post_div = true; in radeon_atom_get_clock_dividers() 2872 dividers->post_div = args.v2.ucPostDiv; in radeon_atom_get_clock_dividers() 2873 dividers->fb_div = le16_to_cpu(args.v2.usFbDiv); in radeon_atom_get_clock_dividers() 2874 dividers->ref_div = args.v2.ucAction; in radeon_atom_get_clock_dividers() 2876 dividers->enable_post_div = (le32_to_cpu(args.v2.ulClock) & (1 << 24)) ? in radeon_atom_get_clock_dividers() 2878 dividers->vco_mode = (le32_to_cpu(args.v2.ulClock) & (1 << 25)) ? 1 : 0; in radeon_atom_get_clock_dividers() [all …]
|
/Linux-v4.19/drivers/gpu/drm/amd/display/modules/color/ |
D | color_gamma.c | 237 struct dividers { struct 795 struct dividers dividers) in scale_gamma() argument 831 dividers.divider1); in scale_gamma() 833 dividers.divider1); in scale_gamma() 835 dividers.divider1); in scale_gamma() 840 dividers.divider2); in scale_gamma() 842 dividers.divider2); in scale_gamma() 844 dividers.divider2); in scale_gamma() 849 dividers.divider3); in scale_gamma() 851 dividers.divider3); in scale_gamma() [all …]
|
/Linux-v4.19/Documentation/devicetree/bindings/clock/ti/ |
D | divider.txt | 30 Additionally an array of valid dividers may be supplied like so: 32 ti,dividers = <4>, <8>, <0>, <16>; 45 unless the divider array is provided, min and max dividers. Optionally 63 - ti,dividers : array of integers defining divisors 68 if ti,dividers is not defined. 70 only valid if ti,dividers is not defined. 72 only valid if ti,dividers is not defined. 116 ti,dividers = <0>, <1>, <2>, <3>, <4>, <0>, <6>, <0>, <8>;
|
/Linux-v4.19/drivers/gpu/drm/amd/powerplay/hwmgr/ |
D | ppatomctrl.c | 350 pp_atomctrl_clock_dividers_kong *dividers) in atomctrl_get_engine_pll_dividers_kong() argument 363 dividers->pll_post_divider = pll_parameters.ucPostDiv; in atomctrl_get_engine_pll_dividers_kong() 364 dividers->real_clock = le32_to_cpu(pll_parameters.ulClock); in atomctrl_get_engine_pll_dividers_kong() 373 pp_atomctrl_clock_dividers_vi *dividers) in atomctrl_get_engine_pll_dividers_vi() argument 387 dividers->pll_post_divider = in atomctrl_get_engine_pll_dividers_vi() 389 dividers->real_clock = in atomctrl_get_engine_pll_dividers_vi() 392 dividers->ul_fb_div.ul_fb_div_frac = in atomctrl_get_engine_pll_dividers_vi() 394 dividers->ul_fb_div.ul_fb_div = in atomctrl_get_engine_pll_dividers_vi() 397 dividers->uc_pll_ref_div = in atomctrl_get_engine_pll_dividers_vi() 399 dividers->uc_pll_post_div = in atomctrl_get_engine_pll_dividers_vi() [all …]
|
D | ppatomctrl.h | 300 …dividers_vi(struct pp_hwmgr *hwmgr, uint32_t clock_value, pp_atomctrl_clock_dividers_vi *dividers); 301 …dividers_vi(struct pp_hwmgr *hwmgr, uint32_t clock_value, pp_atomctrl_clock_dividers_vi *dividers); 310 pp_atomctrl_clock_dividers_kong *dividers); 315 …dividers_ai(struct pp_hwmgr *hwmgr, uint32_t clock_value, pp_atomctrl_clock_dividers_ai *dividers);
|
D | ppatomfwctrl.c | 248 struct pp_atomfwctrl_clock_dividers_soc15 *dividers) in pp_atomfwctrl_get_gpu_pll_dividers_vega10() argument 266 dividers->ulClock = le32_to_cpu(pll_output->gpuclock_10khz); in pp_atomfwctrl_get_gpu_pll_dividers_vega10() 267 dividers->ulDid = le32_to_cpu(pll_output->dfs_did); in pp_atomfwctrl_get_gpu_pll_dividers_vega10() 268 dividers->ulPll_fb_mult = le32_to_cpu(pll_output->pll_fb_mult); in pp_atomfwctrl_get_gpu_pll_dividers_vega10() 269 dividers->ulPll_ss_fbsmult = le32_to_cpu(pll_output->pll_ss_fbsmult); in pp_atomfwctrl_get_gpu_pll_dividers_vega10() 270 dividers->usPll_ss_slew_frac = le16_to_cpu(pll_output->pll_ss_slew_frac); in pp_atomfwctrl_get_gpu_pll_dividers_vega10() 271 dividers->ucPll_ss_enable = pll_output->pll_ss_enable; in pp_atomfwctrl_get_gpu_pll_dividers_vega10()
|
/Linux-v4.19/drivers/gpu/drm/amd/amdgpu/ |
D | amdgpu_atombios.c | 1015 struct atom_clock_dividers *dividers) in amdgpu_atombios_get_clock_dividers() argument 1022 memset(dividers, 0, sizeof(struct atom_clock_dividers)); in amdgpu_atombios_get_clock_dividers() 1038 dividers->post_div = args.v3.ucPostDiv; in amdgpu_atombios_get_clock_dividers() 1039 dividers->enable_post_div = (args.v3.ucCntlFlag & in amdgpu_atombios_get_clock_dividers() 1041 dividers->enable_dithen = (args.v3.ucCntlFlag & in amdgpu_atombios_get_clock_dividers() 1043 dividers->whole_fb_div = le16_to_cpu(args.v3.ulFbDiv.usFbDiv); in amdgpu_atombios_get_clock_dividers() 1044 dividers->frac_fb_div = le16_to_cpu(args.v3.ulFbDiv.usFbDivFrac); in amdgpu_atombios_get_clock_dividers() 1045 dividers->ref_div = args.v3.ucRefDiv; in amdgpu_atombios_get_clock_dividers() 1046 dividers->vco_mode = (args.v3.ucCntlFlag & in amdgpu_atombios_get_clock_dividers() 1058 dividers->post_div = args.v5.ucPostDiv; in amdgpu_atombios_get_clock_dividers() [all …]
|
D | amdgpu_atombios.h | 161 struct atom_clock_dividers *dividers); 214 struct atom_clock_dividers *dividers);
|
/Linux-v4.19/Documentation/devicetree/bindings/clock/ |
D | dove-divider-clock.txt | 3 Marvell Dove has a 2GHz PLL, which feeds into a set of dividers to provide 4 high speed clocks for a number of peripherals. These dividers are part of
|
D | brcm,bcm2835-cprman.txt | 8 oscillator, a level of PLL dividers that produce channels off of the 12 the PLL dividers directly.
|
/Linux-v4.19/drivers/gpu/drm/amd/powerplay/smumgr/ |
D | vegam_smumgr.c | 722 struct pp_atomctrl_clock_dividers_ai dividers; in vegam_calculate_sclk_params() local 731 result = atomctrl_get_engine_pll_dividers_ai(hwmgr, clock, ÷rs); in vegam_calculate_sclk_params() 733 sclk_setting->Fcw_int = dividers.usSclk_fcw_int; in vegam_calculate_sclk_params() 734 sclk_setting->Fcw_frac = dividers.usSclk_fcw_frac; in vegam_calculate_sclk_params() 735 sclk_setting->Pcc_fcw_int = dividers.usPcc_fcw_int; in vegam_calculate_sclk_params() 736 sclk_setting->PllRange = dividers.ucSclkPllRange; in vegam_calculate_sclk_params() 738 sclk_setting->Pcc_up_slew_rate = dividers.usPcc_fcw_slew_frac; in vegam_calculate_sclk_params() 740 sclk_setting->SSc_En = dividers.ucSscEnable; in vegam_calculate_sclk_params() 741 sclk_setting->Fcw1_int = dividers.usSsc_fcw1_int; in vegam_calculate_sclk_params() 742 sclk_setting->Fcw1_frac = dividers.usSsc_fcw1_frac; in vegam_calculate_sclk_params() [all …]
|
D | polaris10_smumgr.c | 845 struct pp_atomctrl_clock_dividers_ai dividers; in polaris10_calculate_sclk_params() local 854 result = atomctrl_get_engine_pll_dividers_ai(hwmgr, clock, ÷rs); in polaris10_calculate_sclk_params() 856 sclk_setting->Fcw_int = dividers.usSclk_fcw_int; in polaris10_calculate_sclk_params() 857 sclk_setting->Fcw_frac = dividers.usSclk_fcw_frac; in polaris10_calculate_sclk_params() 858 sclk_setting->Pcc_fcw_int = dividers.usPcc_fcw_int; in polaris10_calculate_sclk_params() 859 sclk_setting->PllRange = dividers.ucSclkPllRange; in polaris10_calculate_sclk_params() 861 sclk_setting->Pcc_up_slew_rate = dividers.usPcc_fcw_slew_frac; in polaris10_calculate_sclk_params() 863 sclk_setting->SSc_En = dividers.ucSscEnable; in polaris10_calculate_sclk_params() 864 sclk_setting->Fcw1_int = dividers.usSsc_fcw1_int; in polaris10_calculate_sclk_params() 865 sclk_setting->Fcw1_frac = dividers.usSsc_fcw1_frac; in polaris10_calculate_sclk_params() [all …]
|
D | fiji_smumgr.c | 871 struct pp_atomctrl_clock_dividers_vi dividers; in fiji_calculate_sclk_params() local 883 result = atomctrl_get_engine_pll_dividers_vi(hwmgr, clock, ÷rs); in fiji_calculate_sclk_params() 891 ref_divider = 1 + dividers.uc_pll_ref_div; in fiji_calculate_sclk_params() 894 fbdiv = dividers.ul_fb_div.ul_fb_divider & 0x3FFFFFF; in fiji_calculate_sclk_params() 898 SPLL_REF_DIV, dividers.uc_pll_ref_div); in fiji_calculate_sclk_params() 900 SPLL_PDIV_A, dividers.uc_pll_post_div); in fiji_calculate_sclk_params() 914 uint32_t vco_freq = clock * dividers.uc_pll_post_div; in fiji_calculate_sclk_params() 943 sclk->SclkDid = (uint8_t)dividers.pll_post_divider; in fiji_calculate_sclk_params() 1316 struct pp_atomctrl_clock_dividers_vi dividers; in fiji_populate_smc_acpi_level() local 1347 table->ACPILevel.SclkFrequency, ÷rs); in fiji_populate_smc_acpi_level() [all …]
|
D | ci_smumgr.c | 298 struct pp_atomctrl_clock_dividers_vi dividers; in ci_calculate_sclk_params() local 310 result = atomctrl_get_engine_pll_dividers_vi(hwmgr, clock, ÷rs); in ci_calculate_sclk_params() 318 ref_divider = 1 + dividers.uc_pll_ref_div; in ci_calculate_sclk_params() 321 fbdiv = dividers.ul_fb_div.ul_fb_divider & 0x3FFFFFF; in ci_calculate_sclk_params() 325 SPLL_REF_DIV, dividers.uc_pll_ref_div); in ci_calculate_sclk_params() 327 SPLL_PDIV_A, dividers.uc_pll_post_div); in ci_calculate_sclk_params() 340 uint32_t vco_freq = clock * dividers.uc_pll_post_div; in ci_calculate_sclk_params() 363 sclk->SclkDid = (uint8_t)dividers.pll_post_divider; in ci_calculate_sclk_params() 1378 struct pp_atomctrl_clock_dividers_vi dividers; in ci_populate_smc_acpi_level() local 1401 table->ACPILevel.SclkFrequency, ÷rs); in ci_populate_smc_acpi_level() [all …]
|
D | tonga_smumgr.c | 532 pp_atomctrl_clock_dividers_vi dividers; in tonga_calculate_sclk_params() local 544 result = atomctrl_get_engine_pll_dividers_vi(hwmgr, engine_clock, ÷rs); in tonga_calculate_sclk_params() 552 reference_divider = 1 + dividers.uc_pll_ref_div; in tonga_calculate_sclk_params() 555 fbdiv = dividers.ul_fb_div.ul_fb_divider & 0x3FFFFFF; in tonga_calculate_sclk_params() 559 CG_SPLL_FUNC_CNTL, SPLL_REF_DIV, dividers.uc_pll_ref_div); in tonga_calculate_sclk_params() 561 CG_SPLL_FUNC_CNTL, SPLL_PDIV_A, dividers.uc_pll_post_div); in tonga_calculate_sclk_params() 575 uint32_t vcoFreq = engine_clock * dividers.uc_pll_post_div; in tonga_calculate_sclk_params() 601 sclk->SclkDid = (uint8_t)dividers.pll_post_divider; in tonga_calculate_sclk_params() 1169 struct pp_atomctrl_clock_dividers_vi dividers; in tonga_populate_smc_acpi_level() local 1188 table->ACPILevel.SclkFrequency, ÷rs); in tonga_populate_smc_acpi_level() [all …]
|
/Linux-v4.19/arch/arm/boot/dts/ |
D | omap2420-clocks.dtsi | 82 ti,dividers = <0>, <1>, <2>, <3>, <4>, <0>, <6>, <0>, <8>, <0>, <0>, <0>, <12>; 265 ti,dividers = <0>, <1>, <2>, <3>, <4>, <0>, <6>, <0>, <8>, <0>, <0>, <0>, <12>; 269 ti,dividers = <0>, <1>, <2>, <3>, <4>, <0>, <6>, <0>, <8>;
|
D | omap446x-clocks.dtsi | 17 ti,dividers = <8>, <16>, <32>;
|
/Linux-v4.19/drivers/iio/afe/ |
D | Kconfig | 13 that handles voltage dividers, current sense shunts and
|
/Linux-v4.19/Documentation/arm/Samsung-S3C24XX/ |
D | CPUfreq.txt | 15 PLL to feed the ARM, memory and peripherals via a series of dividers 26 system. Each CPU registers a driver to control the PLL, clock dividers
|