]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
12 years agoMerge remote-tracking branch 'tegra/for-next'
Stephen Rothwell [Tue, 8 Nov 2011 23:38:34 +0000 (10:38 +1100)]
Merge remote-tracking branch 'tegra/for-next'

12 years agoMerge remote-tracking branch 's5p/for-next'
Stephen Rothwell [Tue, 8 Nov 2011 23:37:19 +0000 (10:37 +1100)]
Merge remote-tracking branch 's5p/for-next'

12 years agoMerge remote-tracking branch 'i.MX/for-next'
Stephen Rothwell [Tue, 8 Nov 2011 23:35:57 +0000 (10:35 +1100)]
Merge remote-tracking branch 'i.MX/for-next'

Conflicts:
arch/arm/mach-mx5/clock-mx51-mx53.c
arch/arm/mach-mx5/devices-imx53.h
arch/arm/mach-mx5/mm.c
arch/arm/plat-mxc/include/mach/hardware.h

12 years agoMerge remote-tracking branch 'at91/at91-next'
Stephen Rothwell [Tue, 8 Nov 2011 23:34:28 +0000 (10:34 +1100)]
Merge remote-tracking branch 'at91/at91-next'

Conflicts:
arch/arm/mach-at91/at91sam9260.c
arch/arm/mach-at91/at91sam9g45.c
arch/arm/mach-at91/board-afeb-9260v1.c
arch/arm/mach-at91/board-neocore926.c
arch/arm/mach-at91/board-rm9200dk.c
arch/arm/mach-at91/board-sam9g20ek.c
arch/arm/mach-at91/board-sam9m10g45ek.c
drivers/ata/pata_at91.c

12 years agoMerge remote-tracking branch 'arm-lpae/for-next'
Stephen Rothwell [Tue, 8 Nov 2011 23:33:01 +0000 (10:33 +1100)]
Merge remote-tracking branch 'arm-lpae/for-next'

12 years agoMerge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Tue, 8 Nov 2011 23:31:48 +0000 (10:31 +1100)]
Merge remote-tracking branch 'arm/for-next'

12 years agoMerge remote-tracking branch 'ide/master'
Stephen Rothwell [Tue, 8 Nov 2011 23:27:46 +0000 (10:27 +1100)]
Merge remote-tracking branch 'ide/master'

12 years agoMerge remote-tracking branch 'crypto-current/master'
Stephen Rothwell [Tue, 8 Nov 2011 23:27:40 +0000 (10:27 +1100)]
Merge remote-tracking branch 'crypto-current/master'

12 years agoMerge remote-tracking branch 'md-current/for-linus'
Stephen Rothwell [Tue, 8 Nov 2011 23:27:31 +0000 (10:27 +1100)]
Merge remote-tracking branch 'md-current/for-linus'

12 years agoMerge remote-tracking branch 'input-current/for-linus'
Stephen Rothwell [Tue, 8 Nov 2011 23:27:25 +0000 (10:27 +1100)]
Merge remote-tracking branch 'input-current/for-linus'

12 years agoMerge remote-tracking branch 'wireless/master'
Stephen Rothwell [Tue, 8 Nov 2011 23:27:22 +0000 (10:27 +1100)]
Merge remote-tracking branch 'wireless/master'

12 years agoMerge remote-tracking branch 'pci-current/for-linus'
Stephen Rothwell [Tue, 8 Nov 2011 23:27:20 +0000 (10:27 +1100)]
Merge remote-tracking branch 'pci-current/for-linus'

12 years agoMerge remote-tracking branch 'sound-current/for-linus'
Stephen Rothwell [Tue, 8 Nov 2011 23:27:19 +0000 (10:27 +1100)]
Merge remote-tracking branch 'sound-current/for-linus'

12 years agoMerge remote-tracking branch 'net/master'
Stephen Rothwell [Tue, 8 Nov 2011 23:27:19 +0000 (10:27 +1100)]
Merge remote-tracking branch 'net/master'

12 years agoMerge remote-tracking branch 'powerpc-merge/merge'
Stephen Rothwell [Tue, 8 Nov 2011 23:27:16 +0000 (10:27 +1100)]
Merge remote-tracking branch 'powerpc-merge/merge'

12 years agoMerge remote-tracking branch 'm68k-current/for-linus'
Stephen Rothwell [Tue, 8 Nov 2011 23:27:15 +0000 (10:27 +1100)]
Merge remote-tracking branch 'm68k-current/for-linus'

12 years agoMerge remote-tracking branch 'arm-current/fixes'
Stephen Rothwell [Tue, 8 Nov 2011 23:27:15 +0000 (10:27 +1100)]
Merge remote-tracking branch 'arm-current/fixes'

12 years agoMerge branch 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Linus Torvalds [Tue, 8 Nov 2011 22:24:18 +0000 (14:24 -0800)]
Merge branch 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

* 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  PM / OPP: Use ERR_CAST instead of ERR_PTR(PTR_ERR())
  PM / devfreq: fix private_data
  Documentation: Fix typo in freezer-subsystem.txt
  PM / QoS: Set cpu_dma_pm_qos->name

