<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/clk/bcm, branch linux-4.3.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>clk: iproc: Fix PLL output frequency calculation</title>
<updated>2015-12-09T19:34:25+00:00</updated>
<author>
<name>Simran Rai</name>
<email>ssimran@broadcom.com</email>
</author>
<published>2015-10-19T22:27:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=e6a981502ce51fed9f4aa123bfec8adb4de09c0a'/>
<id>e6a981502ce51fed9f4aa123bfec8adb4de09c0a</id>
<content type='text'>
commit 63243a4da7d0dfa19dcacd0a529782eeb2f86f92 upstream.

This patch affects the clocks that use fractional ndivider in their
PLL output frequency calculation. Instead of 2^20 divide factor, the
clock's ndiv integer shift was used. Fixed the bug by replacing ndiv
integer shift with 2^20 factor.

Signed-off-by: Simran Rai &lt;ssimran@broadcom.com&gt;
Signed-off-by: Ray Jui &lt;rjui@broadcom.com&gt;
Reviewed-by: Scott Branden &lt;sbranden@broadcom.com&gt;
Fixes: 5fe225c105fd ("clk: iproc: add initial common clock support")
Signed-off-by: Michael Turquette &lt;mturquette@baylibre.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 63243a4da7d0dfa19dcacd0a529782eeb2f86f92 upstream.

This patch affects the clocks that use fractional ndivider in their
PLL output frequency calculation. Instead of 2^20 divide factor, the
clock's ndiv integer shift was used. Fixed the bug by replacing ndiv
integer shift with 2^20 factor.

Signed-off-by: Simran Rai &lt;ssimran@broadcom.com&gt;
Signed-off-by: Ray Jui &lt;rjui@broadcom.com&gt;
Reviewed-by: Scott Branden &lt;sbranden@broadcom.com&gt;
Fixes: 5fe225c105fd ("clk: iproc: add initial common clock support")
Signed-off-by: Michael Turquette &lt;mturquette@baylibre.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>clk: bcm: Convert to clk_hw based provider APIs</title>
<updated>2015-08-24T23:48:48+00:00</updated>
<author>
<name>Stephen Boyd</name>
<email>sboyd@codeaurora.org</email>
</author>
<published>2015-07-31T00:20:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=6f220c22438ab846c824a042746a54058cf22af7'/>
<id>6f220c22438ab846c824a042746a54058cf22af7</id>
<content type='text'>
We're removing struct clk from the clk provider API, so switch
this code to using the clk_hw based provider APIs.

Reviewed-by: Alex Elder &lt;elder@linaro.org&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We're removing struct clk from the clk provider API, so switch
this code to using the clk_hw based provider APIs.

