<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/arch/arm, branch v3.8-rc7</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm</title>
<updated>2013-02-08T21:01:18+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-02-08T21:01:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=39923134885759405e64cb9491a273a2bcd356ed'/>
<id>39923134885759405e64cb9491a273a2bcd356ed</id>
<content type='text'>
Pull ARM fixes from Russell King:
 "I was going to hold these off until v3.8 was out, and send them with a
  stable tag, but as everyone else is pushing much bigger fixes which
  Linus is accepting, let's save people from the hastle of having to
  patch v3.8 back into working or use a stable kernel.

  Looking at the diffstat, this really is high value for its size; this
  is miniscule compared to how the -rc6 to tip diffstat currently looks.

  So, four patches in this set:
   - Punit Agrawal reports that the kernel no longer boots on MPCore due
     to a new assumption made in the GIC code which isn't true of
     earlier GIC designs.  This is the biggest change in this set.
   - Punit's boot log also revealed a bunch of WARN_ON() dumps caused by
     the DT-ification of the GIC support without fixing up non-DT
     Realview - which now sees a greater number of interrupts than it
     did before.
   - A fix for the DMA coherent code from Marek which uses the wrong
     check for atomic allocations; this can result in spinlock lockups
     or other nasty effects.
   - A fix from Will, which will affect all Android based platforms if
     not applied (which use the 2G:2G VM split) - this causes
     particularly 'make' to misbehave unless this bug is fixed."

* 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
  ARM: 7641/1: memory: fix broken mmap by ensuring TASK_UNMAPPED_BASE is aligned
  ARM: DMA mapping: fix bad atomic test
  ARM: realview: ensure that we have sufficient IRQs available
  ARM: GIC: fix GIC cpumask initialization
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull ARM fixes from Russell King:
 "I was going to hold these off until v3.8 was out, and send them with a
  stable tag, but as everyone else is pushing much bigger fixes which
  Linus is accepting, let's save people from the hastle of having to
  patch v3.8 back into working or use a stable kernel.

  Looking at the diffstat, this really is high value for its size; this
  is miniscule compared to how the -rc6 to tip diffstat currently looks.

  So, four patches in this set:
   - Punit Agrawal reports that the kernel no longer boots on MPCore due
     to a new assumption made in the GIC code which isn't true of
     earlier GIC designs.  This is the biggest change in this set.
   - Punit's boot log also revealed a bunch of WARN_ON() dumps caused by
     the DT-ification of the GIC support without fixing up non-DT
     Realview - which now sees a greater number of interrupts than it
     did before.
   - A fix for the DMA coherent code from Marek which uses the wrong
     check for atomic allocations; this can result in spinlock lockups
     or other nasty effects.
   - A fix from Will, which will affect all Android based platforms if
     not applied (which use the 2G:2G VM split) - this causes
     particularly 'make' to misbehave unless this bug is fixed."

* 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
  ARM: 7641/1: memory: fix broken mmap by ensuring TASK_UNMAPPED_BASE is aligned
  ARM: DMA mapping: fix bad atomic test
  ARM: realview: ensure that we have sufficient IRQs available
  ARM: GIC: fix GIC cpumask initialization
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: 7641/1: memory: fix broken mmap by ensuring TASK_UNMAPPED_BASE is aligned</title>
<updated>2013-02-08T12:21:07+00:00</updated>
<author>
<name>Will Deacon</name>
<email>will.deacon@arm.com</email>
</author>
<published>2013-02-08T11:52:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=79d1f5c9acf9fc8d06e5537083b19114ce87159f'/>
<id>79d1f5c9acf9fc8d06e5537083b19114ce87159f</id>
<content type='text'>
We have received multiple reports of mmap failures when running with a
2:2 vm split. These manifest as either -EINVAL with a non page-aligned
address (ending 0xaaa) or a SEGV, depending on the application. The
issue is commonly observed in children of make, which appears to use
bottom-up mmap (assumedly because it changes the stack rlimit).

Further investigation reveals that this regression was triggered by
394ef6403abc ("mm: use vm_unmapped_area() on arm architecture"), whereby
TASK_UNMAPPED_BASE is no longer page-aligned for bottom-up mmap, causing
get_unmapped_area to choke on misaligned addressed.

This patch fixes the problem by defining TASK_UNMAPPED_BASE in terms of
TASK_SIZE and explicitly aligns the result to 16M, matching the other
end of the heap.

Acked-by: Nicolas Pitre &lt;nico@linaro.org&gt;
Reported-by: Steve Capper &lt;steve.capper@arm.com&gt;
Reported-by: Jean-Francois Moine &lt;moinejf@free.fr&gt;
Reported-by: Christoffer Dall &lt;cdall@cs.columbia.edu&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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We have received multiple reports of mmap failures when running with a
2:2 vm split. These manifest as either -EINVAL with a non page-aligned
address (ending 0xaaa) or a SEGV, depending on the application. The
issue is commonly observed in children of make, which appears to use
bottom-up mmap (assumedly because it changes the stack rlimit).

Further investigation reveals that this regression was triggered by
394ef6403abc ("mm: use vm_unmapped_area() on arm architecture"), whereby
TASK_UNMAPPED_BASE is no longer page-aligned for bottom-up mmap, causing
get_unmapped_area to choke on misaligned addressed.

This patch fixes the problem by defining TASK_UNMAPPED_BASE in terms of
TASK_SIZE and explicitly aligns the result to 16M, matching the other
end of the heap.

