| /kernel/linux/linux-6.6/drivers/gpu/drm/radeon/ |
| D | rv740_dpm.c | 123 struct atom_clock_dividers dividers; in rv740_populate_sclk_value() local 136 engine_clock, false, ÷rs); in rv740_populate_sclk_value() 140 reference_divider = 1 + dividers.ref_div; in rv740_populate_sclk_value() 142 tmp = (u64) engine_clock * reference_divider * dividers.post_div * 16384; in rv740_populate_sclk_value() 147 spll_func_cntl |= SPLL_REF_DIV(dividers.ref_div); in rv740_populate_sclk_value() 148 spll_func_cntl |= SPLL_PDIV_A(dividers.post_div); in rv740_populate_sclk_value() 159 u32 vco_freq = engine_clock * dividers.post_div; in rv740_populate_sclk_value() 198 struct atom_clock_dividers dividers; in rv740_populate_mclk_value() local 204 memory_clock, false, ÷rs); in rv740_populate_mclk_value() 208 ibias = rv770_map_clkf_to_ibias(rdev, dividers.whole_fb_div); in rv740_populate_mclk_value() [all …]
|
| D | rv730_dpm.c | 42 struct atom_clock_dividers dividers; in rv730_populate_sclk_value() local 55 engine_clock, false, ÷rs); in rv730_populate_sclk_value() 59 reference_divider = 1 + dividers.ref_div; in rv730_populate_sclk_value() 61 if (dividers.enable_post_div) in rv730_populate_sclk_value() 62 post_divider = ((dividers.post_div >> 4) & 0xf) + in rv730_populate_sclk_value() 63 (dividers.post_div & 0xf) + 2; in rv730_populate_sclk_value() 72 if (dividers.enable_post_div) in rv730_populate_sclk_value() 77 spll_func_cntl |= SPLL_REF_DIV(dividers.ref_div); in rv730_populate_sclk_value() 78 spll_func_cntl |= SPLL_HILEN((dividers.post_div >> 4) & 0xf); in rv730_populate_sclk_value() 79 spll_func_cntl |= SPLL_LOLEN(dividers.post_div & 0xf); in rv730_populate_sclk_value() [all …]
|
| D | rv6xx_dpm.c | 142 struct atom_clock_dividers dividers; in rv6xx_convert_clock_to_stepping() local 145 clock, false, ÷rs); in rv6xx_convert_clock_to_stepping() 149 if (dividers.enable_post_div) in rv6xx_convert_clock_to_stepping() 150 step->post_divider = 2 + (dividers.post_div & 0xF) + (dividers.post_div >> 4); in rv6xx_convert_clock_to_stepping() 526 struct atom_clock_dividers *dividers, in rv6xx_calculate_vco_frequency() argument 529 return ref_clock * ((dividers->fb_div & ~1) << fb_divider_scale) / in rv6xx_calculate_vco_frequency() 530 (dividers->ref_div + 1); in rv6xx_calculate_vco_frequency() 553 struct atom_clock_dividers dividers; in rv6xx_program_engine_spread_spectrum() local 560 …if (radeon_atom_get_clock_dividers(rdev, COMPUTE_ENGINE_PLL_PARAM, clock, false, ÷rs) == 0) { in rv6xx_program_engine_spread_spectrum() 561 vco_freq = rv6xx_calculate_vco_frequency(ref_clk, ÷rs, in rv6xx_program_engine_spread_spectrum() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/radeon/ |
| D | rv740_dpm.c | 124 struct atom_clock_dividers dividers; in rv740_populate_sclk_value() local 137 engine_clock, false, ÷rs); in rv740_populate_sclk_value() 141 reference_divider = 1 + dividers.ref_div; in rv740_populate_sclk_value() 143 tmp = (u64) engine_clock * reference_divider * dividers.post_div * 16384; in rv740_populate_sclk_value() 148 spll_func_cntl |= SPLL_REF_DIV(dividers.ref_div); in rv740_populate_sclk_value() 149 spll_func_cntl |= SPLL_PDIV_A(dividers.post_div); in rv740_populate_sclk_value() 160 u32 vco_freq = engine_clock * dividers.post_div; in rv740_populate_sclk_value() 199 struct atom_clock_dividers dividers; in rv740_populate_mclk_value() local 205 memory_clock, false, ÷rs); in rv740_populate_mclk_value() 209 ibias = rv770_map_clkf_to_ibias(rdev, dividers.whole_fb_div); in rv740_populate_mclk_value() [all …]
|
| D | rv730_dpm.c | 44 struct atom_clock_dividers dividers; in rv730_populate_sclk_value() local 57 engine_clock, false, ÷rs); in rv730_populate_sclk_value() 61 reference_divider = 1 + dividers.ref_div; in rv730_populate_sclk_value() 63 if (dividers.enable_post_div) in rv730_populate_sclk_value() 64 post_divider = ((dividers.post_div >> 4) & 0xf) + in rv730_populate_sclk_value() 65 (dividers.post_div & 0xf) + 2; in rv730_populate_sclk_value() 74 if (dividers.enable_post_div) in rv730_populate_sclk_value() 79 spll_func_cntl |= SPLL_REF_DIV(dividers.ref_div); in rv730_populate_sclk_value() 80 spll_func_cntl |= SPLL_HILEN((dividers.post_div >> 4) & 0xf); in rv730_populate_sclk_value() 81 spll_func_cntl |= SPLL_LOLEN(dividers.post_div & 0xf); in rv730_populate_sclk_value() [all …]
|
| D | rv6xx_dpm.c | 142 struct atom_clock_dividers dividers; in rv6xx_convert_clock_to_stepping() local 145 clock, false, ÷rs); in rv6xx_convert_clock_to_stepping() 149 if (dividers.enable_post_div) in rv6xx_convert_clock_to_stepping() 150 step->post_divider = 2 + (dividers.post_div & 0xF) + (dividers.post_div >> 4); in rv6xx_convert_clock_to_stepping() 526 struct atom_clock_dividers *dividers, in rv6xx_calculate_vco_frequency() argument 529 return ref_clock * ((dividers->fb_div & ~1) << fb_divider_scale) / in rv6xx_calculate_vco_frequency() 530 (dividers->ref_div + 1); in rv6xx_calculate_vco_frequency() 553 struct atom_clock_dividers dividers; in rv6xx_program_engine_spread_spectrum() local 560 …if (radeon_atom_get_clock_dividers(rdev, COMPUTE_ENGINE_PLL_PARAM, clock, false, ÷rs) == 0) { in rv6xx_program_engine_spread_spectrum() 561 vco_freq = rv6xx_calculate_vco_frequency(ref_clk, ÷rs, in rv6xx_program_engine_spread_spectrum() [all …]
|
| /kernel/linux/linux-5.10/drivers/clk/baikal-t1/ |
| D | Kconfig | 12 configurable and fixed clock dividers. Enable this option to be able 13 to select Baikal-T1 CCU PLLs and Dividers drivers. 27 CPUs, DDR, etc.) or passed over the clock dividers to be only 31 bool "Baikal-T1 CCU Dividers support" 36 Enable this to support the CCU dividers used to distribute clocks 38 SoC. CCU dividers can be either configurable or with fixed divider, 39 either gateable or ungateable. Some of the CCU dividers can be as well
|
| /kernel/linux/linux-6.6/drivers/clk/baikal-t1/ |
| D | Kconfig | 12 configurable and fixed clock dividers. Enable this option to be able 13 to select Baikal-T1 CCU PLLs and Dividers drivers. 27 CPUs, DDR, etc.) or passed over the clock dividers to be only 31 bool "Baikal-T1 CCU Dividers support" 35 Enable this to support the CCU dividers used to distribute clocks 37 SoC. CCU dividers can be either configurable or with fixed divider, 38 either gateable or ungateable. Some of the CCU dividers can be as well
|
| /kernel/linux/linux-6.6/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>;
|
| /kernel/linux/linux-5.10/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>;
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/modules/color/ |
| D | color_gamma.c | 276 struct dividers { struct 1113 struct dividers dividers) in scale_gamma() argument 1149 dividers.divider1); in scale_gamma() 1151 dividers.divider1); in scale_gamma() 1153 dividers.divider1); in scale_gamma() 1158 dividers.divider2); in scale_gamma() 1160 dividers.divider2); in scale_gamma() 1162 dividers.divider2); in scale_gamma() 1167 dividers.divider3); in scale_gamma() 1169 dividers.divider3); in scale_gamma() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/modules/color/ |
| D | color_gamma.c | 286 struct dividers { struct 1175 struct dividers dividers) in scale_gamma() argument 1211 dividers.divider1); in scale_gamma() 1213 dividers.divider1); in scale_gamma() 1215 dividers.divider1); in scale_gamma() 1220 dividers.divider2); in scale_gamma() 1222 dividers.divider2); in scale_gamma() 1224 dividers.divider2); in scale_gamma() 1229 dividers.divider3); in scale_gamma() 1231 dividers.divider3); in scale_gamma() [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/clock/ |
| D | baikal,bt1-ccu-div.yaml | 8 title: Baikal-T1 Clock Control Unit Dividers 19 by means of an embedded into CCU PLLs and gateable/non-gateable dividers. The 26 3) AXI-bus clock dividers (AXI) - described in this binding file. 27 4) System devices reference clock dividers (SYS) - described in this binding 51 then passed over CCU dividers to create signals required for the target clock 52 domain (like AXI-bus or System Device consumers). The dividers have the 71 peculiarities the dividers may lack of some functionality depicted on the 76 The clock dividers, which output clock is then consumed by the SoC individual 78 Similarly the dividers with output clocks utilized as AXI-bus reference clocks
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/clock/ |
| D | baikal,bt1-ccu-div.yaml | 8 title: Baikal-T1 Clock Control Unit Dividers 19 by means of an embedded into CCU PLLs and gateable/non-gateable dividers. The 26 3) AXI-bus clock dividers (AXI) - described in this binding file. 27 4) System devices reference clock dividers (SYS) - described in this binding 51 then passed over CCU dividers to create signals required for the target clock 52 domain (like AXI-bus or System Device consumers). The dividers have the 71 peculiarities the dividers may lack of some functionality depicted on the 76 The clock dividers, which output clock is then consumed by the SoC individual 78 Similarly the dividers with output clocks utilized as AXI-bus reference clocks
|
| /kernel/linux/linux-6.6/sound/soc/codecs/ |
| D | wm8510.h | 61 /* DAC clock dividers */ 65 /* ADC clock dividers */ 69 /* PLL Out dividers */ 75 /* BCLK clock dividers */ 83 /* MCLK clock dividers */
|
| /kernel/linux/linux-5.10/sound/soc/codecs/ |
| D | wm8510.h | 61 /* DAC clock dividers */ 65 /* ADC clock dividers */ 69 /* PLL Out dividers */ 75 /* BCLK clock dividers */ 83 /* MCLK clock dividers */
|
| D | wm8940.h | 74 /* MCLK clock dividers */ 84 /* BCLK clock dividers */ 92 /* PLL Out Dividers */
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/amd/pm/powerplay/hwmgr/ |
| D | ppatomctrl.c | 244 * @param dividers output parameter: memory PLL dividers 296 * @param dividers output parameter: memory PLL dividers 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() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/amd/pm/powerplay/hwmgr/ |
| D | ppatomctrl.c | 389 pp_atomctrl_clock_dividers_kong *dividers) in atomctrl_get_engine_pll_dividers_kong() argument 402 dividers->pll_post_divider = pll_parameters.ucPostDiv; in atomctrl_get_engine_pll_dividers_kong() 403 dividers->real_clock = le32_to_cpu(pll_parameters.ulClock); in atomctrl_get_engine_pll_dividers_kong() 412 pp_atomctrl_clock_dividers_vi *dividers) in atomctrl_get_engine_pll_dividers_vi() argument 426 dividers->pll_post_divider = in atomctrl_get_engine_pll_dividers_vi() 428 dividers->real_clock = in atomctrl_get_engine_pll_dividers_vi() 431 dividers->ul_fb_div.ul_fb_div_frac = in atomctrl_get_engine_pll_dividers_vi() 433 dividers->ul_fb_div.ul_fb_div = in atomctrl_get_engine_pll_dividers_vi() 436 dividers->uc_pll_ref_div = in atomctrl_get_engine_pll_dividers_vi() 438 dividers->uc_pll_post_div = in atomctrl_get_engine_pll_dividers_vi() [all …]
|
| /kernel/linux/linux-5.10/drivers/clk/samsung/ |
| D | clk-cpu.c | 119 * rate. Although there exist certain dividers inside the CPU in exynos_cpuclk_recalc_rate() 133 * Helper function to set the 'safe' dividers for the CPU clock. The parameters 135 * dividers to be programmed. 170 * the values for DIV_COPY and DIV_HPM dividers need not be set. in exynos_cpuclk_pre_rate_change() 183 * the armclk speed is more than the old_prate until the dividers are in exynos_cpuclk_pre_rate_change() 184 * set. Also workaround the issue of the dividers being set to lower in exynos_cpuclk_pre_rate_change() 211 /* alternate parent is active now. set the dividers */ in exynos_cpuclk_pre_rate_change() 261 * Helper function to set the 'safe' dividers for the CPU clock. The parameters 263 * dividers to be programmed. 305 * the armclk speed is more than the old_prate until the dividers are in exynos5433_cpuclk_pre_rate_change() [all …]
|
| /kernel/linux/linux-6.6/drivers/clk/samsung/ |
| D | clk-cpu.c | 119 * rate. Although there exist certain dividers inside the CPU in exynos_cpuclk_recalc_rate() 133 * Helper function to set the 'safe' dividers for the CPU clock. The parameters 135 * dividers to be programmed. 170 * the values for DIV_COPY and DIV_HPM dividers need not be set. in exynos_cpuclk_pre_rate_change() 183 * the armclk speed is more than the old_prate until the dividers are in exynos_cpuclk_pre_rate_change() 184 * set. Also workaround the issue of the dividers being set to lower in exynos_cpuclk_pre_rate_change() 211 /* alternate parent is active now. set the dividers */ in exynos_cpuclk_pre_rate_change() 261 * Helper function to set the 'safe' dividers for the CPU clock. The parameters 263 * dividers to be programmed. 305 * the armclk speed is more than the old_prate until the dividers are in exynos5433_cpuclk_pre_rate_change() [all …]
|
| /kernel/linux/linux-5.10/drivers/clk/rockchip/ |
| D | clk-cpu.c | 48 * @rate_table: pll-rates and their associated dividers 107 /* alternate parent is active now. set the dividers */ in rockchip_cpuclk_set_dividers() 143 * the armclk speed is more than the old_rate until the dividers are in rockchip_cpuclk_pre_rate_change() 147 /* calculate dividers */ in rockchip_cpuclk_pre_rate_change() 156 * Change parents and add dividers in a single transaction. in rockchip_cpuclk_pre_rate_change() 159 * dividing the primary parent by the extra dividers that were in rockchip_cpuclk_pre_rate_change() 203 * post-rate change event, re-mux to primary parent and remove dividers. in rockchip_cpuclk_post_rate_change() 206 * primary parent by the extra dividers that were needed for the alt. in rockchip_cpuclk_post_rate_change()
|
| /kernel/linux/linux-6.6/drivers/clk/rockchip/ |
| D | clk-cpu.c | 48 * @rate_table: pll-rates and their associated dividers 103 /* alternate parent is active now. set the dividers */ in rockchip_cpuclk_set_dividers() 176 * the armclk speed is more than the old_rate until the dividers are in rockchip_cpuclk_pre_rate_change() 180 /* calculate dividers */ in rockchip_cpuclk_pre_rate_change() 189 * Change parents and add dividers in a single transaction. in rockchip_cpuclk_pre_rate_change() 192 * dividing the primary parent by the extra dividers that were in rockchip_cpuclk_pre_rate_change() 244 * post-rate change event, re-mux to primary parent and remove dividers. in rockchip_cpuclk_post_rate_change() 247 * primary parent by the extra dividers that were needed for the alt. in rockchip_cpuclk_post_rate_change() 263 /* remove dividers */ in rockchip_cpuclk_post_rate_change()
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/renesas/rcar-du/ |
| D | rcar_dw_hdmi.c | 17 #define RCAR_HDMI_PHY_OPMODE_PLLCFG 0x06 /* Mode of operation and PLL dividers */ 19 #define RCAR_HDMI_PHY_PLLDIVCTRL 0x11 /* PLL dividers */ 23 u16 opmode_div; /* Mode of operation and PLL dividers */ 25 u16 div; /* PLL dividers */
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/rcar-du/ |
| D | rcar_dw_hdmi.c | 17 #define RCAR_HDMI_PHY_OPMODE_PLLCFG 0x06 /* Mode of operation and PLL dividers */ 19 #define RCAR_HDMI_PHY_PLLDIVCTRL 0x11 /* PLL dividers */ 23 u16 opmode_div; /* Mode of operation and PLL dividers */ 25 u16 div; /* PLL dividers */
|