Reviewed-by: Alex Elder &lt;elder@linaro.org&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'cleanup-clk-h-includes' into clk-next</title>
<updated>2015-07-28T18:59:09+00:00</updated>
<author>
<name>Stephen Boyd</name>
<email>sboyd@codeaurora.org</email>
</author>
<published>2015-07-21T18:22:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=9cfad9bc472a4bdd5ee7d9e713113a9f5a676704'/>
<id>9cfad9bc472a4bdd5ee7d9e713113a9f5a676704</id>
<content type='text'>
* cleanup-clk-h-includes: (62 commits)
  clk: Remove clk.h from clk-provider.h
  clk: h8300: Remove clk.h and clkdev.h includes
  clk: at91: Include clk.h and slab.h
  clk: ti: Switch clk-provider.h include to clk.h
  clk: pistachio: Include clk.h
  clk: ingenic: Include clk.h
  clk: si570: Include clk.h
  clk: moxart: Include clk.h
  clk: cdce925: Include clk.h
  clk: Include clk.h in clk.c
  clk: zynq: Include clk.h
  clk: ti: Include clk.h
  clk: sunxi: Include clk.h and remove unused clkdev.h includes
  clk: st: Include clk.h
  clk: qcom: Include clk.h
  clk: highbank: Include clk.h
  clk: bcm: Include clk.h
  clk: versatile: Remove clk.h and clkdev.h includes
  clk: ux500: Remove clk.h and clkdev.h includes
  clk: tegra: Properly include clk.h
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* cleanup-clk-h-includes: (62 commits)
  clk: Remove clk.h from clk-provider.h
  clk: h8300: Remove clk.h and clkdev.h includes
  clk: at91: Include clk.h and slab.h
  clk: ti: Switch clk-provider.h include to clk.h
  clk: pistachio: Include clk.h
  clk: ingenic: Include clk.h
  clk: si570: Include clk.h
  clk: moxart: Include clk.h
  clk: cdce925: Include clk.h
  clk: Include clk.h in clk.c
  clk: zynq: Include clk.h
  clk: ti: Include clk.h
  clk: sunxi: Include clk.h and remove unused clkdev.h includes
  clk: st: Include clk.h
  clk: qcom: Include clk.h
  clk: highbank: Include clk.h
  clk: bcm: Include clk.h
  clk: versatile: Remove clk.h and clkdev.h includes
  clk: ux500: Remove clk.h and clkdev.h includes
  clk: tegra: Properly include clk.h
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'clk-determine-rate-struct' into clk-next</title>
<updated>2015-07-28T18:51:30+00:00</updated>
<author>
<name>Stephen Boyd</name>
<email>sboyd@codeaurora.org</email>
</author>
<published>2015-07-28T18:51:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=19aab273083fa10c2262b8c8e3315bacb054d75d'/>
<id>19aab273083fa10c2262b8c8e3315bacb054d75d</id>
<content type='text'>
* clk-determine-rate-struct:
  clk: fix some determine_rate implementations
  clk: change clk_ops' -&gt;determine_rate() prototype
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* clk-determine-rate-struct:
  clk: fix some determine_rate implementations
  clk: change clk_ops' -&gt;determine_rate() prototype
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: change clk_ops' -&gt;determine_rate() prototype</title>
<updated>2015-07-28T01:12:01+00:00</updated>
<author>
<name>Boris Brezillon</name>
<email>boris.brezillon@free-electrons.com</email>
</author>
<published>2015-07-07T18:48:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=0817b62cc037a56c5e4238c7eb7522299ea27aef'/>
<id>0817b62cc037a56c5e4238c7eb7522299ea27aef</id>
<content type='text'>
Clock rates are stored in an unsigned long field, but -&gt;determine_rate()
(which returns a rounded rate from a requested one) returns a long
value (errors are reported using negative error codes), which can lead
to long overflow if the clock rate exceed 2Ghz.

Change -&gt;determine_rate() prototype to return 0 or an error code, and pass
a pointer to a clk_rate_request structure containing the expected target
rate and the rate constraints imposed by clk users.

The clk_rate_request structure might be extended in the future to contain
other kind of constraints like the rounding policy, the maximum clock
inaccuracy or other things that are not yet supported by the CCF
(power consumption constraints ?).

Signed-off-by: Boris Brezillon &lt;boris.brezillon@free-electrons.com&gt;
CC: Jonathan Corbet &lt;corbet@lwn.net&gt;
CC: Tony Lindgren &lt;tony@atomide.com&gt;
CC: Ralf Baechle &lt;ralf@linux-mips.org&gt;
CC: "Emilio López" &lt;emilio@elopez.com.ar&gt;
CC: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Acked-by: Tero Kristo &lt;t-kristo@ti.com&gt;
CC: Peter De Schrijver &lt;pdeschrijver@nvidia.com&gt;
CC: Prashant Gaikwad &lt;pgaikwad@nvidia.com&gt;
CC: Stephen Warren &lt;swarren@wwwdotorg.org&gt;
CC: Thierry Reding &lt;thierry.reding@gmail.com&gt;
CC: Alexandre Courbot &lt;gnurou@gmail.com&gt;
CC: linux-doc@vger.kernel.org
CC: linux-kernel@vger.kernel.org
CC: linux-arm-kernel@lists.infradead.org
CC: linux-omap@vger.kernel.org
CC: linux-mips@linux-mips.org
CC: linux-tegra@vger.kernel.org
[sboyd@codeaurora.org: Fix parent dereference problem in
__clk_determine_rate()]
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Tested-by: Romain Perier &lt;romain.perier@gmail.com&gt;
Signed-off-by: Heiko Stuebner &lt;heiko@sntech.de&gt;
[sboyd@codeaurora.org: Folded in fix from Heiko for fixed-rate
clocks without parents or a rate determining op]
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Clock rates are stored in an unsigned long field, but -&gt;determine_rate()
(which returns a rounded rate from a requested one) returns a long
value (errors are reported using negative error codes), which can lead
to long overflow if the clock rate exceed 2Ghz.