Acked-by: Nicolas Pitre &lt;nico@linaro.org&gt;
Reported-by: Steve Capper &lt;steve.capper@arm.com&gt;
Reported-by: Jean-Francois Moine &lt;moinejf@free.fr&gt;
Reported-by: Christoffer Dall &lt;cdall@cs.columbia.edu&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;
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: DMA mapping: fix bad atomic test</title>
<updated>2013-02-08T10:25:23+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2013-01-30T23:55:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=633dc92a28fc3fea6f08ef34de0b353ff5f9bf08'/>
<id>633dc92a28fc3fea6f08ef34de0b353ff5f9bf08</id>
<content type='text'>
Realview fails to boot with this warning:
BUG: spinlock lockup suspected on CPU#0, init/1
 lock: 0xcf8bde10, .magic: dead4ead, .owner: init/1, .owner_cpu: 0
Backtrace:
[&lt;c00185d8&gt;] (dump_backtrace+0x0/0x10c) from [&lt;c03294e8&gt;] (dump_stack+0x18/0x1c) r6:cf8bde10 r5:cf83d1c0 r4:cf8bde10 r3:cf83d1c0
[&lt;c03294d0&gt;] (dump_stack+0x0/0x1c) from [&lt;c018926c&gt;] (spin_dump+0x84/0x98)
[&lt;c01891e8&gt;] (spin_dump+0x0/0x98) from [&lt;c0189460&gt;] (do_raw_spin_lock+0x100/0x198)
[&lt;c0189360&gt;] (do_raw_spin_lock+0x0/0x198) from [&lt;c032cbac&gt;] (_raw_spin_lock+0x3c/0x44)
[&lt;c032cb70&gt;] (_raw_spin_lock+0x0/0x44) from [&lt;c01c9224&gt;] (pl011_console_write+0xe8/0x11c)
[&lt;c01c913c&gt;] (pl011_console_write+0x0/0x11c) from [&lt;c002aea8&gt;] (call_console_drivers.clone.7+0xdc/0x104)
[&lt;c002adcc&gt;] (call_console_drivers.clone.7+0x0/0x104) from [&lt;c002b320&gt;] (console_unlock+0x2e8/0x454)
[&lt;c002b038&gt;] (console_unlock+0x0/0x454) from [&lt;c002b8b4&gt;] (vprintk_emit+0x2d8/0x594)
[&lt;c002b5dc&gt;] (vprintk_emit+0x0/0x594) from [&lt;c0329718&gt;] (printk+0x3c/0x44)
[&lt;c03296dc&gt;] (printk+0x0/0x44) from [&lt;c002929c&gt;] (warn_slowpath_common+0x28/0x6c)
[&lt;c0029274&gt;] (warn_slowpath_common+0x0/0x6c) from [&lt;c0029304&gt;] (warn_slowpath_null+0x24/0x2c)
[&lt;c00292e0&gt;] (warn_slowpath_null+0x0/0x2c) from [&lt;c0070ab0&gt;] (lockdep_trace_alloc+0xd8/0xf0)
[&lt;c00709d8&gt;] (lockdep_trace_alloc+0x0/0xf0) from [&lt;c00c0850&gt;] (kmem_cache_alloc+0x24/0x11c)
[&lt;c00c082c&gt;] (kmem_cache_alloc+0x0/0x11c) from [&lt;c00bb044&gt;] (__get_vm_area_node.clone.24+0x7c/0x16c)
[&lt;c00bafc8&gt;] (__get_vm_area_node.clone.24+0x0/0x16c) from [&lt;c00bb7b8&gt;] (get_vm_area_caller+0x48/0x54)
[&lt;c00bb770&gt;] (get_vm_area_caller+0x0/0x54) from [&lt;c0020064&gt;] (__alloc_remap_buffer.clone.15+0x38/0xb8)
[&lt;c002002c&gt;] (__alloc_remap_buffer.clone.15+0x0/0xb8) from [&lt;c0020244&gt;] (__dma_alloc+0x160/0x2c8)
[&lt;c00200e4&gt;] (__dma_alloc+0x0/0x2c8) from [&lt;c00204d8&gt;] (arm_dma_alloc+0x88/0xa0)[&lt;c0020450&gt;] (arm_dma_alloc+0x0/0xa0) from [&lt;c00beb00&gt;] (dma_pool_alloc+0xcc/0x1a8)
[&lt;c00bea34&gt;] (dma_pool_alloc+0x0/0x1a8) from [&lt;c01a9d14&gt;] (pl08x_fill_llis_for_desc+0x28/0x568)
[&lt;c01a9cec&gt;] (pl08x_fill_llis_for_desc+0x0/0x568) from [&lt;c01aab8c&gt;] (pl08x_prep_slave_sg+0x258/0x3b0)
[&lt;c01aa934&gt;] (pl08x_prep_slave_sg+0x0/0x3b0) from [&lt;c01c9f74&gt;] (pl011_dma_tx_refill+0x140/0x288)
[&lt;c01c9e34&gt;] (pl011_dma_tx_refill+0x0/0x288) from [&lt;c01ca748&gt;] (pl011_start_tx+0xe4/0x120)
[&lt;c01ca664&gt;] (pl011_start_tx+0x0/0x120) from [&lt;c01c54a4&gt;] (__uart_start+0x48/0x4c)
[&lt;c01c545c&gt;] (__uart_start+0x0/0x4c) from [&lt;c01c632c&gt;] (uart_start+0x2c/0x3c)
[&lt;c01c6300&gt;] (uart_start+0x0/0x3c) from [&lt;c01c795c&gt;] (uart_write+0xcc/0xf4)
[&lt;c01c7890&gt;] (uart_write+0x0/0xf4) from [&lt;c01b0384&gt;] (n_tty_write+0x1c0/0x3e4)
[&lt;c01b01c4&gt;] (n_tty_write+0x0/0x3e4) from [&lt;c01acfe8&gt;] (tty_write+0x144/0x240)
[&lt;c01acea4&gt;] (tty_write+0x0/0x240) from [&lt;c01ad17c&gt;] (redirected_tty_write+0x98/0xac)
[&lt;c01ad0e4&gt;] (redirected_tty_write+0x0/0xac) from [&lt;c00c371c&gt;] (vfs_write+0xbc/0x150)
[&lt;c00c3660&gt;] (vfs_write+0x0/0x150) from [&lt;c00c39c0&gt;] (sys_write+0x4c/0x78)
[&lt;c00c3974&gt;] (sys_write+0x0/0x78) from [&lt;c0014460&gt;] (ret_fast_syscall+0x0/0x3c)