12 years agom68k/mac: Remove mac_irq_{en,dis}able() wrappers
Finn Thain [Sun, 11 Sep 2011 13:40:50 +0000 (23:40 +1000)]
m68k/mac: Remove mac_irq_{en,dis}able() wrappers

Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
12 years agom68k/irq: Remove obsolete support for user vector interrupt fixups
Geert Uytterhoeven [Sun, 11 Sep 2011 09:54:50 +0000 (11:54 +0200)]
m68k/irq: Remove obsolete support for user vector interrupt fixups

It was used on Apollo only, before its conversion to genirq.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
12 years agom68k/irq: Remove obsolete m68k irq framework
Geert Uytterhoeven [Sun, 11 Sep 2011 09:28:04 +0000 (11:28 +0200)]
m68k/irq: Remove obsolete m68k irq framework

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
12 years agom68k/q40: Convert Q40/Q60 to genirq
Geert Uytterhoeven [Thu, 18 Aug 2011 12:47:16 +0000 (14:47 +0200)]
m68k/q40: Convert Q40/Q60 to genirq

q40_irq_handler() must be kept to translate ISA IRQs to the range 1-15.
q40_probe_irq_o{ff,n}() become unused.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Richard Zidlicky <rz@linux-m68k.org>
12 years agom68k/sun3: Convert Sun3/3x to genirq
Geert Uytterhoeven [Thu, 18 Aug 2011 12:46:46 +0000 (14:46 +0200)]
m68k/sun3: Convert Sun3/3x to genirq

Replace the custom irq handler that masks the irq and calls do_IRQ(), and
the unmasking in the individual handlers, by handle_level_irq().

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Sam Creasey <sammy@sammy.net>
12 years agom68k/sun3: Use the kstat_irqs_cpu() wrapper
Geert Uytterhoeven [Thu, 18 Aug 2011 20:46:01 +0000 (22:46 +0200)]
m68k/sun3: Use the kstat_irqs_cpu() wrapper

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Sam Creasey <sammy@sammy.net>
12 years agom68k/apollo: Convert Apollo to genirq
Geert Uytterhoeven [Thu, 18 Aug 2011 12:45:57 +0000 (14:45 +0200)]
m68k/apollo: Convert Apollo to genirq

Replace the custom user vector interrupt handler that calls do_IRQ() and
does an EOI by handle_fasteoi_irq().

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Peter De Schrijver <p2@debian.org>
12 years agom68k/vme: Convert VME to genirq
Geert Uytterhoeven [Sat, 13 Aug 2011 19:11:00 +0000 (21:11 +0200)]
m68k/vme: Convert VME to genirq

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Richard Hirst <rhirst@parisc-linux.org>
12 years agom68k/hp300: Convert HP9000/300 and HP9000/400 to genirq
Geert Uytterhoeven [Sat, 13 Aug 2011 19:02:22 +0000 (21:02 +0200)]
m68k/hp300: Convert HP9000/300 and HP9000/400 to genirq

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Philip Blundell <philb@gnu.org>
12 years agom68k/mac: Optimize interrupts using chain handlers
Geert Uytterhoeven [Wed, 10 Aug 2011 10:48:29 +0000 (12:48 +0200)]
m68k/mac: Optimize interrupts using chain handlers

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
12 years agom68k/mac: Convert Mac to genirq
Geert Uytterhoeven [Wed, 13 Jul 2011 19:48:30 +0000 (21:48 +0200)]
m68k/mac: Convert Mac to genirq

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
12 years agom68k/amiga: Optimize interrupts using chain handlers
Geert Uytterhoeven [Wed, 1 Jun 2011 09:49:18 +0000 (11:49 +0200)]
m68k/amiga: Optimize interrupts using chain handlers

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
12 years agom68k/amiga: Convert Amiga to genirq
Geert Uytterhoeven [Tue, 31 May 2011 20:08:28 +0000 (22:08 +0200)]
m68k/amiga: Convert Amiga to genirq

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
12 years agom68k/amiga: Refactor amiints.c
Geert Uytterhoeven [Tue, 31 May 2011 09:11:01 +0000 (11:11 +0200)]
m68k/amiga: Refactor amiints.c

  - Remove filename in comments,
  - Reorder functions so we no longer need forward declarations.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
12 years agom68k/atari: Remove code and comments about different irq types
Geert Uytterhoeven [Thu, 18 Aug 2011 17:36:30 +0000 (19:36 +0200)]
m68k/atari: Remove code and comments about different irq types

This code was obsoleted during the irq restructuring in 2006.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
12 years agom68k/atari: Convert Atari to genirq
Geert Uytterhoeven [Fri, 29 Apr 2011 21:35:21 +0000 (23:35 +0200)]
m68k/atari: Convert Atari to genirq

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
[v1] Acked-by: Thomas Gleixner <tglx@linutronix.de>

12 years agom68k/irq: Add genirq support
Geert Uytterhoeven [Thu, 21 Apr 2011 20:50:52 +0000 (22:50 +0200)]
m68k/irq: Add genirq support

Disabled on all platforms for now

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
[v1] Acked-by: Thomas Gleixner <tglx@linutronix.de>

12 years agom68k/irq: Remove obsolete IRQ_FLG_* users
Geert Uytterhoeven [Wed, 13 Jul 2011 20:33:13 +0000 (22:33 +0200)]
m68k/irq: Remove obsolete IRQ_FLG_* users

