- 03 10月, 2015 4 次提交
-
-
由 Andy Shevchenko 提交于
This patch converts the code to use rational best approximation algorithm which is much more precise. Suggested-by: NStephen Boyd <sboyd@codeaurora.org> Reviewed-by: NHeikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Andy Shevchenko 提交于
The ->mwidth and ->nwidth fields will be used by clk-fractional-divider when it will be switched to rational base approximation algorithm. Reviewed-by: NHeiko Stuebner <heiko@sntech.de> Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Andy Shevchenko 提交于
The patch adds mwidth and nwidth fields to the struct clk_fractional_divider for further usage. While here, use GENMASK() instead of open coding this functionality. Reviewed-by: NHeikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Andy Shevchenko 提交于
Rename function parameter to be more explicit what it is for. This also makes it in align with struct clk_ops. There is no functional change. Reviewed-by: NHeikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
- 02 10月, 2015 10 次提交
-
-
由 Martin Kepplinger 提交于
This simplifies the given function by getting rid of the manual sign extension as well as saving an absolute value in an extra variable. Signed-off-by: NMartin Kepplinger <martink@posteo.de> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Shawn Lin 提交于
mmc host controller's IO input/output timing is unpredictable if bootloader execute tuning for HS200 mode. It might make kernel failed to initialize mmc card in identification mode. The root cause is tuning phase and degree setting for HS200 mode in bootloader aren't applicable to that of identification mode in kernel stage. Anyway, we can't force all bootloaders to reset tuning phase and degree setting before into kernel. Simply reset it in rockchip_clk_register_mmc. Signed-off-by: NShawn Lin <shawn.lin@rock-chips.com> Reviewed-by: NHeiko Stuebner <heiko@sntech.de> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Geert Uytterhoeven 提交于
Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Victorien Vedrine 提交于
On drivers/clk/mxs/clk-frac.c, the function clk_frac_round_rate returned a bad result. The division before multiplication computes a wrong value ; the calculation is inverted to fix the problem. The second issue is that the exact rate have decimals and they are truncate. The consequence is that the function clk_frac_set_rate (which use the result of clk_frac_round_rate) computes a wrong value for the register (the rate generated can be closer to the desired rate). The correction is : if there is decimal to the result, it is rounded to the next larger integer. On drivers/clk/mxs/clk-frac.c, the function clk_frac_recalc_rate returned a bad result. The multiplication is made before the division to compute a correct value. Signed-off-by: NVictorien Vedrine <victorien.vedrine@ophrys.net> Acked-by: NShawn Guo <shawnguo@kernel.org> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Andrzej Hajda 提交于
The function can return negative value. The problem has been detected using proposed semantic patch scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107Signed-off-by: NAndrzej Hajda <a.hajda@samsung.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Heiko Stübner 提交于
Separate the update of pll registers from the actual set_rate function so that the init callback does not need to access clk-API functions. As we now have separated the getting and setting of the pll parameters we can also directly use these new functions in other places too. Signed-off-by: NHeiko Stuebner <heiko@sntech.de> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Nicolas Ferre 提交于
Add a new type of clocks that can be provided to a peripheral. In addition to the peripheral clock, this new clock that can use several input clocks as parents can generate divided rates. This would allow a peripheral to have finer grained clocks for generating a baud rate, clocking an asynchronous part or having more options in frequency. Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: NBoris Brezillon <boris.brezillon@free-electrons.com> [sboyd@codeaurora.org: Transition to new clk_hw provider APIs] Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Nicolas Ferre 提交于
Add support for the new sama5d2 SoC and adapt capabilities. Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: NBoris Brezillon <boris.brezillon@free-electrons.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Nicolas Ferre 提交于
As some more information is added to the PCR register, we'd better use a copy of its content and modify just the peripheral-related bits. Implement a read-modify-write for the enable() and disable() callbacks. Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: NBoris Brezillon <boris.brezillon@free-electrons.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Nicolas Ferre 提交于
Add _MASK and _OFFSET values and cleanup register fields layout. Signed-off-by: NNicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: NBoris Brezillon <boris.brezillon@free-electrons.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
- 29 9月, 2015 2 次提交
-
-
由 Guo Zeng 提交于
Power management on of NoC(Notwork On Chip) requires that disconnect and reconnect routine should been done during clk disable/enable. also there are different types of clocks, For NoC Macro clocks, write idle_bit and wait for hardward ACK; For Socket clocks, write idle_bit; For others, do nothing. Signed-off-by: NGuo Zeng <Guo.Zeng@csr.com> Signed-off-by: NBarry Song <Baohua.Song@csr.com> Signed-off-by: NMichael Turquette <mturquette@baylibre.com>
-
由 Guo Zeng 提交于
re-order the codes more reasonable by moving variable-definition together. Signed-off-by: NGuo Zeng <Guo.Zeng@csr.com> Signed-off-by: NBarry Song <Baohua.Song@csr.com> Signed-off-by: NMichael Turquette <mturquette@baylibre.com>
-
- 23 9月, 2015 2 次提交
-
-
由 Stephen Boyd 提交于
* clk-fixes: clk: samsung: fix cpu clock's flags checking
-
CLK_CPU_HAS_DIV1 and CLK_CPU_NEEDS_DEBUG_ALT_DIV masks were incorrectly used as a bit numbers. Fix it. Tested on Exynos4210 based Origen board and on Exynos5250 based Arndale board. Cc: Tomasz Figa <tomasz.figa@gmail.com> Cc: Michael Turquette <mturquette@baylibre.com> Cc: Thomas Abraham <thomas.ab@samsung.com> Fixes: ddeac8d9 ("clk: samsung: add infrastructure to register cpu clocks") Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Reviewed-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com> Reviewed-by: NJavier Martinez Canillas <javier@dowhile0.org> Acked-by: NSylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: NBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
- 18 9月, 2015 7 次提交
-
-
由 Georgi Djakov 提交于
Add support for the msm8916 audio clocks. This includes core bus, low-power audio and codec clocks. They are required for audio playback. Signed-off-by: NGeorgi Djakov <georgi.djakov@linaro.org> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Georgi Djakov 提交于
Add support for the msm8916 BIMC (Bus Integrated Memory Controller) clocks that are needed for GPU. Signed-off-by: NGeorgi Djakov <georgi.djakov@linaro.org> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Georgi Djakov 提交于
Some root clock generators may have child branches that are controlled by different CPUs. These RCGs require some special operations: - some enable bits have to be toggled when we set the rate; - if RCG is disabled we only cache the rate and set it later when enabled; - when the RCG is disabled, the mux is set to the safe source; Signed-off-by: NGeorgi Djakov <georgi.djakov@linaro.org> [sboyd@codeaurora.org: Simplify recalc_rate implementation] Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Georgi Djakov 提交于
Add support for the msm8916 TCU (Translation Control Unit) clocks that are needed for IOMMU. Signed-off-by: NGeorgi Djakov <georgi.djakov@linaro.org> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Stephen Boyd 提交于
* clk-fixes: drivers: clk: st: Rename st_pll3200c32_407_c0_x into st_pll3200c32_cx_x clk: check for invalid parent index of orphans in __clk_init()
-
由 Gabriel Fernandez 提交于
Use a generic name for this kind of PLL Correction in dts files are already done here: commit 5eb26c60 ("ARM: STi: DT: Rename st_pll3200c32_407_c0_x into st_pll3200c32_cx_x") Signed-off-by: NGabriel Fernandez <gabriel.fernandez@linaro.org> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Javier Martinez Canillas 提交于
There are cleary typo errors so can be removed. Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com> Acked-by: NLeo Yan <leo.yan@linaro.org> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
- 17 9月, 2015 15 次提交
-
-
由 Mans Rullgard 提交于
If a mux clock is initialised (by hardware or firmware) with an invalid parent, its ->get_parent() can return an out of range index. For example, the generic mux clock attempts to return -EINVAL, which due to the u8 return type ends up a rather large number. Using this index with the parent_names[] array results in an invalid pointer and (usually) a crash in the following strcmp(). This patch adds a check for the parent index being in range, ignoring clocks reporting invalid values. Signed-off-by: NMans Rullgard <mans@mansr.com> Tested-by: NRhyland Klein <rklein@nvidia.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Stephane Viau 提交于
Add the GDSC instances that exist as part of apq8084 MMCC block. Signed-off-by: NStephane Viau <sviau@codeaurora.org> Signed-off-by: NRajendra Nayak <rnayak@codeaurora.org> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Rajendra Nayak 提交于
Add the GDSC instances that exist as part of apq8084 GCC block Signed-off-by: NRajendra Nayak <rnayak@codeaurora.org> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Stephen Boyd 提交于
Add the GDSC instances that exist as part of msm8974 MMCC block Signed-off-by: NStephen Boyd <sboyd@codeaurora.org> Signed-off-by: NRajendra Nayak <rnayak@codeaurora.org> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Stephen Boyd 提交于
There's just one GDSC as part of the msm8974 GCC block. Signed-off-by: NStephen Boyd <sboyd@codeaurora.org> Signed-off-by: NRajendra Nayak <rnayak@codeaurora.org> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Rajendra Nayak 提交于
Add all data for the GDSCs which are part of msm8916 GCC block. Signed-off-by: NRajendra Nayak <rnayak@codeaurora.org> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Rajendra Nayak 提交于
Certain devices can have GDSCs' which support ON as the only state. They can't be power collapsed to either hit RET or OFF. The clients drivers for these GDSCs' however would expect the state of the core to be reset following a GDSC disable and re-enable. To do this assert/deassert reset lines every time the client driver would request the GDSC to be powered on/off instead. Signed-off-by: NRajendra Nayak <rnayak@codeaurora.org> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Rajendra Nayak 提交于
Along with the GDSC power switch, there is additional control to either retain all memory (core and peripheral) within a given powerdomain or to turn them off while the GDSC is powered down. Add support for these by modelling a RET state where all memory is retained and an OFF state where all memory gets turned off. The controls provided are granular enough to be able to support various differnt levels of RET states, like a 'shallow RET' with all memory retained and a 'deep RET' with some memory retained while some others are lost. The current patch does not support this and considers just one RET state where all memory is retained. Futher work, if needed can support multiple different levels of RET state. Signed-off-by: NRajendra Nayak <rnayak@codeaurora.org> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Rajendra Nayak 提交于
The common clk probe registers a clk provider and a reset controller. Update it to register a genpd provider using the gdsc data provided by each platform. Signed-off-by: NRajendra Nayak <rnayak@codeaurora.org> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Stephen Boyd 提交于
GDSCs (Global Distributed Switch Controllers) are responsible for safely collapsing and restoring power to peripherals in the SoC. These are best modelled as power domains using genpd and given the registers are scattered throughout the clock controller register space, its best to have the support added through the clock driver. Signed-off-by: NStephen Boyd <sboyd@codeaurora.org> Signed-off-by: NRajendra Nayak <rnayak@codeaurora.org> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Brian Norris 提交于
On 32-bit architectures, 'unsigned long' (the type used to hold clock rates, in Hz) is often only 32 bits wide. DIV_ROUND_UP() (as used in, e.g., commit b11d282d "clk: divider: fix rate calculation for fractional rates") can yield an integer overflow on clock rates that are not (by themselves) too large to fit in 32 bits, because it performs addition before the division. See for example: DIV_ROUND_UP(3000000000, 1500000000) = (3.0G + 1.5G - 1) / 1.5G = OVERFLOW / 1.5G This patch fixes such cases by always promoting the dividend to 64-bits (unsigned long long) before doing the division. While this patch does not resolve the issue with large clock rates across the common clock framework nor address the problems with doing full 64-bit arithmetic on a 32-bit architecture, it does fix some issues seen when using clock dividers on a 3GHz reference clock to produce a 1.5GHz CPU clock for an ARMv7 Brahma B15 SoC. Signed-off-by: NBrian Norris <computersforpeace@gmail.com> Reference: http://lkml.kernel.org/g/20150413201433.GQ32500@ld-irv-0074Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Luis de Bethencourt 提交于
This platform driver has a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: NLuis de Bethencourt <luis@debethencourt.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Luis de Bethencourt 提交于
This platform driver has a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: NLuis de Bethencourt <luis@debethencourt.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Luis de Bethencourt 提交于
This platform driver has a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: NLuis de Bethencourt <luis@debethencourt.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-
由 Luis de Bethencourt 提交于
This platform driver has a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: NLuis de Bethencourt <luis@debethencourt.com> Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
-