This happens because the DMA allocation code is not respecting atomic
allocations correctly.

GFP flags should not be tested for GFP_ATOMIC to determine if an
atomic allocation is being requested.  GFP_ATOMIC is not a flag but
a value.  The GFP bitmask flags are all prefixed with __GFP_.

The rest of the kernel tests for __GFP_WAIT not being set to indicate
an atomic allocation.  We need to do the same.

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>
Realview fails to boot with this warning:
BUG: spinlock lockup suspected on CPU#0, init/1
 lock: 0xcf8bde10, .magic: dead4ead, .owner: init/1, .owner_cpu: 0
Backtrace:
[&lt;c00185d8&gt;] (dump_backtrace+0x0/0x10c) from [&lt;c03294e8&gt;] (dump_stack+0x18/0x1c) r6:cf8bde10 r5:cf83d1c0 r4:cf8bde10 r3:cf83d1c0
[&lt;c03294d0&gt;] (dump_stack+0x0/0x1c) from [&lt;c018926c&gt;] (spin_dump+0x84/0x98)
[&lt;c01891e8&gt;] (spin_dump+0x0/0x98) from [&lt;c0189460&gt;] (do_raw_spin_lock+0x100/0x198)
[&lt;c0189360&gt;] (do_raw_spin_lock+0x0/0x198) from [&lt;c032cbac&gt;] (_raw_spin_lock+0x3c/0x44)
[&lt;c032cb70&gt;] (_raw_spin_lock+0x0/0x44) from [&lt;c01c9224&gt;] (pl011_console_write+0xe8/0x11c)
[&lt;c01c913c&gt;] (pl011_console_write+0x0/0x11c) from [&lt;c002aea8&gt;] (call_console_drivers.clone.7+0xdc/0x104)
[&lt;c002adcc&gt;] (call_console_drivers.clone.7+0x0/0x104) from [&lt;c002b320&gt;] (console_unlock+0x2e8/0x454)
[&lt;c002b038&gt;] (console_unlock+0x0/0x454) from [&lt;c002b8b4&gt;] (vprintk_emit+0x2d8/0x594)
[&lt;c002b5dc&gt;] (vprintk_emit+0x0/0x594) from [&lt;c0329718&gt;] (printk+0x3c/0x44)
[&lt;c03296dc&gt;] (printk+0x0/0x44) from [&lt;c002929c&gt;] (warn_slowpath_common+0x28/0x6c)
[&lt;c0029274&gt;] (warn_slowpath_common+0x0/0x6c) from [&lt;c0029304&gt;] (warn_slowpath_null+0x24/0x2c)
[&lt;c00292e0&gt;] (warn_slowpath_null+0x0/0x2c) from [&lt;c0070ab0&gt;] (lockdep_trace_alloc+0xd8/0xf0)
[&lt;c00709d8&gt;] (lockdep_trace_alloc+0x0/0xf0) from [&lt;c00c0850&gt;] (kmem_cache_alloc+0x24/0x11c)
[&lt;c00c082c&gt;] (kmem_cache_alloc+0x0/0x11c) from [&lt;c00bb044&gt;] (__get_vm_area_node.clone.24+0x7c/0x16c)
[&lt;c00bafc8&gt;] (__get_vm_area_node.clone.24+0x0/0x16c) from [&lt;c00bb7b8&gt;] (get_vm_area_caller+0x48/0x54)
[&lt;c00bb770&gt;] (get_vm_area_caller+0x0/0x54) from [&lt;c0020064&gt;] (__alloc_remap_buffer.clone.15+0x38/0xb8)
[&lt;c002002c&gt;] (__alloc_remap_buffer.clone.15+0x0/0xb8) from [&lt;c0020244&gt;] (__dma_alloc+0x160/0x2c8)
[&lt;c00200e4&gt;] (__dma_alloc+0x0/0x2c8) from [&lt;c00204d8&gt;] (arm_dma_alloc+0x88/0xa0)[&lt;c0020450&gt;] (arm_dma_alloc+0x0/0xa0) from [&lt;c00beb00&gt;] (dma_pool_alloc+0xcc/0x1a8)
[&lt;c00bea34&gt;] (dma_pool_alloc+0x0/0x1a8) from [&lt;c01a9d14&gt;] (pl08x_fill_llis_for_desc+0x28/0x568)
[&lt;c01a9cec&gt;] (pl08x_fill_llis_for_desc+0x0/0x568) from [&lt;c01aab8c&gt;] (pl08x_prep_slave_sg+0x258/0x3b0)
[&lt;c01aa934&gt;] (pl08x_prep_slave_sg+0x0/0x3b0) from [&lt;c01c9f74&gt;] (pl011_dma_tx_refill+0x140/0x288)
[&lt;c01c9e34&gt;] (pl011_dma_tx_refill+0x0/0x288) from [&lt;c01ca748&gt;] (pl011_start_tx+0xe4/0x120)
[&lt;c01ca664&gt;] (pl011_start_tx+0x0/0x120) from [&lt;c01c54a4&gt;] (__uart_start+0x48/0x4c)
[&lt;c01c545c&gt;] (__uart_start+0x0/0x4c) from [&lt;c01c632c&gt;] (uart_start+0x2c/0x3c)
[&lt;c01c6300&gt;] (uart_start+0x0/0x3c) from [&lt;c01c795c&gt;] (uart_write+0xcc/0xf4)
[&lt;c01c7890&gt;] (uart_write+0x0/0xf4) from [&lt;c01b0384&gt;] (n_tty_write+0x1c0/0x3e4)
[&lt;c01b01c4&gt;] (n_tty_write+0x0/0x3e4) from [&lt;c01acfe8&gt;] (tty_write+0x144/0x240)
[&lt;c01acea4&gt;] (tty_write+0x0/0x240) from [&lt;c01ad17c&gt;] (redirected_tty_write+0x98/0xac)
[&lt;c01ad0e4&gt;] (redirected_tty_write+0x0/0xac) from [&lt;c00c371c&gt;] (vfs_write+0xbc/0x150)
[&lt;c00c3660&gt;] (vfs_write+0x0/0x150) from [&lt;c00c39c0&gt;] (sys_write+0x4c/0x78)
[&lt;c00c3974&gt;] (sys_write+0x0/0x78) from [&lt;c0014460&gt;] (ret_fast_syscall+0x0/0x3c)