The m68k core irq code stopped honoring these flags during the irq
restructuring in 2006.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
12 years agom68k/irq: Rename {,__}m68k_handle_int()
Geert Uytterhoeven [Fri, 1 Jul 2011 18:39:19 +0000 (20:39 +0200)]
m68k/irq: Rename {,__}m68k_handle_int()

  - Rename m68k_handle_int() to generic_handle_irq(), and drop the unneeded
    asmlinkage,
  - Rename __m68k_handle_int() to do_IRQ().

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
12 years agom68k/irq: Add m68k_setup_irq_controller()
Geert Uytterhoeven [Wed, 1 Jun 2011 09:15:21 +0000 (11:15 +0200)]
m68k/irq: Add m68k_setup_irq_controller()

This is a wrapper around m68k_setup_irq_chip() that discards its dummy
second parameter, to ease the future transition to genirq.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
12 years agom68k/irq: Extract irq_set_chip()
Geert Uytterhoeven [Fri, 27 May 2011 20:33:41 +0000 (22:33 +0200)]
m68k/irq: Extract irq_set_chip()

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
12 years agom68k/irq: Rename setup_irq() to m68k_setup_irq() and make it static
Geert Uytterhoeven [Tue, 19 Apr 2011 18:10:53 +0000 (20:10 +0200)]
m68k/irq: Rename setup_irq() to m68k_setup_irq() and make it static

It has nothing to do with the standard one in <linux/irq.h>

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
12 years agom68k/irq: Switch irq_chip methods to "struct irq_data *data"
Geert Uytterhoeven [Sun, 17 Apr 2011 20:53:04 +0000 (22:53 +0200)]
m68k/irq: Switch irq_chip methods to "struct irq_data *data"

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
12 years agom68k/irq: Rename irq_node to irq_data
Geert Uytterhoeven [Sun, 17 Apr 2011 19:59:23 +0000 (21:59 +0200)]
m68k/irq: Rename irq_node to irq_data

Make it more similar to the genirq version:
  - Add an irq field

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
12 years agom68k/irq: Kill irq_node_t typedef, always use struct irq_node
Geert Uytterhoeven [Sun, 17 Apr 2011 19:39:08 +0000 (21:39 +0200)]
m68k/irq: Kill irq_node_t typedef, always use struct irq_node

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
12 years agom68k/irq: Rename irq_controller to irq_chip
Geert Uytterhoeven [Wed, 13 Apr 2011 20:31:28 +0000 (22:31 +0200)]
m68k/irq: Rename irq_controller to irq_chip

