<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/arch/arm/kernel, branch tegra-10.8.3</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>ARM: Convert VFP/Crunch/XscaleCP thread_release() to exit_thread()</title>
<updated>2010-06-16T04:35:19+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2009-12-18T14:34:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5648a3bbc09b7c4b404cbf52aab5fa7edbaffdf3'/>
<id>5648a3bbc09b7c4b404cbf52aab5fa7edbaffdf3</id>
<content type='text'>
This avoids races in the VFP code where the dead thread may have
state on another CPU.  By moving this code to exit_thread(), we
will be running as the thread, and therefore be running on the
current CPU.

This means that we can ensure that the only local state is accessed
in the thread notifiers.

Acked-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Change-Id: I195ea8ce8f5f438166b402411eaff3f33f4b2490
Reviewed-on: http://git-master/r/2731
Reviewed-by: Krishna Reddy &lt;vdumpa@nvidia.com&gt;
Tested-by: Krishna Reddy &lt;vdumpa@nvidia.com&gt;
Reviewed-by: Gary King &lt;gking@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This avoids races in the VFP code where the dead thread may have
state on another CPU.  By moving this code to exit_thread(), we
will be running as the thread, and therefore be running on the
current CPU.

This means that we can ensure that the only local state is accessed
in the thread notifiers.

Acked-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Change-Id: I195ea8ce8f5f438166b402411eaff3f33f4b2490
Reviewed-on: http://git-master/r/2731
Reviewed-by: Krishna Reddy &lt;vdumpa@nvidia.com&gt;
Tested-by: Krishna Reddy &lt;vdumpa@nvidia.com&gt;
Reviewed-by: Gary King &lt;gking@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[ARM] Do not call flush_cache_user_range with mmap_sem held</title>
<updated>2010-05-23T21:43:08+00:00</updated>
<author>
<name>Dima Zavin</name>
<email>dima@android.com</email>
</author>
<published>2010-04-28T03:57:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d383a107bd7985f458078fa342043e5835f09725'/>
<id>d383a107bd7985f458078fa342043e5835f09725</id>
<content type='text'>
We can't be holding the mmap_sem while calling flush_cache_user_range
because the flush can fault. If we fault on a user address, the
page fault handler will try to take mmap_sem again. Since both places
acquire the read lock, most of the time it succeeds. However, if another
thread tries to acquire the write lock on the mmap_sem (e.g. mmap) in
between the call to flush_cache_user_range and the fault, the down_read
in do_page_fault will deadlock.

Also, since we really can't be holding the mmap_sem while calling
flush_cache_user_range AND vma is actually unused by the flush itself,
get rid of vma as an argument.

Change-Id: If55409bde41ad1060fa4fe7cbd4ac530d4d9a106
Signed-off-by: Dima Zavin &lt;dima@android.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We can't be holding the mmap_sem while calling flush_cache_user_range
because the flush can fault. If we fault on a user address, the
page fault handler will try to take mmap_sem again. Since both places
acquire the read lock, most of the time it succeeds. However, if another
thread tries to acquire the write lock on the mmap_sem (e.g. mmap) in
between the call to flush_cache_user_range and the fault, the down_read
in do_page_fault will deadlock.

Also, since we really can't be holding the mmap_sem while calling
flush_cache_user_range AND vma is actually unused by the flush itself,
get rid of vma as an argument.

Change-Id: If55409bde41ad1060fa4fe7cbd4ac530d4d9a106
Signed-off-by: Dima Zavin &lt;dima@android.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[arm] implement TLS register workaround for Tegra errata 657451</title>
<updated>2010-05-20T20:05:53+00:00</updated>
<author>
<name>Gary King</name>
<email>gking@nvidia.com</email>
</author>
<published>2010-03-05T05:27:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=74ca02c6b6f74770e1170d84cbb191e3874315de'/>
<id>74ca02c6b6f74770e1170d84cbb191e3874315de</id>
<content type='text'>
tegra 2 systems have a hardware errata which causes bit 20 of the
TLS register (CP15 c13, operations 2-4) to be unreliable.

in common user space threading libraries (glibc pthreads, bionic
pthreads), the value stored in this register is guaranteed to be
at least word-aligned, leaving bit 0 free.

the work-around for this hardware errata is storing bit 20 of the
user space-provided TLS value into bit 0 of the register inside
__set_tls, and restoring it in the get_tls helper.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
tegra 2 systems have a hardware errata which causes bit 20 of the
TLS register (CP15 c13, operations 2-4) to be unreliable.

in common user space threading libraries (glibc pthreads, bionic
pthreads), the value stored in this register is guaranteed to be
at least word-aligned, leaving bit 0 free.

the work-around for this hardware errata is storing bit 20 of the
user space-provided TLS value into bit 0 of the register inside
__set_tls, and restoring it in the get_tls helper.
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "HACK stay compatible with the emulated TLS register HACK"</title>
<updated>2010-05-20T20:05:51+00:00</updated>
<author>
<name>Gary King</name>
<email>gking@nvidia.com</email>
</author>
<published>2010-05-20T19:56:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c91bac0014cc43223d00f844575f6a282b0948c8'/>
<id>c91bac0014cc43223d00f844575f6a282b0948c8</id>
<content type='text'>
This reverts commit 197d3f06e732a0428701c4f3550b91f9fc1297ab.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 197d3f06e732a0428701c4f3550b91f9fc1297ab.
</pre>
</div>
</content>
</entry>
<entry>
<title>[ARM] smp_twd: add USE_ARM_TWD_PRESCALER config</title>
<updated>2010-05-15T03:04:14+00:00</updated>
<author>
<name>Gary King</name>
<email>gking@nvidia.com</email>
</author>
<published>2010-05-15T02:13:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0ccee597a45f630ed551423f037def906b715ac1'/>
<id>0ccee597a45f630ed551423f037def906b715ac1</id>
<content type='text'>
the local timers support prescaling the event timeout, which
can be used to efficiently update the countdown frequency to
compensate for CPU frequency changes.