This happens because the DMA allocation code is not respecting atomic
allocations correctly.

GFP flags should not be tested for GFP_ATOMIC to determine if an
atomic allocation is being requested.  GFP_ATOMIC is not a flag but
a value.  The GFP bitmask flags are all prefixed with __GFP_.

The rest of the kernel tests for __GFP_WAIT not being set to indicate
an atomic allocation.  We need to do the same.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: realview: ensure that we have sufficient IRQs available</title>
<updated>2013-02-08T10:23:32+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2013-01-30T23:54:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e210101dbbabee7677f63f15796572404e3d54ce'/>
<id>e210101dbbabee7677f63f15796572404e3d54ce</id>
<content type='text'>
Realview EB with a rev B MPcore tile results in lots of warnings at
boot because it can't allocate enough IRQs.  Fix this by increasing
the number of available IRQs.

WARNING: at /home/rmk/git/linux-rmk/arch/arm/common/gic.c:757 gic_init_bases+0x12c/0x2ec()
Cannot allocate irq_descs @ IRQ96, assuming pre-allocated
Modules linked in:
Backtrace:
[&lt;c00185d8&gt;] (dump_backtrace+0x0/0x10c) from [&lt;c03294e8&gt;] (dump_stack+0x18/0x1c) r6:000002f5 r5:c042c62c r4:c044ff40 r3:c045f240
[&lt;c03294d0&gt;] (dump_stack+0x0/0x1c) from [&lt;c00292c8&gt;] (warn_slowpath_common+0x54/0x6c)
[&lt;c0029274&gt;] (warn_slowpath_common+0x0/0x6c) from [&lt;c0029384&gt;] (warn_slowpath_fmt+0x38/0x40)
[&lt;c002934c&gt;] (warn_slowpath_fmt+0x0/0x40) from [&lt;c042c62c&gt;] (gic_init_bases+0x12c/0x2ec)
[&lt;c042c500&gt;] (gic_init_bases+0x0/0x2ec) from [&lt;c042cdc8&gt;] (gic_init_irq+0x8c/0xd8)
[&lt;c042cd3c&gt;] (gic_init_irq+0x0/0xd8) from [&lt;c042827c&gt;] (init_IRQ+0x1c/0x24)
[&lt;c0428260&gt;] (init_IRQ+0x0/0x24) from [&lt;c04256c8&gt;] (start_kernel+0x1a4/0x300)
[&lt;c0425524&gt;] (start_kernel+0x0/0x300) from [&lt;70008070&gt;] (0x70008070)
---[ end trace 1b75b31a2719ed1c ]---
------------[ cut here ]------------
WARNING: at /home/rmk/git/linux-rmk/kernel/irq/irqdomain.c:234 irq_domain_add_legacy+0x80/0x140()
Modules linked in:
Backtrace:
[&lt;c00185d8&gt;] (dump_backtrace+0x0/0x10c) from [&lt;c03294e8&gt;] (dump_stack+0x18/0x1c) r6:000000ea r5:c0081a38 r4:00000000 r3:c045f240
[&lt;c03294d0&gt;] (dump_stack+0x0/0x1c) from [&lt;c00292c8&gt;] (warn_slowpath_common+0x54/0x6c)
[&lt;c0029274&gt;] (warn_slowpath_common+0x0/0x6c) from [&lt;c0029304&gt;] (warn_slowpath_null+0x24/0x2c)
[&lt;c00292e0&gt;] (warn_slowpath_null+0x0/0x2c) from [&lt;c0081a38&gt;] (irq_domain_add_legacy+0x80/0x140)
[&lt;c00819b8&gt;] (irq_domain_add_legacy+0x0/0x140) from [&lt;c042c64c&gt;] (gic_init_bases+0x14c/0x2ec)
[&lt;c042c500&gt;] (gic_init_bases+0x0/0x2ec) from [&lt;c042cdc8&gt;] (gic_init_irq+0x8c/0xd8)
[&lt;c042cd3c&gt;] (gic_init_irq+0x0/0xd8) from [&lt;c042827c&gt;] (init_IRQ+0x1c/0x24)
[&lt;c0428260&gt;] (init_IRQ+0x0/0x24) from [&lt;c04256c8&gt;] (start_kernel+0x1a4/0x300)
[&lt;c0425524&gt;] (start_kernel+0x0/0x300) from [&lt;70008070&gt;] (0x70008070)
---[ end trace 1b75b31a2719ed1d ]---
------------[ cut here ]------------
WARNING: at /home/rmk/git/linux-rmk/arch/arm/common/gic.c:762 gic_init_bases+0x170/0x2ec()
Modules linked in:
Backtrace:
[&lt;c00185d8&gt;] (dump_backtrace+0x0/0x10c) from [&lt;c03294e8&gt;] (dump_stack+0x18/0x1c) r6:000002fa r5:c042c670 r4:00000000 r3:c045f240
[&lt;c03294d0&gt;] (dump_stack+0x0/0x1c) from [&lt;c00292c8&gt;] (warn_slowpath_common+0x54/0x6c)
[&lt;c0029274&gt;] (warn_slowpath_common+0x0/0x6c) from [&lt;c0029304&gt;] (warn_slowpath_null+0x24/0x2c)
[&lt;c00292e0&gt;] (warn_slowpath_null+0x0/0x2c) from [&lt;c042c670&gt;] (gic_init_bases+0x170/0x2ec)
[&lt;c042c500&gt;] (gic_init_bases+0x0/0x2ec) from [&lt;c042cdc8&gt;] (gic_init_irq+0x8c/0xd8)
[&lt;c042cd3c&gt;] (gic_init_irq+0x0/0xd8) from [&lt;c042827c&gt;] (init_IRQ+0x1c/0x24)
[&lt;c0428260&gt;] (init_IRQ+0x0/0x24) from [&lt;c04256c8&gt;] (start_kernel+0x1a4/0x300)
[&lt;c0425524&gt;] (start_kernel+0x0/0x300) from [&lt;70008070&gt;] (0x70008070)
---[ end trace 1b75b31a2719ed1e ]---

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>
Realview EB with a rev B MPcore tile results in lots of warnings at
boot because it can't allocate enough IRQs.  Fix this by increasing
the number of available IRQs.

