<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/arm/lib/delay.c, branch linux-3.8.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.8.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.8.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2013-03-14T18:26:09Z</updated>
<entry>
<title>ARM: 7653/2: do not scale loops_per_jiffy when using a constant delay clock</title>
<updated>2013-03-14T18:26:09Z</updated>
<author>
<name>Nicolas Pitre</name>
</author>
<published>2013-02-18T15:36:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=13cfc75733aa5167b8a4578c41c49b4ea697d05c'/>
<id>urn:sha1:13cfc75733aa5167b8a4578c41c49b4ea697d05c</id>
<content type='text'>
commit 70264367a243a68b1d5636ffb570183449803cbe upstream.

When udelay() is implemented using an architected timer, it is wrong
to scale loops_per_jiffy when changing the CPU clock frequency since
the timer clock remains constant.

The lpj should probably become an implementation detail relevant to
the CPU loop based delay routine only and more confined to it. In the
mean time this is the minimal fix needed to have expected delays with
the timer based implementation when cpufreq is also in use.

Reported-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Signed-off-by: Nicolas Pitre &lt;nico@linaro.org&gt;
Tested-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Acked-by: Liviu Dudau &lt;Liviu.Dudau@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ARM: export default read_current_timer</title>
<updated>2012-10-09T18:24:36Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2012-10-01T14:47:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f3accb122f2c758494a6db3b9e9a8cd62aafcf83'/>
<id>urn:sha1:f3accb122f2c758494a6db3b9e9a8cd62aafcf83</id>
<content type='text'>
read_current_timer is used by get_cycles since "ARM: 7538/1: delay:
add registration mechanism for delay timer sources", and get_cycles
can be used by device drivers in loadable modules, so it has to
be exported.

Without this patch, building imote2_defconfig fails with

ERROR: "read_current_timer" [crypto/tcrypt.ko] undefined!

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Cc: Jonathan Austin &lt;jonathan.austin@arm.com&gt;
Cc: Will Deacon &lt;will.deacon@arm.com&gt;
Cc: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: 7538/1: delay: add registration mechanism for delay timer sources</title>
<updated>2012-09-26T21:57:52Z</updated>
<author>
<name>Jonathan Austin</name>
</author>
<published>2012-09-21T17:51:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=56942fec06efa0e17df0f4c3b438332c923b9014'/>
<id>urn:sha1:56942fec06efa0e17df0f4c3b438332c923b9014</id>
<content type='text'>
The current timer-based delay loop relies on the architected timer to
initiate the switch away from the polling-based implementation. This is
unfortunate for platforms without the architected timers but with a
suitable delay source (that is, constant frequency, always powered-up
and ticking as long as the CPUs are online).

This patch introduces a registration mechanism for the delay timer
(which provides an unconditional read_current_timer implementation) and
updates the architected timer code to use the new interface.

Reviewed-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Signed-off-by: Jonathan Austin &lt;jonathan.austin@arm.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: 7452/1: delay: allow timer-based delay implementation to be selected</title>
<updated>2012-07-09T16:42:23Z</updated>
<author>
<name>Will Deacon</name>
</author>
<published>2012-07-06T14:47:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d0a533b18235d36206b9b422efadb7cee444dfdb'/>
<id>urn:sha1:d0a533b18235d36206b9b422efadb7cee444dfdb</id>
<content type='text'>
This patch allows a timer-based delay implementation to be selected by
switching the delay routines over to use get_cycles, which is
implemented in terms of read_current_timer. This further allows us to
skip the loop calibration and have a consistent delay function in the
face of core frequency scaling.

To avoid the pain of dealing with memory-mapped counters, this
implementation uses the co-processor interface to the architected timers
when they are available. The previous loop-based implementation is
kept around for CPUs without the architected timers and we retain both
the maximum delay (2ms) and the corresponding conversion factors for
determining the number of loops required for a given interval. Since the
indirection of the timer routines will only work when called from C,
the sa1100 sleep routines are modified to branch to the loop-based delay
functions directly.

Tested-by: Shinya Kuribayashi &lt;shinya.kuribayashi.px@renesas.com&gt;
Reviewed-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
</feed>