Change -&gt;determine_rate() prototype to return 0 or an error code, and pass
a pointer to a clk_rate_request structure containing the expected target
rate and the rate constraints imposed by clk users.

The clk_rate_request structure might be extended in the future to contain
other kind of constraints like the rounding policy, the maximum clock
inaccuracy or other things that are not yet supported by the CCF
(power consumption constraints ?).

Signed-off-by: Boris Brezillon &lt;boris.brezillon@free-electrons.com&gt;
CC: Jonathan Corbet &lt;corbet@lwn.net&gt;
CC: Tony Lindgren &lt;tony@atomide.com&gt;
CC: Ralf Baechle &lt;ralf@linux-mips.org&gt;
CC: "Emilio López" &lt;emilio@elopez.com.ar&gt;
CC: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Acked-by: Tero Kristo &lt;t-kristo@ti.com&gt;
CC: Peter De Schrijver &lt;pdeschrijver@nvidia.com&gt;
CC: Prashant Gaikwad &lt;pgaikwad@nvidia.com&gt;
CC: Stephen Warren &lt;swarren@wwwdotorg.org&gt;
CC: Thierry Reding &lt;thierry.reding@gmail.com&gt;
CC: Alexandre Courbot &lt;gnurou@gmail.com&gt;
CC: linux-doc@vger.kernel.org
CC: linux-kernel@vger.kernel.org
CC: linux-arm-kernel@lists.infradead.org
CC: linux-omap@vger.kernel.org
CC: linux-mips@linux-mips.org
CC: linux-tegra@vger.kernel.org
[sboyd@codeaurora.org: Fix parent dereference problem in
__clk_determine_rate()]
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Tested-by: Romain Perier &lt;romain.perier@gmail.com&gt;
Signed-off-by: Heiko Stuebner &lt;heiko@sntech.de&gt;
[sboyd@codeaurora.org: Folded in fix from Heiko for fixed-rate
clocks without parents or a rate determining op]
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: bcm: Include clk.h</title>
<updated>2015-07-20T18:11:21+00:00</updated>
<author>
<name>Stephen Boyd</name>
<email>sboyd@codeaurora.org</email>
</author>
<published>2015-06-19T22:00:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=d4945ab6472968f1a429ae89bf52e88676c47991'/>
<id>d4945ab6472968f1a429ae89bf52e88676c47991</id>
<content type='text'>
This clock provider uses the consumer API, so include clk.h
explicitly.

Acked-by: Alex Elder &lt;elder@linaro.org&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This clock provider uses the consumer API, so include clk.h
explicitly.