WARNING: at /home/rmk/git/linux-rmk/arch/arm/common/gic.c:757 gic_init_bases+0x12c/0x2ec()
Cannot allocate irq_descs @ IRQ96, assuming pre-allocated
Modules linked in:
Backtrace:
[&lt;c00185d8&gt;] (dump_backtrace+0x0/0x10c) from [&lt;c03294e8&gt;] (dump_stack+0x18/0x1c) r6:000002f5 r5:c042c62c r4:c044ff40 r3:c045f240
[&lt;c03294d0&gt;] (dump_stack+0x0/0x1c) from [&lt;c00292c8&gt;] (warn_slowpath_common+0x54/0x6c)
[&lt;c0029274&gt;] (warn_slowpath_common+0x0/0x6c) from [&lt;c0029384&gt;] (warn_slowpath_fmt+0x38/0x40)
[&lt;c002934c&gt;] (warn_slowpath_fmt+0x0/0x40) from [&lt;c042c62c&gt;] (gic_init_bases+0x12c/0x2ec)
[&lt;c042c500&gt;] (gic_init_bases+0x0/0x2ec) from [&lt;c042cdc8&gt;] (gic_init_irq+0x8c/0xd8)
[&lt;c042cd3c&gt;] (gic_init_irq+0x0/0xd8) from [&lt;c042827c&gt;] (init_IRQ+0x1c/0x24)
[&lt;c0428260&gt;] (init_IRQ+0x0/0x24) from [&lt;c04256c8&gt;] (start_kernel+0x1a4/0x300)
[&lt;c0425524&gt;] (start_kernel+0x0/0x300) from [&lt;70008070&gt;] (0x70008070)
---[ end trace 1b75b31a2719ed1c ]---
------------[ cut here ]------------
WARNING: at /home/rmk/git/linux-rmk/kernel/irq/irqdomain.c:234 irq_domain_add_legacy+0x80/0x140()
Modules linked in:
Backtrace:
[&lt;c00185d8&gt;] (dump_backtrace+0x0/0x10c) from [&lt;c03294e8&gt;] (dump_stack+0x18/0x1c) r6:000000ea r5:c0081a38 r4:00000000 r3:c045f240
[&lt;c03294d0&gt;] (dump_stack+0x0/0x1c) from [&lt;c00292c8&gt;] (warn_slowpath_common+0x54/0x6c)
[&lt;c0029274&gt;] (warn_slowpath_common+0x0/0x6c) from [&lt;c0029304&gt;] (warn_slowpath_null+0x24/0x2c)
[&lt;c00292e0&gt;] (warn_slowpath_null+0x0/0x2c) from [&lt;c0081a38&gt;] (irq_domain_add_legacy+0x80/0x140)
[&lt;c00819b8&gt;] (irq_domain_add_legacy+0x0/0x140) from [&lt;c042c64c&gt;] (gic_init_bases+0x14c/0x2ec)
[&lt;c042c500&gt;] (gic_init_bases+0x0/0x2ec) from [&lt;c042cdc8&gt;] (gic_init_irq+0x8c/0xd8)
[&lt;c042cd3c&gt;] (gic_init_irq+0x0/0xd8) from [&lt;c042827c&gt;] (init_IRQ+0x1c/0x24)
[&lt;c0428260&gt;] (init_IRQ+0x0/0x24) from [&lt;c04256c8&gt;] (start_kernel+0x1a4/0x300)
[&lt;c0425524&gt;] (start_kernel+0x0/0x300) from [&lt;70008070&gt;] (0x70008070)
---[ end trace 1b75b31a2719ed1d ]---
------------[ cut here ]------------
WARNING: at /home/rmk/git/linux-rmk/arch/arm/common/gic.c:762 gic_init_bases+0x170/0x2ec()
Modules linked in:
Backtrace:
[&lt;c00185d8&gt;] (dump_backtrace+0x0/0x10c) from [&lt;c03294e8&gt;] (dump_stack+0x18/0x1c) r6:000002fa r5:c042c670 r4:00000000 r3:c045f240
[&lt;c03294d0&gt;] (dump_stack+0x0/0x1c) from [&lt;c00292c8&gt;] (warn_slowpath_common+0x54/0x6c)
[&lt;c0029274&gt;] (warn_slowpath_common+0x0/0x6c) from [&lt;c0029304&gt;] (warn_slowpath_null+0x24/0x2c)
[&lt;c00292e0&gt;] (warn_slowpath_null+0x0/0x2c) from [&lt;c042c670&gt;] (gic_init_bases+0x170/0x2ec)
[&lt;c042c500&gt;] (gic_init_bases+0x0/0x2ec) from [&lt;c042cdc8&gt;] (gic_init_irq+0x8c/0xd8)
[&lt;c042cd3c&gt;] (gic_init_irq+0x0/0xd8) from [&lt;c042827c&gt;] (init_IRQ+0x1c/0x24)
[&lt;c0428260&gt;] (init_IRQ+0x0/0x24) from [&lt;c04256c8&gt;] (start_kernel+0x1a4/0x300)
[&lt;c0425524&gt;] (start_kernel+0x0/0x300) from [&lt;70008070&gt;] (0x70008070)
---[ end trace 1b75b31a2719ed1e ]---

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: GIC: fix GIC cpumask initialization</title>
<updated>2013-02-08T10:17:22+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2013-01-30T23:49:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=2bb3135166abcd59979cfcdd3696ba840b6b9d45'/>
<id>2bb3135166abcd59979cfcdd3696ba840b6b9d45</id>
<content type='text'>
Punit Agrawal reports:
&gt; I was trying to boot 3.8-rc5 on Realview EB 11MPCore using
&gt; realview-smp_defconfig as a starting point but the kernel failed to
&gt; progress past the log below (config attached).
&gt;
&gt; Pawel suggested I try reverting 384a290283f - "ARM: gic: use a private
&gt; mapping for CPU target interfaces" that you've authored. With this
&gt; commit reverted the kernel boots.
&gt;
&gt; I am not quite sure why the commit breaks 11MPCore but Pawel (cc'd)
&gt; might be able to shed light on that.

Some early GIC implementations return zero for the first distributor
CPU routing register.  This means we can't rely on that telling us
which CPU interface we're connected to.  We know that these platforms
implement PPIs for IRQs 29-31 - but we shouldn't assume that these
will always be populated.

So, instead, scan for a non-zero CPU routing register in the first
32 IRQs and use that as our CPU mask.

Reported-by: Punit Agrawal &lt;punit.agrawal@arm.com&gt;
Reviewed-by: Nicolas Pitre &lt;nico@linaro.org&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>
Punit Agrawal reports:
&gt; I was trying to boot 3.8-rc5 on Realview EB 11MPCore using
&gt; realview-smp_defconfig as a starting point but the kernel failed to
&gt; progress past the log below (config attached).
&gt;
&gt; Pawel suggested I try reverting 384a290283f - "ARM: gic: use a private
&gt; mapping for CPU target interfaces" that you've authored. With this
&gt; commit reverted the kernel boots.
&gt;
&gt; I am not quite sure why the commit breaks 11MPCore but Pawel (cc'd)
&gt; might be able to shed light on that.

Some early GIC implementations return zero for the first distributor
CPU routing register.  This means we can't rely on that telling us
which CPU interface we're connected to.  We know that these platforms
implement PPIs for IRQs 29-31 - but we shouldn't assume that these
will always be populated.

So, instead, scan for a non-zero CPU routing register in the first
32 IRQs and use that as our CPU mask.

Reported-by: Punit Agrawal &lt;punit.agrawal@arm.com&gt;
Reviewed-by: Nicolas Pitre &lt;nico@linaro.org&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>pinctrl: exynos: change PINCTRL_EXYNOS option</title>
<updated>2013-02-05T14:27:39+00:00</updated>
<author>
<name>Kukjin Kim</name>
<email>kgene.kim@samsung.com</email>
</author>
<published>2013-01-18T19:35:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=a1ed26703e5e7db1be21177df22558370dc599e6'/>
<id>a1ed26703e5e7db1be21177df22558370dc599e6</id>
<content type='text'>
Since pinctrl-exynos can support exynos4 and exynos5 so changed
the option name to PINCTRL_EXYNOS for more clarity.

Cc: Thomas Abraham &lt;Thomas.abraham@linaro.org&gt;
Cc: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Signed-off-by: Kukjin Kim &lt;kgene.kim@samsung.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since pinctrl-exynos can support exynos4 and exynos5 so changed
the option name to PINCTRL_EXYNOS for more clarity.

Cc: Thomas Abraham &lt;Thomas.abraham@linaro.org&gt;
Cc: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Signed-off-by: Kukjin Kim &lt;kgene.kim@samsung.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm</title>
<updated>2013-01-24T20:44:57+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-01-24T20:44:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=01acd3efd798c225bbbb5e0bac067c8123b77de9'/>
<id>01acd3efd798c225bbbb5e0bac067c8123b77de9</id>
<content type='text'>
Pull ARM fixes from Russell King:
 "A number of fixes:

  Patrik found a problem with preempt counting in the VFP assembly
  functions which can cause the preempt count to be upset.

  Nicolas fixed a problem with the parsing of the DT when it straddles a
  1MB boundary.

  Subhash Jadavani reported a problem with sparsemem and our highmem
  support for cache maintanence for DMA areas, and TI found a bug in
  their strongly ordered memory mapping type.

  Also, three fixes by way of Will Deacon's tree from Dave Martin for
  instruction compatibility and Marc Zyngier to fix hypervisor boot mode
  issues."

* 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
  ARM: 7629/1: mm: Fix missing XN flag for for MT_MEMORY_SO
  ARM: DMA: Fix struct page iterator in dma_cache_maint() to work with sparsemem
  ARM: 7628/1: head.S: map one extra section for the ATAG/DTB area
  ARM: 7627/1: Predicate preempt logic on PREEMP_COUNT not PREEMPT alone
  ARM: virt: simplify __hyp_stub_install epilog
  ARM: virt: boot secondary CPUs through the right entry point
  ARM: virt: Avoid bx instruction for compatibility with &lt;=ARMv4
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull ARM fixes from Russell King:
 "A number of fixes:

  Patrik found a problem with preempt counting in the VFP assembly
  functions which can cause the preempt count to be upset.

  Nicolas fixed a problem with the parsing of the DT when it straddles a
  1MB boundary.

  Subhash Jadavani reported a problem with sparsemem and our highmem
  support for cache maintanence for DMA areas, and TI found a bug in
  their strongly ordered memory mapping type.

  Also, three fixes by way of Will Deacon's tree from Dave Martin for
  instruction compatibility and Marc Zyngier to fix hypervisor boot mode
  issues."

* 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
  ARM: 7629/1: mm: Fix missing XN flag for for MT_MEMORY_SO
  ARM: DMA: Fix struct page iterator in dma_cache_maint() to work with sparsemem
  ARM: 7628/1: head.S: map one extra section for the ATAG/DTB area
  ARM: 7627/1: Predicate preempt logic on PREEMP_COUNT not PREEMPT alone
  ARM: virt: simplify __hyp_stub_install epilog
  ARM: virt: boot secondary CPUs through the right entry point
  ARM: virt: Avoid bx instruction for compatibility with &lt;=ARMv4
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'fixes-for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc</title>
<updated>2013-01-24T20:42:50+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-01-24T20:42:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=1496ec13a1ae92cea305d266ff73f850138f92c7'/>
<id>1496ec13a1ae92cea305d266ff73f850138f92c7</id>
<content type='text'>
Pull ARM SoC fixes from Olof Johansson:
 "Here's a long-pending fixes pull request for arm-soc (I didn't send
  one in the -rc4 cycle).

  The larger deltas are from:

   - A fixup of error paths in the mvsdio driver

   - Header file move for a driver that hadn't been properly converted
     to multiplatform on i.MX, which was causing build failures when
     included

   - Device tree updates for at91 dealing mostly with their new pinctrl
     setup merged in 3.8 and mistakes in those initial configs

  The rest are the normal mix of small fixes all over the place; sunxi,
  omap, imx, mvebu, etc, etc."

* tag 'fixes-for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (40 commits)
  mfd: vexpress-sysreg: Don't skip initialization on probe
  ARM: vexpress: Enable A7 cores in V2P-CA15_A7's Device Tree
  ARM: vexpress: extend the MPIDR range used for pen release check
  ARM: at91/dts: correct comment in at91sam9x5.dtsi for mii
  ARM: at91/at91_dt_defconfig: add at91sam9n12 SoC to DT defconfig
  ARM: at91/at91_dt_defconfig: remove memory specification to cmdline
  ARM: at91/dts: add macb mii pinctrl config for kizbox
  ARM: at91: rm9200: remake the BGA as default version
  ARM: at91: fix gpios on i2c-gpio for RM9200 DT
  ARM: at91/at91sam9x5 DTS: add SCK USART pins
  ARM: at91/at91sam9x5 DTS: correct wrong PIO BANK values on u(s)arts
  ARM: at91/at91-pinctrl documentation: fix typo and add some details
  ARM: kirkwood: fix missing #interrupt-cells property
  mmc: mvsdio: use devm_ API to simplify/correct error paths.
  clk: mvebu/clk-cpu.c: fix memory leakage
  ARM: OMAP2+: omap4-panda: add UART2 muxing for WiLink shared transport
  ARM: OMAP2+: DT node Timer iteration fix
  ARM: OMAP2+: Fix section warning for omap_init_ocp2scp()
  ARM: OMAP2+: fix build break for omapdrm
  ARM: OMAP2: Fix missing omap2xxx_clkt_vps_late_init function calls
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull ARM SoC fixes from Olof Johansson:
 "Here's a long-pending fixes pull request for arm-soc (I didn't send
  one in the -rc4 cycle).

  The larger deltas are from:

   - A fixup of error paths in the mvsdio driver

   - Header file move for a driver that hadn't been properly converted
     to multiplatform on i.MX, which was causing build failures when
     included

   - Device tree updates for at91 dealing mostly with their new pinctrl
     setup merged in 3.8 and mistakes in those initial configs

  The rest are the normal mix of small fixes all over the place; sunxi,
  omap, imx, mvebu, etc, etc."

