<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/arch/arm, branch v3.5.5</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/arch/arm?h=v3.5.5</id>
<link rel='self' href='https://git.amat.us/linux/atom/arch/arm?h=v3.5.5'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-10-02T17:40:03Z</updated>
<entry>
<title>ARM: 7467/1: mutex: use generic xchg-based implementation for ARMv6+</title>
<updated>2012-10-02T17:40:03Z</updated>
<author>
<name>Will Deacon</name>
<email>will.deacon@arm.com</email>
</author>
<published>2012-07-13T18:15:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b3109b3c87de5f6d98d8418c5f1931d9d2609ae0'/>
<id>urn:sha1:b3109b3c87de5f6d98d8418c5f1931d9d2609ae0</id>
<content type='text'>
commit a76d7bd96d65fa5119adba97e1b58d95f2e78829 upstream.

The open-coded mutex implementation for ARMv6+ cores suffers from a
severe lack of barriers, so in the uncontended case we don't actually
protect any accesses performed during the critical section.

Furthermore, the code is largely a duplication of the ARMv6+ atomic_dec
code but optimised to remove a branch instruction, as the mutex fastpath
was previously inlined. Now that this is executed out-of-line, we can
reuse the atomic access code for the locking (in fact, we use the xchg
code as this produces shorter critical sections).

This patch uses the generic xchg based implementation for mutexes on
ARMv6+, which introduces barriers to the lock/unlock operations and also
has the benefit of removing a fair amount of inline assembly code.

Acked-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Acked-by: Nicolas Pitre &lt;nico@linaro.org&gt;
Reported-by: Shan Kang &lt;kangshan0910@gmail.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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ARM: 7532/1: decompressor: reset SCTLR.TRE for VMSA ARMv7 cores</title>
<updated>2012-10-02T17:39:24Z</updated>
<author>
<name>Matthew Leach</name>
<email>matthew.leach@arm.com</email>
</author>
<published>2012-09-11T16:56:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=cfa259e003d1d7a3ecca5b30b7d1361838c7dbe3'/>
<id>urn:sha1:cfa259e003d1d7a3ecca5b30b7d1361838c7dbe3</id>
<content type='text'>
commit e1e5b7e4251c7538ca08c2c5545b0c2fbd8a6635 upstream.

This patch zeroes the SCTLR.TRE bit prior to setting the mapping as
cacheable for ARMv7 cores in the decompressor, ensuring that the
memory region attributes are obtained from the C and B bits, not from
the page tables.

Cc: Nicolas Pitre &lt;nico@fluxnic.net&gt;
Reviewed-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Matthew Leach &lt;matthew.leach@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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ARM: imx: armadillo5x0: Fix illegal register access</title>
<updated>2012-10-02T17:39:24Z</updated>
<author>
<name>Fabio Estevam</name>
<email>fabio.estevam@freescale.com</email>
</author>
<published>2012-09-17T01:28:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=dd2b53aed0496eca6f309ed39502a0dddf1a05ef'/>
<id>urn:sha1:dd2b53aed0496eca6f309ed39502a0dddf1a05ef</id>
<content type='text'>
commit 35495173e1df621dff0e9a244accbe32cd28a98f upstream.

Since commit eb92044eb (ARM i.MX3: Make ccm base address a variable )
it is necessary to pass the CCM register base as a variable.

Fix the CCM register access in mach-armadillo5x0 by passing mx3_ccm_base and
avoid illegal accesses.

Also applies to v3.5

Reported-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Fabio Estevam &lt;fabio.estevam@freescale.com&gt;
Acked-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ARM: Fix ioremap() of address zero</title>
<updated>2012-10-02T17:39:00Z</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2012-08-25T08:03:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3278d2dabeb899922faf4069861e150f72f28bc1'/>
<id>urn:sha1:3278d2dabeb899922faf4069861e150f72f28bc1</id>
<content type='text'>
commit a849088aa1552b1a28eea3daff599ee22a734ae3 upstream.

Murali Nalajala reports a regression that ioremapping address zero
results in an oops dump:

Unable to handle kernel paging request at virtual address fa200000
pgd = d4f80000
[fa200000] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0    Tainted: G        W (3.4.0-g3b5f728-00009-g638207a #13)
PC is at msm_pm_config_rst_vector_before_pc+0x8/0x30
LR is at msm_pm_boot_config_before_pc+0x18/0x20
pc : [&lt;c0078f84&gt;]    lr : [&lt;c007903c&gt;]    psr: a0000093
sp : c0837ef0  ip : cfe00000  fp : 0000000d
r10: da7efc17  r9 : 225c4278  r8 : 00000006
r7 : 0003c000  r6 : c085c824  r5 : 00000001  r4 : fa101000
r3 : fa200000  r2 : c095080c  r1 : 002250fc  r0 : 00000000
Flags: NzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM Segment kernel
Control: 10c5387d  Table: 25180059  DAC: 00000015
[&lt;c0078f84&gt;] (msm_pm_config_rst_vector_before_pc+0x8/0x30) from [&lt;c007903c&gt;] (msm_pm_boot_config_before_pc+0x18/0x20)
[&lt;c007903c&gt;] (msm_pm_boot_config_before_pc+0x18/0x20) from [&lt;c007a55c&gt;] (msm_pm_power_collapse+0x410/0xb04)
[&lt;c007a55c&gt;] (msm_pm_power_collapse+0x410/0xb04) from [&lt;c007b17c&gt;] (arch_idle+0x294/0x3e0)
[&lt;c007b17c&gt;] (arch_idle+0x294/0x3e0) from [&lt;c000eed8&gt;] (default_idle+0x18/0x2c)
[&lt;c000eed8&gt;] (default_idle+0x18/0x2c) from [&lt;c000f254&gt;] (cpu_idle+0x90/0xe4)
[&lt;c000f254&gt;] (cpu_idle+0x90/0xe4) from [&lt;c057231c&gt;] (rest_init+0x88/0xa0)
[&lt;c057231c&gt;] (rest_init+0x88/0xa0) from [&lt;c07ff890&gt;] (start_kernel+0x3a8/0x40c)
Code: c0704256 e12fff1e e59f2020 e5923000 (e5930000)

This is caused by the 'reserved' entries which we insert (see
19b52abe3c5d7 - ARM: 7438/1: fill possible PMD empty section gaps)
which get matched for physical address zero.

Resolve this by marking these reserved entries with a different flag.

Tested-by: Murali Nalajala &lt;mnalajal@codeaurora.org&gt;
Acked-by: Nicolas Pitre &lt;nico@linaro.org&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: clk-imx35: Fix SSI clock registration</title>
<updated>2012-10-02T17:39:00Z</updated>
<author>
<name>Fabio Estevam</name>
<email>fabio.estevam@freescale.com</email>
</author>
<published>2012-08-20T12:39:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9c7911680824e4aa89bf5247ffae0e38bf5c45bb'/>
<id>urn:sha1:9c7911680824e4aa89bf5247ffae0e38bf5c45bb</id>
<content type='text'>
commit 48540058612786d365602f3324ed97f9071092de upstream.

SSI block has two types of clock:

ipg: bus clock, the clock needed for accessing registers.
per: peripheral clock, the clock needed for generating the bit rate.

Currently SSI driver only supports slave mode and only need to handle
the ipg clock, because the peripheral clock comes from the master codec.

Only register the ipg clock and do not register the peripheral clock for ssi.

Signed-off-by: Fabio Estevam &lt;fabio.estevam@freescale.com&gt;
Tested-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ARM: clk-imx25: Fix SSI clock registration</title>
<updated>2012-10-02T17:38:59Z</updated>
<author>
<name>Fabio Estevam</name>
<email>fabio.estevam@freescale.com</email>
</author>
<published>2012-08-19T17:05:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b8e2903a1a8da1565e6825cac6e8a7a6a8b0c4b6'/>
<id>urn:sha1:b8e2903a1a8da1565e6825cac6e8a7a6a8b0c4b6</id>
<content type='text'>
commit 912bfe76528c287bc4812521b8d53366954b39a5 upstream.

SSI block has two types of clock:

ipg: bus clock, the clock needed for accessing registers.
per: peripheral clock, the clock needed for generating the bit rate.

Currently SSI driver only supports slave mode and only need to handle
the ipg clock, because the peripheral clock comes from the master codec.

Only register the ipg clock and do not register the peripheral clock for ssi.

Signed-off-by: Fabio Estevam &lt;fabio.estevam@freescale.com&gt;
Signed-off-by: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ARM: OMAP: timer: obey the !CONFIG_OMAP_32K_TIMER</title>
<updated>2012-10-02T17:38:59Z</updated>
<author>
<name>Igor Grinberg</name>
<email>grinberg@compulab.co.il</email>
</author>
<published>2012-08-27T22:26:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=60d75eff5b41399b9a367874aef33d9f7355c50f'/>
<id>urn:sha1:60d75eff5b41399b9a367874aef33d9f7355c50f</id>
<content type='text'>
commit 45caae74d238ef6583e9402cb8c550cc0b0f7dbd upstream.

Currently, omap2_sync32k_clocksource_init() function initializes the 32K
timer as the system clock source regardless of the CONFIG_OMAP_32K_TIMER
setting.
Fix this by providing a default implementation for
!CONFIG_OMAP_32K_TIMER case.

Signed-off-by: Igor Grinberg &lt;grinberg@compulab.co.il&gt;
Reviewed-by: Paul Walmsley &lt;paul@pwsan.com&gt;
Acked-by: Santosh Shilimkar &lt;santosh.shilimkar@ti.com&gt;
Signed-off-by: Tony Lindgren &lt;tony@atomide.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ARM: 7527/1: uaccess: explicitly check __user pointer when !CPU_USE_DOMAINS</title>
<updated>2012-10-02T17:38:59Z</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2012-09-07T17:22:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7951bef55a24041c91377ee67ad06a361aea42d0'/>
<id>urn:sha1:7951bef55a24041c91377ee67ad06a361aea42d0</id>
<content type='text'>
commit 8404663f81d212918ff85f493649a7991209fa04 upstream.

The {get,put}_user macros don't perform range checking on the provided
__user address when !CPU_HAS_DOMAINS.

This patch reworks the out-of-line assembly accessors to check the user
address against a specified limit, returning -EFAULT if is is out of
range.

[will: changed get_user register allocation to match put_user]
[rmk: fixed building on older ARM architectures]

Reported-by: Catalin Marinas &lt;catalin.marinas@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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ARM: 7526/1: traps: send SIGILL if get_user fails on undef handling path</title>
<updated>2012-10-02T17:38:59Z</updated>
<author>
<name>Will Deacon</name>
<email>will.deacon@arm.com</email>
</author>
<published>2012-09-07T17:21:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c11bc85ae982aba3e1cb85a7e9ff6c4a53d5ea2c'/>
<id>urn:sha1:c11bc85ae982aba3e1cb85a7e9ff6c4a53d5ea2c</id>
<content type='text'>
commit 2b2040af0b64cd93e5d4df2494c4486cf604090d upstream.

get_user may fail to load from the provided __user address due to an
unhandled fault generated by the access.

In the case of the undefined instruction trap, this results in failure
to load the faulting instruction, in which case we should send SIGILL to
the task rather than continue with potentially uninitialised data.

Signed-off-by: Will Deacon &lt;will.deacon@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: 7513/1: Make sure dtc is built before running it</title>
<updated>2012-10-02T17:38:59Z</updated>
<author>
<name>David Brown</name>
<email>davidb@codeaurora.org</email>
</author>
<published>2012-09-04T20:36:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c8dcc7a99a88d7e5249cd20ff0532098738d7a27'/>
<id>urn:sha1:c8dcc7a99a88d7e5249cd20ff0532098738d7a27</id>
<content type='text'>
commit 70b0476a2394de4f4e32e0b67288d80ff71ca963 upstream.

'make dtbs' in a clean tree will try running the dtc before actually
building it.  Make these rules depend upon the scripts to build it.

Signed-off-by: David Brown &lt;davidb@codeaurora.org&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>
</feed>