Acked-by: Alex Elder &lt;elder@linaro.org&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: iproc: fix bit manipulation arithmetic</title>
<updated>2015-07-02T16:51:09+00:00</updated>
<author>
<name>Ray Jui</name>
<email>rjui@broadcom.com</email>
</author>
<published>2015-06-29T21:30:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=69916d96094e1e16567c5f25515a13ed2896c730'/>
<id>69916d96094e1e16567c5f25515a13ed2896c730</id>
<content type='text'>
A 32-bit variable should be type casted to 64-bit before arithmetic
operation and assigning it to a 64-bit variable

Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Ray Jui &lt;rjui@broadcom.com&gt;
Fixes: 5fe225c105fd ("clk: iproc: add initial common clock support")
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A 32-bit variable should be type casted to 64-bit before arithmetic
operation and assigning it to a 64-bit variable

Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Ray Jui &lt;rjui@broadcom.com&gt;
Fixes: 5fe225c105fd ("clk: iproc: add initial common clock support")
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: iproc: fix memory leak from clock name</title>
<updated>2015-07-02T16:50:26+00:00</updated>
<author>
<name>Ray Jui</name>
<email>rjui@broadcom.com</email>
</author>
<published>2015-06-29T21:30:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=45a481c2176f6acca2efb6477c6018b2c3e3c60f'/>
<id>45a481c2176f6acca2efb6477c6018b2c3e3c60f</id>
<content type='text'>
of_property_read_string_index takes array of pointers and assign them to
strings read from device tree property. No additional memory allocation
is needed prior to calling of_property_read_string_index. In fact, since
the array of pointers will be re-assigned to other strings, any memory
that it points to prior to calling of_property_read_string_index will be
leaked

Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Ray Jui &lt;rjui@broadcom.com&gt;
Fixes: 5fe225c105fd ("clk: iproc: add initial common clock support")
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
of_property_read_string_index takes array of pointers and assign them to
strings read from device tree property. No additional memory allocation
is needed prior to calling of_property_read_string_index. In fact, since
the array of pointers will be re-assigned to other strings, any memory
that it points to prior to calling of_property_read_string_index will be
leaked

Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Ray Jui &lt;rjui@broadcom.com&gt;
Fixes: 5fe225c105fd ("clk: iproc: add initial common clock support")
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: cygnus: add clock support for Broadcom Cygnus</title>
<updated>2015-06-18T19:36:39+00:00</updated>
<author>
<name>Ray Jui</name>
<email>rjui@broadcom.com</email>
</author>
<published>2015-05-05T18:13:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=61ca7b0c7fffb968bd16394daf05b7e888e9541e'/>
<id>61ca7b0c7fffb968bd16394daf05b7e888e9541e</id>
<content type='text'>
The Broadcom Cygnus SoC is architected under the iProc architecture. It
has the following PLLs: ARMPLL, GENPLL, LCPLL0, MIPIPLL, all dervied
from an onboard crystal. Cygnus also has various ASIU clocks that are
derived directly from the onboard crystal.

Signed-off-by: Ray Jui &lt;rjui@broadcom.com&gt;
Reviewed-by: Scott Branden &lt;sbranden@broadcom.com&gt;
Signed-off-by: Michael Turquette &lt;mturquette@baylibre.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The Broadcom Cygnus SoC is architected under the iProc architecture. It
has the following PLLs: ARMPLL, GENPLL, LCPLL0, MIPIPLL, all dervied
from an onboard crystal. Cygnus also has various ASIU clocks that are
derived directly from the onboard crystal.

Signed-off-by: Ray Jui &lt;rjui@broadcom.com&gt;
Reviewed-by: Scott Branden &lt;sbranden@broadcom.com&gt;
Signed-off-by: Michael Turquette &lt;mturquette@baylibre.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>clk: iproc: add initial common clock support</title>
<updated>2015-06-18T19:36:38+00:00</updated>
<author>
<name>Ray Jui</name>
<email>rjui@broadcom.com</email>
</author>
<published>2015-05-05T18:13:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=5fe225c105fd54debae1699ec0f6aef1e73376d0'/>
<id>5fe225c105fd54debae1699ec0f6aef1e73376d0</id>
<content type='text'>
This adds basic and generic support for various iProc PLLs and clocks
including the ARMPLL, GENPLL, LCPLL, MIPIPLL, and ASIU clocks.

SoCs under the iProc architecture can define their specific register
offsets and clock parameters for their PLL and clock controllers. These
parameters can be passed as arugments into the generic iProc PLL and
clock setup functions

Derived from code originally provided by Jonathan Richardson
&lt;jonathar@broadcom.com&gt;

Signed-off-by: Ray Jui &lt;rjui@broadcom.com&gt;
Reviewed-by: Scott Branden &lt;sbranden@broadcom.com&gt;
Signed-off-by: Michael Turquette &lt;mturquette@baylibre.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds basic and generic support for various iProc PLLs and clocks
including the ARMPLL, GENPLL, LCPLL, MIPIPLL, and ASIU clocks.

SoCs under the iProc architecture can define their specific register
offsets and clock parameters for their PLL and clock controllers. These
parameters can be passed as arugments into the generic iProc PLL and
clock setup functions

Derived from code originally provided by Jonathan Richardson
&lt;jonathar@broadcom.com&gt;

Signed-off-by: Ray Jui &lt;rjui@broadcom.com&gt;
Reviewed-by: Scott Branden &lt;sbranden@broadcom.com&gt;
Signed-off-by: Michael Turquette &lt;mturquette@baylibre.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