* tag 'fixes-for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (40 commits)
  mfd: vexpress-sysreg: Don't skip initialization on probe
  ARM: vexpress: Enable A7 cores in V2P-CA15_A7's Device Tree
  ARM: vexpress: extend the MPIDR range used for pen release check
  ARM: at91/dts: correct comment in at91sam9x5.dtsi for mii
  ARM: at91/at91_dt_defconfig: add at91sam9n12 SoC to DT defconfig
  ARM: at91/at91_dt_defconfig: remove memory specification to cmdline
  ARM: at91/dts: add macb mii pinctrl config for kizbox
  ARM: at91: rm9200: remake the BGA as default version
  ARM: at91: fix gpios on i2c-gpio for RM9200 DT
  ARM: at91/at91sam9x5 DTS: add SCK USART pins
  ARM: at91/at91sam9x5 DTS: correct wrong PIO BANK values on u(s)arts
  ARM: at91/at91-pinctrl documentation: fix typo and add some details
  ARM: kirkwood: fix missing #interrupt-cells property
  mmc: mvsdio: use devm_ API to simplify/correct error paths.
  clk: mvebu/clk-cpu.c: fix memory leakage
  ARM: OMAP2+: omap4-panda: add UART2 muxing for WiLink shared transport
  ARM: OMAP2+: DT node Timer iteration fix
  ARM: OMAP2+: Fix section warning for omap_init_ocp2scp()
  ARM: OMAP2+: fix build break for omapdrm
  ARM: OMAP2: Fix missing omap2xxx_clkt_vps_late_init function calls
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'vexpress/fixes' of git://git.linaro.org/people/pawelmoll/linux into fixes</title>
<updated>2013-01-24T16:12:24+00:00</updated>
<author>
<name>Olof Johansson</name>
<email>olof@lixom.net</email>
</author>
<published>2013-01-24T16:12:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=3836414f45b01486b9b50c627a329010573ad0f4'/>
<id>3836414f45b01486b9b50c627a329010573ad0f4</id>
<content type='text'>
From Pawel Moll:
- makes the V2P-CA15_A7 (a.k.a. TC2) work with 3.8 kernels
- improves vexpress-sysreg.c behaviour on arm64 platforms