Make it more similar to the genirq version:
  - Remove lock (unused as we don't do SMP anyway),
  - Prepend methods with irq_,
  - Make irq_startup() return unsigned int.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
12 years agoide-{cd,floppy,tape}: Do not include <linux/irq.h>
Geert Uytterhoeven [Wed, 25 May 2011 19:40:59 +0000 (21:40 +0200)]
ide-{cd,floppy,tape}: Do not include <linux/irq.h>

The top of <linux/irq.h> has this comment:

 * Please do not include this file in generic code.  There is currently
 * no requirement for any architecture to implement anything held
 * within this file.
 *
 * Thanks. --rmk

Remove inclusion of <linux/irq.h>, to prevent the following compile error
from happening soon:

| include/linux/irq.h:132: error: redefinition of ‘struct irq_data’
| include/linux/irq.h:286: error: redefinition of ‘struct irq_chip’

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Borislav Petkov <bp@alien8.de>
Cc: linux-ide@vger.kernel.org
12 years agom68k: Revive lost DIO bus config option
Geert Uytterhoeven [Fri, 28 Oct 2011 20:37:21 +0000 (22:37 +0200)]
m68k: Revive lost DIO bus config option

commit 0e152d80507b75c00aac60f2ffc586360687cd52 ("m68k: reorganize Kconfig
options to improve mmu/non-mmu selections") accidentally dropped the DIO
bus config option. Re-add it to the "Bus support" section.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
12 years agom68k: Revive lost ARAnyM config options
Geert Uytterhoeven [Tue, 25 Oct 2011 19:14:10 +0000 (21:14 +0200)]
m68k: Revive lost ARAnyM config options

commit 0e152d80507b75c00aac60f2ffc586360687cd52 ("m68k: reorganize Kconfig
options to improve mmu/non-mmu selections") accidentally dropped the ARAnyM
config options. Re-add them to the "Platform devices" section.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Greg Ungerer <gerg@uclinux.org>
12 years agoPM / OPP: Use ERR_CAST instead of ERR_PTR(PTR_ERR())
Thomas Meyer [Tue, 8 Nov 2011 21:34:00 +0000 (22:34 +0100)]
PM / OPP: Use ERR_CAST instead of ERR_PTR(PTR_ERR())

Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(...))

[The semantic patch that makes this change is available
 in scripts/coccinelle/api/err_cast.cocci.

 More information about semantic patching is available at
 http://coccinelle.lip6.fr/]

Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
12 years agoMerge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock
Linus Torvalds [Tue, 8 Nov 2011 20:50:54 +0000 (12:50 -0800)]
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock

* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/hwspinlock:
  hwspinlock/u8500: fix build error due to undefined label
  hwspinlock: Don't return a value in __hwspin_unlock

12 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
Linus Torvalds [Tue, 8 Nov 2011 20:50:02 +0000 (12:50 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
  sparc: Hook up process_vm_{readv,writev} syscalls.

12 years agox86 platform drivers: add POWER_SUPPLY to selected drivers for Dell
Linus Torvalds [Tue, 8 Nov 2011 20:49:29 +0000 (12:49 -0800)]
x86 platform drivers: add POWER_SUPPLY to selected drivers for Dell

The Kconfig loop detection goes crazy without this.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agox86 platform drivers: make Dell laptop driver select needed LED support
Linus Torvalds [Tue, 8 Nov 2011 20:17:25 +0000 (12:17 -0800)]
x86 platform drivers: make Dell laptop driver select needed LED support

Otherwise we get compile errors like this:

  ERROR: "led_classdev_unregister" [drivers/platform/x86/dell-laptop.ko] undefined!
  ERROR: "led_classdev_register" [drivers/platform/x86/dell-laptop.ko] undefined!
  make[1]: *** [__modpost] Error 1
  make: *** [modules] Error 2

when the dell-laptop support is enabled without the necessary LED
support being enabled.

Reported-by: Alessandro Suardi <alessandro.suardi@gmail.com>
Acked-by: Matthew Garrett <mjg59@srcf.ucam.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agowl12xx: fix wl12xx_scan_sched_scan_ssid_list() check that all given ssids are in...
Eyal Shapira [Tue, 8 Nov 2011 13:54:46 +0000 (15:54 +0200)]
wl12xx: fix wl12xx_scan_sched_scan_ssid_list() check that all given ssids are in filters

A minor fix for the check that verifies that all given SSIDs (in req) exist
in the filters (the match sets)

Signed-off-by: Eyal Shapira <eyal@wizery.com>
Acked-by: Luciano Coelho <coelho@ti.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath: Fix NULL ptr dereference in ath_reg_apply_world_flags
Helmut Schaa [Tue, 8 Nov 2011 13:01:13 +0000 (14:01 +0100)]
ath: Fix NULL ptr dereference in ath_reg_apply_world_flags

This happens with devices using a regulatory domain 0x68 that are only
5Ghz capable because ath_reg_apply_active_scan_flags assumes that we
always have a 2,4Ghz band.

CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc == 82cd838c, ra == 82cd8384
Oops[#1]:
Cpu 0
$ 0 : 00000000 00000061 00000003 00000024
$ 4 : 00000003 000016c1 82f900ac 00000024
$ 8 : 00000000 82cda304 0058bad8 00000005
$12 : 005908f8 001e8481 00000003 1dcd6500
$16 : 00000002 00000000 82c700c0 82c700c0
$20 : 82d415e4 82c70d64 82c70200 82c715bc
$24 : 00000000 11e1a300
$28 : 82ce2000 82ce3c70 82c715a8 82cd8384
Hi : 00000000
Lo : 0000001e
epc : 82cd838c ath_reg_apply_world_flags+0x78/0x17c [ath]
Not tainted
ra : 82cd8384 ath_reg_apply_world_flags+0x70/0x17c [ath]
Status: 1000d403 KERNEL EXL IE
Cause : 80800008
BadVA : 00000000
PrId : 00019374 (MIPS 24Kc)
Modules linked in: ath9k(+) ath9k_common ath9k_hw ath mac80211 cfg80211
compat_firmware_class compat arc4 aes_generic deflate ecb cbc
leds_gpio button_hotplug gpio_buttons input_polldev ie
Process insmod (pid: 464, threadinfo=82ce2000, task=838b31d8, tls=00000000)
Stack : 00000000 00000002 82f900ac 82c700c0 82d415e4 82c70d64 00000000 00000068
82f900ac 82cd88f4 82c700c0 82cda304 00000001 000020f0 82f90000 82c70d40
00000002 82f90000 82f900ac 82d4207c 82d518a0 00000002 7fee6118 8017c0d8
00000008 8397ba00 82c70d40 00000000 82c70200 83813000 83813058 b0010000
82d518a0 00000002 7fee6118 82d4b8c8 83445cc0 80120dc0 83804000 800eeda0
...
Call Trace:
[<82cd838c>] ath_reg_apply_world_flags+0x78/0x17c [ath]
[<82cd88f4>] ath_regd_init+0x464/0x488 [ath]
[<82d4207c>] ath9k_init_device+0x6a4/0x6b4 [ath9k]
[<82d4b8c8>] ath_pci_probe+0x27c/0x358 [ath9k]
[<80181de0>] pci_device_probe+0x64/0xa4
[<8019e874>] driver_probe_device+0xb8/0x190
[<8019e9b8>] __driver_attach+0x6c/0xa4
[<8019dfc0>] bus_for_each_dev+0x60/0xb0
[<8019d744>] bus_add_driver+0xc4/0x25c
[<8019ed6c>] driver_register+0xe0/0x198
[<8018206c>] __pci_register_driver+0x50/0xe0
[<82dd0010>] ath9k_init+0x10/0x54 [ath9k]
[<8006b4a0>] do_one_initcall+0x68/0x1ec
[<800a901c>] sys_init_module+0xec/0x23c
[<80062544>] stack_done+0x20/0x3c

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agocfg80211: fix missing kernel-doc
Johannes Berg [Tue, 8 Nov 2011 08:20:07 +0000 (09:20 +0100)]
cfg80211: fix missing kernel-doc

Two new struct members were not documented, fix that.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth
John W. Linville [Tue, 8 Nov 2011 19:59:14 +0000 (14:59 -0500)]
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth

12 years agoipv4: Fix inetpeer expire time information
Steffen Klassert [Tue, 11 Oct 2011 01:12:02 +0000 (01:12 +0000)]
ipv4: Fix inetpeer expire time information

As we update the learned pmtu informations on demand, we might
report a nagative expiration time value to userspace if the
pmtu informations are already expired and we have not send a
packet to that inetpeer after expiration. With this patch we
send a expire time of null to userspace after expiration
until the next packet is send to that inetpeer.

Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonet: min_pmtu default is 552
Eric Dumazet [Tue, 8 Nov 2011 19:21:44 +0000 (14:21 -0500)]
net: min_pmtu default is 552

Small fix in Documentation, since min_pmtu is 512 + 20 + 20 = 552

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agotcp: Fix comments for Nagle algorithm
Feng King [Sat, 5 Nov 2011 04:23:23 +0000 (04:23 +0000)]
tcp: Fix comments for Nagle algorithm

TCP_NODELAY is weaker than TCP_CORK, when TCP_CORK was set, small
segments will always pass Nagle test regardless of TCP_NODELAY option.

Signed-off-by: Feng King <kinwin2008@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosunhme: Allow usage on SBI based SBus systems
oftedal [Mon, 7 Nov 2011 11:47:53 +0000 (11:47 +0000)]
sunhme: Allow usage on SBI based SBus systems

To prevent the SBus driver for Sun Happy Meal cards from being loaded for
PCI cards utilizing the same chipset, a filter was added to the probe
function in commit 0b492fce3d72d982a7981905f85484a1e1ba7fde.

The filter was implemented by checking the name of the parent node in
the OF tree. This patch extends this filter, so that the driver will
load on SBus systems that are based upon SBI SBus Bridges.

Signed-off-by: Kjetil Oftedal <oftedal@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agol2tp: fix l2tp_udp_recv_core()
Eric Dumazet [Tue, 8 Nov 2011 18:59:44 +0000 (13:59 -0500)]
l2tp: fix l2tp_udp_recv_core()

pskb_may_pull() can change skb->data, so we have to load ptr/optr at the
right place.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoMerge branches 'fixes' and 'misc' into for-next
Russell King [Tue, 8 Nov 2011 18:25:31 +0000 (18:25 +0000)]
Merge branches 'fixes' and 'misc' into for-next

12 years agoARM: 7152/1: distclean: Remove generated .dtb files
Dirk B [Tue, 8 Nov 2011 17:16:39 +0000 (18:16 +0100)]
ARM: 7152/1: distclean: Remove generated .dtb files

The patch 'arm/dt: Add dtb make rule' adds support to
create a .dtb file. But this is never removed afterwards.
Remove the generated .dtb file if 'distclean' is called.

Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Cc: Shawn Guo <shawn.guo@freescale.com>
Cc: Jason Liu <jason.hui@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: 7150/1: Allow kernel unaligned accesses on ARMv6+ processors
Catalin Marinas [Mon, 7 Nov 2011 17:05:53 +0000 (18:05 +0100)]
ARM: 7150/1: Allow kernel unaligned accesses on ARMv6+ processors

Recent gcc versions generate unaligned accesses by default on ARMv6 and
later processors. This patch ensures that the SCTLR.A bit is always
cleared on such processors to avoid kernel traping before
alignment_init() is called.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: John Linn <John.Linn@xilinx.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Cc: stable@vger.kernel.org
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: 7149/1: spi/pl022: Enable clock in probe
Ulf Hansson [Fri, 4 Nov 2011 07:10:09 +0000 (08:10 +0100)]
ARM: 7149/1: spi/pl022: Enable clock in probe

Make sure we enable the clock before leaving probe.

Signed-off-by: Ulf Hansson <ulf.hansson@stericsson.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agon_gsm: Fix timings
Alan Cox [Tue, 8 Nov 2011 18:02:10 +0000 (18:02 +0000)]
n_gsm: Fix timings

Alek Du reported that the code erroneously applies time to jiffies
conversions twice to the t1 and t2 values. In normal use on a modem link
this cases no visible problem but on a slower link it will break as with
HZ=1000 as is typical we are running t1/t2 ten times too fast.

Alek's original patch removed the conversion from the timer setting but we
in fact have to be more careful as the contents of t1/t2 are visible via
the device API and we thus need to correct the constants.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agoFix incorrect usage of NET_IP_ALIGN
Nico Erfurth [Tue, 8 Nov 2011 07:30:40 +0000 (07:30 +0000)]
Fix incorrect usage of NET_IP_ALIGN

The driver used NET_IP_ALIGN to remove some additional padding inside of
the rx_fixup function. On many architectures NET_IP_ALIGN defaults to 2
which removed the correct amount of bytes.

On MCORE2-machines commit ea812ca1b06113597adcd8e70c0f84a413d97544
introduces a change which sets NET_IP_ALIGN to 0 by default. Which
triggered the bug on these machines.

This fix introduces a new RXW_PADDING define and uses this instead of
NET_IP_ALIGN. The name was taken from the original SMSC7500 driver which
is provided by SMSC.

Signed-off-by: Nico Erfurth <ne@erfurth.eu>
Tested-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoipv6: drop packets when source address is multicast
Brian Haley [Tue, 8 Nov 2011 04:41:42 +0000 (04:41 +0000)]
ipv6: drop packets when source address is multicast

RFC 4291 Section 2.7 says Multicast addresses must not be used as source
addresses in IPv6 packets - drop them on input so we don't process the
packet further.

Signed-off-by: Brian Haley <brian.haley@hp.com>
Reported-and-Tested-by: Kumar Sanghvi <divinekumar@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agor8169: increase the delay parameter of pm_schedule_suspend
hayeswang [Mon, 7 Nov 2011 20:44:37 +0000 (20:44 +0000)]
r8169: increase the delay parameter of pm_schedule_suspend

The link down would occur when reseting PHY. And it would take about 2 ~ 5 seconds
from link down to link up. If the delay of pm_schedule_suspend is not long enough,
the device would enter runtime_suspend before link up. After link up, the device
would wake up and reset PHY again. Then, you would find the driver keep in a loop
of runtime_suspend and rumtime_resume.

Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Acked-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoALSA: usb-audio - Fix the missing volume quirks at delayed init
Takashi Iwai [Tue, 8 Nov 2011 16:50:27 +0000 (17:50 +0100)]
ALSA: usb-audio - Fix the missing volume quirks at delayed init

In the recent usb-audio driver, the initialization of volume ranges
may be delayed when the device doesn't respond well at the probing time.
But the volume quirks for certain devices are applied only in
mixer_ctl_feature_info() thus only at the very first probe and will be
missing when the volume range is initialized later.

This patch moves the volume quirk code to be always called from the
volume-range extraction (get_min_max()), so that the quirks are properly
applied in the later init time.

Reported-and-tested-by: Alexey Fisher <bug-track@fisher-privat.net>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoBluetooth: Add support for Broadcom BCM20702A0
Wen-chien Jesse Sung [Tue, 8 Nov 2011 06:30:22 +0000 (14:30 +0800)]
Bluetooth: Add support for Broadcom BCM20702A0

Since this device declares itself as vendor specific, must add
a new entry to device ID table to support it.

usb-device output of this device:

T:  Bus=01 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#=  3 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=413c ProdID=8197 Rev=01.12
S:  Manufacturer=Broadcom Corp
S:  Product=BCM20702A0
S:  SerialNumber=D0DF9AA9C9F1
C:  #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I:  If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)

Signed-off-by: Wen-chien Jesse Sung <jesse.sung@canonical.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
12 years agoARM: Update mach-types
Russell King [Tue, 8 Nov 2011 13:37:58 +0000 (13:37 +0000)]
ARM: Update mach-types

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoARM: 7140/1: remove NR_IRQS dependency for ARM-specific HARDIRQ_BITS definition
Kevin Hilman [Tue, 25 Oct 2011 11:42:33 +0000 (12:42 +0100)]
ARM: 7140/1: remove NR_IRQS dependency for ARM-specific HARDIRQ_BITS definition

As a first step towards removing NR_IRQS, remove the ARM customization
of HARDIRQ_BITS based on NR_IRQS.

The generic code in <linux/hardirq.h> already has a default value of
10 for HARDIRQ_BITS which is the max used on ARM, so let's just remove
the NR_IRQS based customization and use the generic default.

Signed-off-by: Kevin Hilman <khilman@ti.com>
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
12 years agoMerge branch 'next-samsung-devel' into for-next
Kukjin Kim [Tue, 8 Nov 2011 11:25:52 +0000 (20:25 +0900)]
Merge branch 'next-samsung-devel' into for-next

12 years agoMerge branch 'next-samsung-dt' into for-next
Kukjin Kim [Tue, 8 Nov 2011 11:25:44 +0000 (20:25 +0900)]
Merge branch 'next-samsung-dt' into for-next

12 years agoMerge branch 'next/topic-devel-exynos' into next-samsung-devel
Kukjin Kim [Tue, 8 Nov 2011 11:25:24 +0000 (20:25 +0900)]
Merge branch 'next/topic-devel-exynos' into next-samsung-devel

12 years agoMerge branch 'next/topic-devel-s3c' into next-samsung-devel
Kukjin Kim [Tue, 8 Nov 2011 11:25:18 +0000 (20:25 +0900)]
Merge branch 'next/topic-devel-s3c' into next-samsung-devel

12 years agoARM: EXYNOS: Fix compiler error with THIS_MODULE
Kyungmin Park [Tue, 8 Nov 2011 10:57:59 +0000 (19:57 +0900)]
ARM: EXYNOS: Fix compiler error with THIS_MODULE

  CC      arch/arm/mach-exynos/cpuidle.o
arch/arm/mach-exynos/cpuidle.c:36: error: 'THIS_MODULE' undeclared here (not in a function)
arch/arm/mach-exynos/cpuidle.c: In function 'exynos4_enter_idle':
arch/arm/mach-exynos/cpuidle.c:42: error: storage size of 'before' isn't known
arch/arm/mach-exynos/cpuidle.c:42: error: storage size of 'after' isn't known
arch/arm/mach-exynos/cpuidle.c:46: error: implicit declaration of function 'do_gettimeofday'
arch/arm/mach-exynos/cpuidle.c:52: error: 'USEC_PER_SEC' undeclared (first use in this function)
arch/arm/mach-exynos/cpuidle.c:52: error: (Each undeclared identifier is reported only once
arch/arm/mach-exynos/cpuidle.c:52: error: for each function it appears in.)
arch/arm/mach-exynos/cpuidle.c:42: warning: unused variable 'after'
arch/arm/mach-exynos/cpuidle.c:42: warning: unused variable 'before'
make[1]: *** [arch/arm/mach-exynos/cpuidle.o] Error 1

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
12 years agoARM: S3C64XX: Correct reservation of GPIOs for CPU module on Cragganmore
Mark Brown [Thu, 3 Nov 2011 07:28:15 +0000 (16:28 +0900)]
ARM: S3C64XX: Correct reservation of GPIOs for CPU module on Cragganmore

The gpio_base for the PMIC on the CPU module was being incorrectly set to
be the same as that for the CODEC causing the two GPIO drivers to collide.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
12 years agoARM: SAMSUNG: Fix GPIO space reservation for S3C64xx platforms
Mark Brown [Thu, 3 Nov 2011 07:15:38 +0000 (16:15 +0900)]
ARM: SAMSUNG: Fix GPIO space reservation for S3C64xx platforms

The conversion to use SAMSUNG_GPIO_EXTRA rather than S3C24XX_GPIO_EXTRA
broke a number of S3C64xx boards which had been using the symbols provided
to reserve a range of GPIOs for board specific use. Fix this by adding
equivalent symbols for the new shared driver and updating the relevant
boards to use the new symbols.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
12 years agoARM: S3C64XX: Update for conversion to SAMSUNG_GPIO_EXTRA
Mark Brown [Thu, 3 Nov 2011 07:15:37 +0000 (16:15 +0900)]
ARM: S3C64XX: Update for conversion to SAMSUNG_GPIO_EXTRA

The conversion of the S3C64XX GPIOs to the generic Samsung GPIOs mean that
rather than using the previous S3C24XX_GPIO_EXTRA configuration the driver
now uses SAMSUNG_GPIO_EXTRA.

Since SAMSUNG_GPIO_EXTRA requires the arch to include the extra space in
ARCH_NR_GPIOs add it on to BOARD_NR_GPIOs (in case boards are relying on
the existing reservation).

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
12 years agoARM: EXYNOS: Enable Bluetooth on ORIGEN
Sangwook Lee [Thu, 3 Nov 2011 07:14:14 +0000 (16:14 +0900)]
ARM: EXYNOS: Enable Bluetooth on ORIGEN

This patch enables Bluetooth support on ORIGEN board.

Signed-off-by: Sangwook <sangwook.lee@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
12 years agoARM: SAMSUNG: Remove SPI bus clocks from platform data
Padmavathi Venna [Wed, 2 Nov 2011 11:08:57 +0000 (20:08 +0900)]
ARM: SAMSUNG: Remove SPI bus clocks from platform data

SPI bus clocks can be avoided passing through platform
data as spi driver is getting the bus clock using the
generic clock connection id registered via clkdev.

Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
12 years agoARM: S5PV210: Add SPI clkdev support
Padmavathi Venna [Wed, 2 Nov 2011 11:04:08 +0000 (20:04 +0900)]
ARM: S5PV210: Add SPI clkdev support

Registered the SPI bus clocks with clkdev using generic
connection id.

Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
12 years agoARM: S5P64X0: Add SPI clkdev support
Padmavathi Venna [Wed, 2 Nov 2011 11:04:08 +0000 (20:04 +0900)]
ARM: S5P64X0: Add SPI clkdev support

Registered the SPI bus clocks with clkdev using generic
connection id.

Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
12 years agoARM: S5PC100: Add SPI clkdev support
Padmavathi Venna [Wed, 2 Nov 2011 11:04:08 +0000 (20:04 +0900)]
ARM: S5PC100: Add SPI clkdev support

Registered the SPI bus clocks with clkdev using generic
connection id.

Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
12 years agoARM: S3C64XX: Add SPI clkdev support
Padmavathi Venna [Wed, 2 Nov 2011 11:04:08 +0000 (20:04 +0900)]
ARM: S3C64XX: Add SPI clkdev support

Registered the SPI bus clocks with clkdev using generic
connection id.

Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
12 years agospi/s3c64xx: Use bus clocks created using clkdev
Padmavathi Venna [Wed, 2 Nov 2011 11:04:19 +0000 (20:04 +0900)]
spi/s3c64xx: Use bus clocks created using clkdev

This patch modifies the driver to stop depending on the
clock names being passed from platform and switch over
to lookup clocks generic names using clkdev

Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
12 years agommc: sdhci-s3c: Use generic clock names for sdhci bus clock options
Rajeshwari Shinde [Thu, 3 Nov 2011 01:52:58 +0000 (10:52 +0900)]
mmc: sdhci-s3c: Use generic clock names for sdhci bus clock options

This patch modifies the driver to stop depending on the clock names
being passed from the platform and switch over to bus clock lookup
using generic clock names.

Signed-off-by: Rajeshwari Shinde <rajeshwari.s@samsung.com>
Acked-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
12 years agoARM: SAMSUNG: Add lookup of sdhci-s3c clocks using generic names
Rajeshwari Shinde [Mon, 24 Oct 2011 15:05:58 +0000 (17:05 +0200)]
ARM: SAMSUNG: Add lookup of sdhci-s3c clocks using generic names

Add support for lookup of sdhci-s3c controller clocks using generic names
for s3c2416, s3c64xx, s5pc100, s5pv210 and exynos4 SoC's.

Signed-off-by: Rajeshwari Shinde <rajeshwari.s@samsung.com>
[kgene.kim@samsung.com: fixed trailing whitespace]
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
12 years agoARM: SAMSUNG: Remove SDHCI bus clocks from platform data
Rajeshwari Shinde [Mon, 24 Oct 2011 15:05:24 +0000 (17:05 +0200)]
ARM: SAMSUNG: Remove SDHCI bus clocks from platform data

The bus clocks previously sent through platform data to SDHCI controller
are removed.

Signed-off-by: Rajeshwari Shinde <rajeshwari.s@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
12 years agoARM: LPAE: Add the Kconfig entries
Catalin Marinas [Mon, 31 Jan 2011 13:50:46 +0000 (13:50 +0000)]
ARM: LPAE: Add the Kconfig entries

This patch adds the ARM_LPAE and ARCH_PHYS_ADDR_T_64BIT Kconfig entries
allowing LPAE support to be compiled into the kernel.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
12 years agoARM: LPAE: add support for ATAG_MEM64
Will Deacon [Mon, 31 Jan 2011 13:50:46 +0000 (13:50 +0000)]
ARM: LPAE: add support for ATAG_MEM64

LPAE provides support for memory banks with physical addresses of up
to 40 bits.

This patch adds a new atag, ATAG_MEM64, so that the Kernel can be
informed about memory that exists above the 4GB boundary.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
12 years agoARM: LPAE: mark memory banks with start > ULONG_MAX as highmem
Will Deacon [Mon, 31 Jan 2011 13:50:46 +0000 (13:50 +0000)]
ARM: LPAE: mark memory banks with start > ULONG_MAX as highmem

Memory banks living outside of the 32-bit physical address
space do not have a 1:1 pa <-> va mapping and therefore the
__va macro may wrap.

This patch ensures that such banks are marked as highmem so
that the Kernel doesn't try to split them up when it sees that
the wrapped virtual address overlaps the vmalloc space.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
12 years agoARM: LPAE: Add identity mapping support for the 3-level page table format
Catalin Marinas [Mon, 31 Jan 2011 13:50:44 +0000 (13:50 +0000)]
ARM: LPAE: Add identity mapping support for the 3-level page table format

With LPAE, the pgd is a separate page table with entries pointing to the
pmd. The identity_mapping_add() function needs to ensure that the pgd is
populated before populating the pmd level. The do..while blocks now loop
over the pmd in order to have the same implementation for the two page
table formats. The pmd_addr_end() definition has been removed and the
generic one used instead. The pmd clean-up is done in the pgd_free()
function.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
12 years agoARM: LPAE: Add context switching support
Catalin Marinas [Mon, 31 Jan 2011 13:50:44 +0000 (13:50 +0000)]
ARM: LPAE: Add context switching support

With LPAE, TTBRx registers are 64-bit. The ASID is stored in TTBR0
rather than a separate Context ID register. This patch makes the
necessary changes to handle context switching on LPAE.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
12 years agoARM: LPAE: Add fault handling support
Catalin Marinas [Mon, 31 Jan 2011 13:50:43 +0000 (13:50 +0000)]
ARM: LPAE: Add fault handling support

The DFSR and IFSR register format is different when LPAE is enabled. In
addition, DFSR and IFSR have similar definitions for the fault type.
This modifies the fault code to correctly handle the new format.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
12 years agoARM: LPAE: Invalidate the TLB before freeing the PMD
Catalin Marinas [Tue, 10 May 2011 16:48:36 +0000 (17:48 +0100)]
ARM: LPAE: Invalidate the TLB before freeing the PMD

Similar to the PTE freeing, this patch introduced __pmd_free_tlb() which
invalidates the TLB before freeing a PMD page. This is needed because on
newer processors the entry in the upper page table may be cached by the
TLB and point to random data after the PMD has been freed.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
12 years agoARM: LPAE: MMU setup for the 3-level page table format
Catalin Marinas [Mon, 31 Jan 2011 13:50:43 +0000 (13:50 +0000)]
ARM: LPAE: MMU setup for the 3-level page table format

This patch adds the MMU initialisation for the LPAE page table format.
The swapper_pg_dir size with LPAE is 5 rather than 4 pages. A new
proc-v7-3level.S file contains the TTB initialisation, context switch
and PTE setting code with the LPAE. The TTBRx split is based on the
PAGE_OFFSET with TTBR1 used for the kernel mappings. The 36-bit mappings
(supersections) and a few other memory types in mmu.c are conditionally
compiled.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
12 years agoARM: LPAE: Page table maintenance for the 3-level format
Catalin Marinas [Mon, 31 Jan 2011 13:50:42 +0000 (13:50 +0000)]
ARM: LPAE: Page table maintenance for the 3-level format

This patch modifies the pgd/pmd/pte manipulation functions to support
the 3-level page table format. Since there is no need for an 'ext'
argument to cpu_set_pte_ext(), this patch conditionally defines a
different prototype for this function when CONFIG_ARM_LPAE.

The patch also introduces the L_PGD_SWAPPER flag to mark pgd entries
pointing to pmd tables pre-allocated in the swapper_pg_dir and avoid
trying to free them at run-time. This flag is 0 with the classic page
table format.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>