Change-Id: Ic4d0236f39fe1b8c6d436625bf9b584c417f6f00
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
the local timers support prescaling the event timeout, which
can be used to efficiently update the countdown frequency to
compensate for CPU frequency changes.

Change-Id: Ic4d0236f39fe1b8c6d436625bf9b584c417f6f00
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: enable CONFIG_CPU_IDLE support</title>
<updated>2010-04-09T17:34:37+00:00</updated>
<author>
<name>Gary King</name>
<email>gking@nvidia.com</email>
</author>
<published>2010-03-24T21:46:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2dfcc0387400d1360e0101a5cc2502c7b183a9c6'/>
<id>2dfcc0387400d1360e0101a5cc2502c7b183a9c6</id>
<content type='text'>
add ARCH_HAS_CPU_IDLE_WAIT and ARCH_HAS_DEFAULT_IDLE configuration,
and expose default_idle and cpu_idle_wait

cpu_idle_wait implementation based on the implementation in the x86 tree

Change-Id: Ie24b6336db833cc638868abfdba822889646d0a8
Reviewed-on: http://git-master/r/950
Reviewed-by: Gary King &lt;gking@nvidia.com&gt;
Tested-by: Gary King &lt;gking@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
add ARCH_HAS_CPU_IDLE_WAIT and ARCH_HAS_DEFAULT_IDLE configuration,
and expose default_idle and cpu_idle_wait

cpu_idle_wait implementation based on the implementation in the x86 tree

Change-Id: Ie24b6336db833cc638868abfdba822889646d0a8
Reviewed-on: http://git-master/r/950
Reviewed-by: Gary King &lt;gking@nvidia.com&gt;
Tested-by: Gary King &lt;gking@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[ARM] scu: add function to invalidate SCU per-CPU tags</title>
<updated>2010-04-09T03:07:40+00:00</updated>
<author>
<name>Gary King</name>
<email>gking@nvidia.com</email>
</author>
<published>2010-04-08T16:49:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ef9b875222215c4b9b7c5cb6f134aabdf77b1c93'/>
<id>ef9b875222215c4b9b7c5cb6f134aabdf77b1c93</id>
<content type='text'>
when ARM MP processors (MPCore, CortexA9MP) enter or exit coherency, the
tags stored by the snoop control unit for the processor should be invalidated
to prevent snooping of incorrect cache lines.

Change-Id: I87f6293c26fcbd686dbfbed6b84a8df5e5fe6f24
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
when ARM MP processors (MPCore, CortexA9MP) enter or exit coherency, the
tags stored by the snoop control unit for the processor should be invalidated
to prevent snooping of incorrect cache lines.

Change-Id: I87f6293c26fcbd686dbfbed6b84a8df5e5fe6f24
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: Do not allow the probing of the local timer</title>
<updated>2010-04-05T21:26:41+00:00</updated>
<author>
<name>Varun Swara</name>
<email>Varun.Swara@arm.com</email>
</author>
<published>2009-12-09T10:02:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=cc585138efa69415ca0d6fffee53eb5b21ad4268'/>
<id>cc585138efa69415ca0d6fffee53eb5b21ad4268</id>
<content type='text'>
Since this IRQ descriptor doesn't have an action registered, it is
allowed for probing via probe_irq_on/off() and it will be disabled by
the latter function. This patch sets the IRQ_NOPROBE status bit for the
local timer descriptor.

Signed-off-by: Varun Swara &lt;Varun.Swara@arm.com&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since this IRQ descriptor doesn't have an action registered, it is
allowed for probing via probe_irq_on/off() and it will be disabled by
the latter function. This patch sets the IRQ_NOPROBE status bit for the
local timer descriptor.

Signed-off-by: Varun Swara &lt;Varun.Swara@arm.com&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: Add L2 cache handling to smp boot support</title>
<updated>2010-04-05T21:26:01+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2010-02-12T14:36:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5591001ac8e3f1c5e1fd62420ed12b8647072ca4'/>
<id>5591001ac8e3f1c5e1fd62420ed12b8647072ca4</id>
<content type='text'>
The page table and secondary data which we're asking the secondary CPU
to make use of has to hit RAM to ensure that the secondary CPU can see
it since it may not be taking part in coherency or cache searches at
this point.

Acked-by: Santosh Shilimkar &lt;santosh.shilimkar@ti.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The page table and secondary data which we're asking the secondary CPU
to make use of has to hit RAM to ensure that the secondary CPU can see
it since it may not be taking part in coherency or cache searches at
this point.

Acked-by: Santosh Shilimkar &lt;santosh.shilimkar@ti.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: dma-mapping: provide per-cpu type map/unmap functions</title>
<updated>2010-04-05T21:17:46+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2009-11-26T16:19:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f0100159c5c371c3a3d3cffb6a8a6b4e5a1ffac9'/>
<id>f0100159c5c371c3a3d3cffb6a8a6b4e5a1ffac9</id>
<content type='text'>
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Tested-By: Santosh Shilimkar &lt;santosh.shilimkar@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Tested-By: Santosh Shilimkar &lt;santosh.shilimkar@ti.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