* 'vexpress/fixes' of git://git.linaro.org/people/pawelmoll/linux:
  mfd: vexpress-sysreg: Don't skip initialization on probe
  ARM: vexpress: Enable A7 cores in V2P-CA15_A7's Device Tree
  ARM: vexpress: extend the MPIDR range used for pen release check
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
From Pawel Moll:
- makes the V2P-CA15_A7 (a.k.a. TC2) work with 3.8 kernels
- improves vexpress-sysreg.c behaviour on arm64 platforms

* 'vexpress/fixes' of git://git.linaro.org/people/pawelmoll/linux:
  mfd: vexpress-sysreg: Don't skip initialization on probe
  ARM: vexpress: Enable A7 cores in V2P-CA15_A7's Device Tree
  ARM: vexpress: extend the MPIDR range used for pen release check
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'at91-fixes' of git://github.com/at91linux/linux-at91 into fixes</title>
<updated>2013-01-24T15:49:49+00:00</updated>
<author>
<name>Olof Johansson</name>
<email>olof@lixom.net</email>
</author>
<published>2013-01-24T15:49:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=60fd8e35e32087eed200bea99be037b5f75a016e'/>
<id>60fd8e35e32087eed200bea99be037b5f75a016e</id>
<content type='text'>
From Nicolas Ferre:
Here are fixes for AT91 that are mainly related to device tree.
One RM9200 setup option is the only C code change.
Some documentation changes can clarify the pinctrl use.
Then, some defconfig modifications are allowing the affected platforms
to boot.

* tag 'at91-fixes' of git://github.com/at91linux/linux-at91:
  ARM: at91/dts: correct comment in at91sam9x5.dtsi for mii
  ARM: at91/at91_dt_defconfig: add at91sam9n12 SoC to DT defconfig
  ARM: at91/at91_dt_defconfig: remove memory specification to cmdline
  ARM: at91/dts: add macb mii pinctrl config for kizbox
  ARM: at91: rm9200: remake the BGA as default version
  ARM: at91: fix gpios on i2c-gpio for RM9200 DT
  ARM: at91/at91sam9x5 DTS: add SCK USART pins
  ARM: at91/at91sam9x5 DTS: correct wrong PIO BANK values on u(s)arts
  ARM: at91/at91-pinctrl documentation: fix typo and add some details
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
From Nicolas Ferre:
Here are fixes for AT91 that are mainly related to device tree.
One RM9200 setup option is the only C code change.
Some documentation changes can clarify the pinctrl use.
Then, some defconfig modifications are allowing the affected platforms
to boot.

* tag 'at91-fixes' of git://github.com/at91linux/linux-at91:
  ARM: at91/dts: correct comment in at91sam9x5.dtsi for mii
  ARM: at91/at91_dt_defconfig: add at91sam9n12 SoC to DT defconfig
  ARM: at91/at91_dt_defconfig: remove memory specification to cmdline
  ARM: at91/dts: add macb mii pinctrl config for kizbox
  ARM: at91: rm9200: remake the BGA as default version
  ARM: at91: fix gpios on i2c-gpio for RM9200 DT
  ARM: at91/at91sam9x5 DTS: add SCK USART pins
  ARM: at91/at91sam9x5 DTS: correct wrong PIO BANK values on u(s)arts
  ARM: at91/at91-pinctrl documentation: fix typo and add some details
</pre>
</div>
</content>
</entry>
</feed>
