]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
17 years agox86, smp: refactor ->wait_for_init_deassert()
Ingo Molnar [Wed, 28 Jan 2009 15:21:32 +0000 (16:21 +0100)]
x86, smp: refactor ->wait_for_init_deassert()

- spread out the namespace on a per APIC driver basis

 - handle a NULL ->wait_for_init_deassert() as a 'dont wait' default method

 - remove NUMAQ and Summit handlers

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: set ->trampoline_phys_low/high on 64-bit too
Ingo Molnar [Wed, 28 Jan 2009 15:15:16 +0000 (16:15 +0100)]
x86: set ->trampoline_phys_low/high on 64-bit too

64-bit x86 has zero for ->trampoline_phys_low/high, but the smpboot
code can use these values - so it's better to set them up to their
correct values.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, smp: clean up ->trampoline_phys_low/high handling
Ingo Molnar [Wed, 28 Jan 2009 15:09:23 +0000 (16:09 +0100)]
x86, smp: clean up ->trampoline_phys_low/high handling

- spread out the namespace on a per apic driver basis

 - remove wrapper macros

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: untangle the send_IPI_*() jungle
Ingo Molnar [Wed, 28 Jan 2009 14:42:24 +0000 (15:42 +0100)]
x86, apic: untangle the send_IPI_*() jungle

Our send_IPI_*() methods and definitions are a twisted mess: the same
symbol is defined to different things depending on .config details,
in a non-transparent way.

 - spread out the quirks into separately named per apic driver methods

 - prefix the standard PC methods with default_

 - get rid of wrapper macro obfuscation

 - clean up various details

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: refactor ->cpu_mask_to_apicid*()
Ingo Molnar [Wed, 28 Jan 2009 14:20:18 +0000 (15:20 +0100)]
x86, apic: refactor ->cpu_mask_to_apicid*()

- spread out the namespace on a per driver basis

 - clean up the functions

 - get rid of macros

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: get rid of *_APIC_ID_MASK definitions
Ingo Molnar [Wed, 28 Jan 2009 14:08:53 +0000 (15:08 +0100)]
x86, apic: get rid of *_APIC_ID_MASK definitions

Impact: cleanup

Remove the *_APIC_ID_MASK subarch definitions and move them straight
to the genapic driver initialization code.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: refactor ->apic_id_mask & APIC_ID_MASK
Ingo Molnar [Wed, 28 Jan 2009 13:59:17 +0000 (14:59 +0100)]
x86, apic: refactor ->apic_id_mask & APIC_ID_MASK

- spread out the namespace on a per driver basis

 - get rid of wrapper macros

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: refactor ->get_apic_id() & GET_APIC_ID()
Ingo Molnar [Wed, 28 Jan 2009 13:08:38 +0000 (14:08 +0100)]
x86, apic: refactor ->get_apic_id() & GET_APIC_ID()

- spread out the namespace on a per driver basis

 - get rid of macro wrappers

 - small cleanups

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: consolidate the ->mps_oem_check() code
Ingo Molnar [Wed, 28 Jan 2009 12:44:32 +0000 (13:44 +0100)]
x86: consolidate the ->mps_oem_check() code

- spread out the mps_oem_check() namespace on a per APIC driver basis

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, mpparse: call the generic quirk handlers early
Ingo Molnar [Wed, 28 Jan 2009 12:54:56 +0000 (13:54 +0100)]
x86, mpparse: call the generic quirk handlers early

Call all the registered MPS quirk handlers early. These methods scan
low RAM typically for specific signatures so are safe to be called
early.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, smp: clean up mps_oem_check()
Ingo Molnar [Wed, 28 Jan 2009 12:47:42 +0000 (13:47 +0100)]
x86, smp: clean up mps_oem_check()

Impact: cleanup

 - allow NULL ->mps_oem_check() entries

 - clean up the code flow

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: refactor ->phys_pkg_id()
Ingo Molnar [Wed, 28 Jan 2009 12:24:54 +0000 (13:24 +0100)]
x86, apic: refactor ->phys_pkg_id()

Refactor the ->phys_pkg_id() methods:

 - namespace separation

 - macro wrapper removal

 - open-coded calls to the methods in the generic code

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: unify phys_pkg_id()
Ingo Molnar [Wed, 28 Jan 2009 12:31:22 +0000 (13:31 +0100)]
x86, apic: unify phys_pkg_id()

- unify the call signature of 64-bit to that of 32-bit

 - clean up the types all around

 - clean up namespace contamination

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, es7000: clean up es7000_enable_apic_mode()
Ingo Molnar [Wed, 28 Jan 2009 12:15:06 +0000 (13:15 +0100)]
x86, es7000: clean up es7000_enable_apic_mode()

- eliminate the needless es7000_enable_apic_mode() complication which
  was not apparent prior the namespace cleanups

- clean up the control flow in es7000_enable_apic_mode()

- other cleanups

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: refactor ->enable_apic_mode() subarch methods
Ingo Molnar [Wed, 28 Jan 2009 11:43:18 +0000 (12:43 +0100)]
x86: refactor ->enable_apic_mode() subarch methods

Only ES7000 has a real ->enable_apic_mode() method, the other
subarchitectures define it but keep it empty.

So mark the vector as NULL, extend the generic code to handle
NULL -setup_portio_remap() entries and remove all the empty
handlers.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: refactor ->check_phys_apicid_present() subarch methods
Ingo Molnar [Wed, 28 Jan 2009 11:43:18 +0000 (12:43 +0100)]
x86: refactor ->check_phys_apicid_present() subarch methods

- spread out the namespace to per driver methods

 - extend it to 64-bit as well so that we can use
   apic->check_phys_apicid_present() unconditionally

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: refactor ->setup_portio_remap() subarch methods
Ingo Molnar [Wed, 28 Jan 2009 11:43:18 +0000 (12:43 +0100)]
x86: refactor ->setup_portio_remap() subarch methods

Only NUMAQ has a real ->setup_portio_remap() method, the other
subarchitectures define it but keep it empty.

So mark the vector as NULL, extend the generic code to handle
NULL -setup_portio_remap() entries and remove all the empty
handlers.

Also move the NUMAQ method from the header file into the
 apic driver .c file.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: clean up ->apicid_to_cpu_present()
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->apicid_to_cpu_present()

- separate the namespace

 - remove macros

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: clean up ->cpu_present_to_apicid()
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->cpu_present_to_apicid()

- separate the namespace

 - remove macros

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: clean up ->cpu_to_logical_apicid()
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->cpu_to_logical_apicid()

- separate the namespace

 - remove macros

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: clean up ->apicid_to_node()
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->apicid_to_node()

- separate the namespace

 - remove macros

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: streamline the ->multi_timer_check() quirk
Ingo Molnar [Wed, 28 Jan 2009 06:17:26 +0000 (07:17 +0100)]
x86, apic: streamline the ->multi_timer_check() quirk

only NUMAQ uses this quirk: to prevent the timer IRQ from being added
on secondary nodes.

All other genapic templates can have a NULL ->multi_timer_check()
callback.

Also, extend the generic code to treat a NULL pointer accordingly.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: clean up ->setup_apic_routing()
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->setup_apic_routing()

- separate the namespace

 - remove macros

 - remove namespace clash on 64-bit

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: clean up ->ioapic_phys_id_map()
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->ioapic_phys_id_map()

- separate the namespace

 - remove macros

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: clean up ->init_apic_ldr()
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->init_apic_ldr()

- separate the namespace

 - remove macros

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: clean up ->vector_allocation_domain()
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->vector_allocation_domain()

- separate the namespace

 - remove macros

 - move the default vector-allocation-domain to mach-generic

 - fix whitespace damage

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: remove no_balance_irq and no_ioapic_check flags
Ingo Molnar [Wed, 28 Jan 2009 04:57:56 +0000 (05:57 +0100)]
x86, apic: remove no_balance_irq and no_ioapic_check flags

These flags are completely unused. (the in-kernel IRQ balancer has
been removed from the upstream kernel.)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: clean up check_apicid*() callbacks
Ingo Molnar [Wed, 28 Jan 2009 04:41:42 +0000 (05:41 +0100)]
x86, apic: clean up check_apicid*() callbacks

Clean up these methods - to make it clearer which function is
used in which case.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: rename genapic::apic_destination_logical to genapic::dest_logical
Ingo Molnar [Wed, 28 Jan 2009 04:29:25 +0000 (05:29 +0100)]
x86, apic: rename genapic::apic_destination_logical to genapic::dest_logical

This field name was unreasonably long - shorten it.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: clean up the APIC_DEST_LOGICAL logic
Ingo Molnar [Wed, 28 Jan 2009 04:13:04 +0000 (05:13 +0100)]
x86: clean up the APIC_DEST_LOGICAL logic

Impact: cleanup

The bigsmp and es7000 subarchitectures un-defined APIC_DEST_LOGICAL in
a rather nasty way by re-defining it to zero. That is infinitely
fragile and makes it very hard to see what to code really does in
a given context. The very same constant has different meanings and
values - depending on which subarch is enabled.

Untangle this mess by never undefining the constant, but instead
propagating the right values into the genapic driver templates.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: rename ->ESR_DISABLE to ->disable_esr
Ingo Molnar [Wed, 28 Jan 2009 04:08:44 +0000 (05:08 +0100)]
x86: rename ->ESR_DISABLE to ->disable_esr

the ->ESR_DISABLE shouting variant was used to enable the esr_disable
macro wrappers. Those ugly macros are removed now so we can rename
->ESR_DISABLE to ->disable_esr

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: clean up esr_disable() methods
Ingo Molnar [Wed, 28 Jan 2009 04:01:41 +0000 (05:01 +0100)]
x86: clean up esr_disable() methods

Impact: cleanup

Most subarchitectures want to disable the APIC ESR (Error Status Register),
because they generally have hardware hacks that wrap standard CPUs into
a bigger system and hence the APIC bus is quite non-standard and weirdnesses
(lockups) have been seen with ESR reporting.

Remove the esr_disable macros and put the desired flag into each
subarchitecture's genapic template directly.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: clean up / remove TARGET_CPUS
Ingo Molnar [Wed, 28 Jan 2009 03:32:51 +0000 (04:32 +0100)]
x86, apic: clean up / remove TARGET_CPUS

Impact: cleanup

use apic->target_cpus() directly instead of the TARGET_CPUS wrapper.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: clean up target_cpus methods
Ingo Molnar [Wed, 28 Jan 2009 03:30:40 +0000 (04:30 +0100)]
x86, apic: clean up target_cpus methods

Impact: cleanup

Clean up all the target_cpus() namespace overlap that exists
between bigsmp, es7000, mach-default, numaq and summit - by
separating the different functions into different names.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: remove IRQ_DEST_MODE
Ingo Molnar [Wed, 28 Jan 2009 03:24:16 +0000 (04:24 +0100)]
x86, apic: remove IRQ_DEST_MODE

Remove leftover definition.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: remove ES7000_IRQ_DELIVERY_MODE and ES7000_IRQ_DEST_MODE
Ingo Molnar [Wed, 28 Jan 2009 03:16:01 +0000 (04:16 +0100)]
x86, apic: remove ES7000_IRQ_DELIVERY_MODE and ES7000_IRQ_DEST_MODE

Impact: cleanup

They were only used in a single place and obscured the apic_es7000
driver template.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: remove BIGSMP_IRQ_DELIVERY_MODE and BIGSMP_IRQ_DEST_MODE
Ingo Molnar [Wed, 28 Jan 2009 03:16:01 +0000 (04:16 +0100)]
x86, apic: remove BIGSMP_IRQ_DELIVERY_MODE and BIGSMP_IRQ_DEST_MODE

Impact: cleanup

They were only used in a single place and obscured the apic_bigsmp
driver template.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: remove NUMAQ_IRQ_DELIVERY_MODE and NUMAQ_IRQ_DEST_MODE
Ingo Molnar [Wed, 28 Jan 2009 03:16:01 +0000 (04:16 +0100)]
x86, apic: remove NUMAQ_IRQ_DELIVERY_MODE and NUMAQ_IRQ_DEST_MODE

Impact: cleanup

They were only used in a single place and obscured the apic_numaq template.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: remove SUMMIT_IRQ_DELIVERY_MODE and SUMMIT_IRQ_DEST_MODE
Ingo Molnar [Wed, 28 Jan 2009 03:16:01 +0000 (04:16 +0100)]
x86, apic: remove SUMMIT_IRQ_DELIVERY_MODE and SUMMIT_IRQ_DEST_MODE

Impact: cleanup

They were only used in a single place and obscured the apic_summit template.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: remove DEFAULT_IRQ_DELIVERY_MODE and DEFAULT_IRQ_DEST_MODE
Ingo Molnar [Wed, 28 Jan 2009 03:16:01 +0000 (04:16 +0100)]
x86, apic: remove DEFAULT_IRQ_DELIVERY_MODE and DEFAULT_IRQ_DEST_MODE

Impact: cleanup

They were only used in a single place and obscured the apic_default template.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, apic: remove IRQ_DEST_MODE / IRQ_DELIVERY_MODE
Ingo Molnar [Wed, 28 Jan 2009 03:09:58 +0000 (04:09 +0100)]
x86, apic: remove IRQ_DEST_MODE / IRQ_DELIVERY_MODE

Remove the wrapper macros IRQ_DEST_MODE and IRQ_DELIVERY_MODE.

The typical 32-bit and the 64-bit build all dereference via the genapic,
so it's pointless to hide that indirection via these ugly macros.

Furthermore, it also obscures subarchitecture details.

So replace it with apic->irq_dest_mode / etc. accesses.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, genapic: rename int_delivery_mode, et. al.
Ingo Molnar [Wed, 28 Jan 2009 03:02:31 +0000 (04:02 +0100)]
x86, genapic: rename int_delivery_mode, et. al.

int_delivery_mode is supposed to mean 'interrupt delivery mode', but
it's quite a misnomer as 'int' we usually think of as an integer type ...

The standard naming for such attributes is 'irq' - so rename the following
fields and macros:

 int_delivery_mode => irq_delivery_mode
 INT_DELIVERY_MODE => IRQ_DELIVERY_MODE
 int_dest_mode     => irq_dest_mode
 INT_DEST_MODE     => IRQ_DEST_MODE

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: clean up apic->apic_id_registered() methods
Ingo Molnar [Wed, 28 Jan 2009 02:43:47 +0000 (03:43 +0100)]
x86: clean up apic->apic_id_registered() methods

Impact: cleanup

x86 subarchitectures each defined a "apic_id_registered()" method,
which could be an inline function depending on which subarch we build
for, and which was also the name of a genapic field.

Untangle this namespace spaghetti by giving each of the instances
a separate name.

Also remove wrapper macro obfuscation.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: clean up apic->acpi_madt_oem_check methods
Ingo Molnar [Wed, 28 Jan 2009 02:43:47 +0000 (03:43 +0100)]
x86: clean up apic->acpi_madt_oem_check methods

Impact: refactor code

x86 subarchitectures each defined a "acpi_madt_oem_check()" method,
which could be an inline function, or an extern, or a static function,
and which was also the name of a genapic field.

Untangle this namespace spaghetti by setting ->acpi_madt_oem_check()
to NULL on those subarchitectures that have no detection quirks,
and rename the other ones (summit, es7000) that do.

Also change default_acpi_madt_oem_check() to handle NULL entries,
and clean its control flow up as well.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: remove APIC_INIT / APICFUNC / IPIFUNC
Ingo Molnar [Wed, 28 Jan 2009 02:18:13 +0000 (03:18 +0100)]
x86: remove APIC_INIT / APICFUNC / IPIFUNC

The APIC_INIT() / APICFUNC / IPIFUNC macros were ugly and obfuscated
the true identity of various APIC driver methods.

Now that they are not used anymore, remove them.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, genapic: cleanup 32-bit apic_summit template
Ingo Molnar [Wed, 28 Jan 2009 02:32:03 +0000 (03:32 +0100)]
x86, genapic: cleanup 32-bit apic_summit template

Clean up the APIC driver template:

 - order fields properly
 - use the macro names explicitly (so that they can be renamed later)
 - fill in NULL entries as well

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, genapic: cleanup 32-bit apic_es7000 template
Ingo Molnar [Wed, 28 Jan 2009 02:32:03 +0000 (03:32 +0100)]
x86, genapic: cleanup 32-bit apic_es7000 template

Clean up the APIC driver template:

 - order fields properly
 - use the macro names explicitly (so that they can be renamed later)
 - fill in NULL entries as well

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, genapic: cleanup 32-bit apic_numaq template
Ingo Molnar [Wed, 28 Jan 2009 02:32:03 +0000 (03:32 +0100)]
x86, genapic: cleanup 32-bit apic_numaq template

Clean up the APIC driver template:

 - order fields properly
 - use the macro names explicitly (so that they can be renamed later)
 - fill in NULL entries as well

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, genapic: cleanup 32-bit apic_bigsmp template
Ingo Molnar [Wed, 28 Jan 2009 02:32:03 +0000 (03:32 +0100)]
x86, genapic: cleanup 32-bit apic_bigsmp template

Clean up the APIC driver template:

 - order fields properly
 - use the macro names explicitly (so that they can be renamed later)
 - fill in NULL entries as well

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, genapic: cleanup 32-bit apic_default template
Ingo Molnar [Wed, 28 Jan 2009 02:32:03 +0000 (03:32 +0100)]
x86, genapic: cleanup 32-bit apic_default template

Clean up the APIC driver template:

 - order fields properly
 - use the macro names explicitly (so that they can be renamed later)
 - fill in NULL entries as well

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: clean up apic_x2apic_cluster
Ingo Molnar [Wed, 28 Jan 2009 01:37:01 +0000 (02:37 +0100)]
x86: clean up apic_x2apic_cluster

- reorder fields so that they appear in struct genapic field ordering

- add zero-initialized fields too so that it's apparent which functionality
  is default / missing.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: clean up apic_x2apic_phys
Ingo Molnar [Wed, 28 Jan 2009 01:37:01 +0000 (02:37 +0100)]
x86: clean up apic_x2apic_phys

- reorder fields so that they appear in struct genapic field ordering

- add zero-initialized fields too so that it's apparent which functionality
  is default / missing.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: clean up apic_x2apic_uv_x
Ingo Molnar [Wed, 28 Jan 2009 01:37:01 +0000 (02:37 +0100)]
x86: clean up apic_x2apic_uv_x

- reorder fields so that they appear in struct genapic field ordering

- add zero-initialized fields too so that it's apparent which functionality
  is default / missing.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: clean up genapic_phys_flat
Ingo Molnar [Wed, 28 Jan 2009 01:37:01 +0000 (02:37 +0100)]
x86: clean up genapic_phys_flat

- reorder fields so that they appear in struct genapic field ordering

- add zero-initialized fields too so that it's apparent which functionality
  is default / missing.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: clean up genapic_flat
Ingo Molnar [Wed, 28 Jan 2009 01:37:01 +0000 (02:37 +0100)]
x86: clean up genapic_flat

- reorder fields so that they appear in struct genapic field ordering

- add zero-initialized fields too so that it's apparent which functionality
  is default / missing.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: rename 'genapic' to 'apic'
Ingo Molnar [Tue, 27 Jan 2009 23:14:11 +0000 (00:14 +0100)]
x86: rename 'genapic' to 'apic'

Rename genapic-> to apic-> references because in a future chagne we'll
open-code all the indirect calls (instead of obscuring them via macros),
so we want this reference to be as short as possible.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, genapic: provide IPI callbacks unconditionally
Ingo Molnar [Tue, 27 Jan 2009 22:54:23 +0000 (23:54 +0100)]
x86, genapic: provide IPI callbacks unconditionally

64-bit x86 uses the IPI callbacks even on UP - so provide them
generally.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, genapic: cleanups
Ingo Molnar [Tue, 27 Jan 2009 22:23:22 +0000 (23:23 +0100)]
x86, genapic: cleanups

Unify genapic.h some more.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, genapic: finish unification
Ingo Molnar [Tue, 27 Jan 2009 22:15:06 +0000 (23:15 +0100)]
x86, genapic: finish unification

Unify remaining bits of genapic_32/64.h.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, genapic: unify struct genapic
Ingo Molnar [Tue, 27 Jan 2009 22:12:02 +0000 (23:12 +0100)]
x86, genapic: unify struct genapic

Move over the (now identical) struct genapic definitions from
genapic_32/64.h to genapic.h.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, genapic: refactor genapic_32.h
Ingo Molnar [Tue, 27 Jan 2009 22:07:42 +0000 (23:07 +0100)]
x86, genapic: refactor genapic_32.h

Impact: pre unification cleanup

Make genapic_32.h similar to genapic_64.h: reorder fields, unify types
and bring in new entries.

No existing functionality is affected.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86, genapic: refactor genapic_64.h
Ingo Molnar [Tue, 27 Jan 2009 22:07:42 +0000 (23:07 +0100)]
x86, genapic: refactor genapic_64.h

Impact: pre unification cleanup

Make genapic_64.h similar to genapic_32.h: reorder fields, unify types
and bring in new entries.

No existing functionality is affected.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoMerge branches 'x86/asm', 'x86/cleanups', 'x86/cpudetect', 'x86/debug', 'x86/doc...
Ingo Molnar [Wed, 28 Jan 2009 22:13:53 +0000 (23:13 +0100)]
Merge branches 'x86/asm', 'x86/cleanups', 'x86/cpudetect', 'x86/debug', 'x86/doc', 'x86/header-fixes', 'x86/mm', 'x86/paravirt', 'x86/pat', 'x86/setup-v2', 'x86/subarch', 'x86/uaccess' and 'x86/urgent' into x86/core

17 years agoMerge branch 'core/percpu' into x86/core
Ingo Molnar [Wed, 28 Jan 2009 22:12:55 +0000 (23:12 +0100)]
Merge branch 'core/percpu' into x86/core

Conflicts:
kernel/irq/handle.c

17 years agoBtrfs: fix readdir on 32 bit machines
Chris Mason [Wed, 28 Jan 2009 20:34:27 +0000 (15:34 -0500)]
Btrfs: fix readdir on 32 bit machines

After btrfs_readdir has gone through all the directory items, it
sets the directory f_pos to the largest possible int.  This way
applications that mix readdir with creating new files don't
end up in an endless loop finding the new directory items as they go.

It was a workaround for a bug in git, but the assumption was that if git
could make this looping mistake than it would be a common problem.

The largest possible int chosen was INT_LIMIT(typeof(file->f_pos),
and it is possible for that to be a larger number than 32 bit glibc
expects to come out of readdir.

This patches switches that to INT_LIMIT(off_t), which should keep
applications happy on 32 and 64 bit machines.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs...
Chris Mason [Thu, 29 Jan 2009 01:29:43 +0000 (20:29 -0500)]
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable

Fix fs/btrfs/super.c conflict around #includes

17 years agofirewire: sbp2: fix DMA mapping leak on the failure path
Stefan Richter [Wed, 28 Jan 2009 00:03:34 +0000 (01:03 +0100)]
firewire: sbp2: fix DMA mapping leak on the failure path

Reported-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
who also provided a first version of the fix.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
17 years agofirewire: sbp2: define some magic numbers as macros
Stefan Richter [Sat, 24 Jan 2009 18:41:46 +0000 (19:41 +0100)]
firewire: sbp2: define some magic numbers as macros

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
17 years agofirewire: sbp2: fix payload limit at S1600 and S3200
Stefan Richter [Sat, 24 Jan 2009 18:41:46 +0000 (19:41 +0100)]
firewire: sbp2: fix payload limit at S1600 and S3200

1394-2008 clause 16.3.4.1 (1394b-2002 clause 16.3.1.1) defines tighter
limits than 1394-2008 clause 6.2.2.3 (1394a-2000 clause 6.2.2.3).

Our previously too large limit doesn't matter though if the controller
reports its max_receive correctly.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
17 years agoieee1394: sbp2: don't assume zero model_id or firmware_revision if there is none
Stefan Richter [Sat, 24 Jan 2009 18:41:46 +0000 (19:41 +0100)]
ieee1394: sbp2: don't assume zero model_id or firmware_revision if there is none

This makes sbp2 behave more like firewire-sbp2 which reports 0xff000000
as immediate value if there are no unit directory entries for model_id
or firmware_revision.

It does not reduce matches with the currently existing quirks table; the
only zero entry there is for a device which actually does have a zero
model_id.  It only changes how model_id and firmware_revision are logged
if they are missing.

Other functionally unrelated changes:  The model_id member of quirks
list entries is renamed to model;  the value (but not the effect) of
SBP2_ROM_VALUE_WILDCARD is changed.  Now this part of the source is
identical with firewire-sbp2 for easier maintenance.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
17 years agoieee1394: sbp2: fix payload limit at S1600 and S3200
Stefan Richter [Sat, 24 Jan 2009 18:41:46 +0000 (19:41 +0100)]
ieee1394: sbp2: fix payload limit at S1600 and S3200

1394-2008 clause 16.3.4.1 (1394b-2002 clause 16.3.1.1) defines tighter
limits than 1394-2008 clause 6.2.2.3 (1394a-2000 clause 6.2.2.3).

Our previously too large limit doesn't matter though if the controller
reports its max_receive correctly.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
17 years agoieee1394: sbp2: update a help string
Stefan Richter [Mon, 19 Jan 2009 18:20:31 +0000 (19:20 +0100)]
ieee1394: sbp2: update a help string

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
17 years agoieee1394: support for speeds greater than S800
Stefan Richter [Mon, 19 Jan 2009 18:19:55 +0000 (19:19 +0100)]
ieee1394: support for speeds greater than S800

The hard-wired configuration of the top speed (until now S800) was
unnecessary, remove it.

If the local link layer controller supports S1600 or S3200, we now
assume this speed for all present 1394b PHYs (except if they are
behind 1394a repeaters) until nodemgr figured out the actual speed
while fetching the config ROM.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
17 years agoACPI: remove locking from PM1x_STS register reads
Len Brown [Wed, 28 Jan 2009 17:47:15 +0000 (12:47 -0500)]
ACPI: remove locking from PM1x_STS register reads

PM1a_STS and PM1b_STS are twins that get OR'd together
on reads, and all writes are repeated to both.

The fields in PM1x_STS are single bits only,
there are no multi-bit fields.

So it is not necessary to lock PM1x_STS reads against
writes because it is impossible to read an intermediate
value of a single bit.  It will either be 0 or 1,
even if a write is in progress during the read.
Reads are asynchronous to writes no matter if a lock
is used or not.

Signed-off-by: Len Brown <len.brown@intel.com>
17 years agodlm: comment typo fixes
Joe Perches [Thu, 22 Jan 2009 21:26:47 +0000 (13:26 -0800)]
dlm: comment typo fixes

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David Teigland <teigland@redhat.com>
17 years agodlm: use ipv6_addr_copy
Joe Perches [Thu, 22 Jan 2009 21:24:49 +0000 (13:24 -0800)]
dlm: use ipv6_addr_copy

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David Teigland <teigland@redhat.com>
17 years agodlm: Change rwlock which is only used in write mode to a spinlock
Steven Whitehouse [Fri, 16 Jan 2009 16:21:12 +0000 (16:21 +0000)]
dlm: Change rwlock which is only used in write mode to a spinlock

The ls_dirtbl[].lock was an rwlock, but since it was only used in write
mode a spinlock will suffice.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
17 years agoLinux 2.6.29-rc3 v2.6.29-rc3
Linus Torvalds [Wed, 28 Jan 2009 18:49:30 +0000 (10:49 -0800)]
Linux 2.6.29-rc3

17 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
Linus Torvalds [Wed, 28 Jan 2009 17:01:42 +0000 (09:01 -0800)]
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
  powerpc/mm: Fix handling of _PAGE_COHERENT in BAT setup code
  powerpc/pseries: Correct VIO bus accounting problem in CMO env.
  powerpc: More printing warning fixes for the l64 to ll64 conversion
  powerpc: Remove arch/ppc cruft from Kconfig
  powerpc: Printing fix for l64 to ll64 conversion: phyp_dump.c
  powerpc/embedded6xx: Update defconfigs
  powerpc/8xx: Update defconfigs
  powerpc/86xx: Update defconfigs
  powerpc/83xx: Update defconfigs
  powerpc/85xx: Update defconfigs
  powerpc/mpc8313erdb: fix kernel panic because mdio device is not probed
  powerpc/4xx: Update multi-board PowerPC 4xx defconfigs
  powerpc/44x: Update PowerPC 44x defconfigs
  powerpc/40x: Update PowerPC 40x defconfigs
  powerpc/85xx: Fix typo in mpc8572ds dts
  powerpc/44x: Warp patches for the new NDFC driver
  powerpc/4xx: DTS: Add Add'l SDRAM0 Compatible and Interrupt Info

17 years ago[ARM] 5366/1: fix shared memory coherency with VIVT L1 + L2 caches
Nicolas Pitre [Fri, 16 Jan 2009 22:02:54 +0000 (23:02 +0100)]
[ARM] 5366/1: fix shared memory coherency with VIVT L1 + L2 caches

When there are multiple L1-aliasing userland mappings of the same physical
page, we currently remap each of them uncached, to prevent VIVT cache
aliasing issues. (E.g. writes to one of the mappings not being immediately
visible via another mapping.)  However, when we do this remapping, there
could still be stale data in the L2 cache, and an uncached mapping might
bypass L2 and go straight to RAM.  This would cause reads from such
mappings to see old data (until the dirty L2 line is eventually evicted.)

This issue is solved by forcing a L2 cache flush whenever the shared page
is made L1 uncacheable.

Ideally, we would make L1 uncacheable and L2 cacheable as L2 is PIPT. But
Feroceon does not support that combination, and the TEX=5 C=0 B=0 encoding
for XSc3 doesn't appear to work in practice.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu
Linus Torvalds [Wed, 28 Jan 2009 16:41:57 +0000 (08:41 -0800)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
  m68knommu: fix 5329 ColdFire periphal addressing
  uclinux: add process name to allocation error message
  m68knommu: correct the mii calculations for 532x ColdFire FEC
  m68knommu: add ColdFire M532x to the FEC configuration options
  m68knommu: fix syscall restarting
  m68knommu: remove the obsolete and long unused comempci chip support
  m68knommu: remove the no longer used PCI support option
  m68knommu: remove obsolete and unused eLIA board
  m68knommu: set NO_DMA
  m68knommu: fix cache flushing for the 527x ColdFire processors
  m68knommu: fix ColdFire 5272 serial baud rates in mcf.c
  m68knommu: use one exist from execption

17 years agodmi: Fix build breakage
Kumar Gala [Wed, 28 Jan 2009 06:07:20 +0000 (00:07 -0600)]
dmi: Fix build breakage

Commit d7b1956fed33d30c4815e848fd7a143722916868 ("DMI: Introduce
dmi_first_match to make the interface more flexible") introduced compile
errors like the following when !CONFIG_DMI

    drivers/ata/sata_sil.c: In function 'sil_broken_system_poweroff':
    drivers/ata/sata_sil.c:713: error: implicit declaration of function 'dmi_first_match'
    drivers/ata/sata_sil.c:713: warning: initialization makes pointer from integer without a cast

We just need a dummy version of dmi_first_match() to fix this all up.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agodrm: Rip out the racy, unused vblank signal code.
Eric Anholt [Wed, 28 Jan 2009 05:19:41 +0000 (21:19 -0800)]
drm: Rip out the racy, unused vblank signal code.

Schedule a vblank signal, kill the process, and we'll go walking over freed
memory.  Given that no open-source userland exists using this, nor have I
ever heard of a consumer, just let this code die.

Signed-off-by: Eric Anholt <eric@anholt.net>
Requested-by: Linus Torvalds <torvalds@linux-foundation.org>
Acked-by: Dave Airlie <airlied@linux.ie>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoALSA: hda - Consider additional capture source/selector in ALC889
Herton Ronaldo Krzesinski [Wed, 28 Jan 2009 11:16:33 +0000 (09:16 -0200)]
ALSA: hda - Consider additional capture source/selector in ALC889

Currently code for capture source support in ALC889 only considers
capture mixers. This change adds additional support for ADC+selector
present in ALC889, taking into account also the presence of an
additional DMIC connection item in the selector.

Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: intel8x0 - Fix build with CONFIG_SND_AC97_POWERSAVE=n
Takashi Iwai [Wed, 28 Jan 2009 15:05:16 +0000 (16:05 +0100)]
ALSA: intel8x0 - Fix build with CONFIG_SND_AC97_POWERSAVE=n

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: Don't cold reset AC97 codecs in some ICH chipsets
Thadeu Lima de Souza Cascardo [Wed, 28 Jan 2009 14:40:42 +0000 (12:40 -0200)]
ALSA: Don't cold reset AC97 codecs in some ICH chipsets

Check in a quirk list if it should do cold reset when AC97 power saving
is enabled. Some devices do not resume properly when cold reset,
although power saving works OK.

Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoUBIFS: fix LPT out-of-space bug (again)
Adrian Hunter [Tue, 27 Jan 2009 13:22:54 +0000 (15:22 +0200)]
UBIFS: fix LPT out-of-space bug (again)

The function to traverse and dirty the LPT was still not
dirtying all nodes, with the result that the LPT could
run out of space.

Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
17 years ago[ARM] call undefined instruction exception handler with irqs enabled
Russell King [Tue, 27 Jan 2009 23:20:00 +0000 (23:20 +0000)]
[ARM] call undefined instruction exception handler with irqs enabled

Aaro says:
> With spinlock debugs enabled I get might_sleep() warnings when using
> ptrace.

tracked down to a missing enable_irq before calling do_undefinstr().

Reported-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Tested-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] msm: fix build errors
Russell King [Tue, 27 Jan 2009 22:44:12 +0000 (22:44 +0000)]
[ARM] msm: fix build errors

arch/arm/mach-msm/board-halibut.c:45: error: implicit declaration of function 'MSM_GPIO_TO_INT'
arch/arm/mach-msm/board-halibut.c:45: error: initializer element is not constant
arch/arm/mach-msm/board-halibut.c:45: error: (near initialization for 'smc91x_resources[1].start')
arch/arm/mach-msm/board-halibut.c:46: error: initializer element is not constant
arch/arm/mach-msm/board-halibut.c:46: error: (near initialization for 'smc91x_resources[1].end')

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] etherh: continue fixing build failure
Russell King [Tue, 27 Jan 2009 22:32:29 +0000 (22:32 +0000)]
[ARM] etherh: continue fixing build failure

Further to 483a2b3a3182abcb7fcea986d7ea13e793bb00b1, also fix:

drivers/net/arm/etherh.c:649: error: 'eth_set_mac_addr' undeclared here (not in a function)

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years agoslub: fix per cpu kmem_cache_cpu array memory leak
David Rientjes [Wed, 28 Jan 2009 02:59:46 +0000 (18:59 -0800)]
slub: fix per cpu kmem_cache_cpu array memory leak

The per cpu array of kmem_cache_cpu structures accomodates
NR_KMEM_CACHE_CPU such structs.

When this array overflows and a struct is allocated by kmalloc(), it may
have an address at the upper bound of this array.  If this happens, it
does not get freed and the per cpu kmem_cache_cpu_free pointer will be out
of bounds after kmem_cache_destroy() or cpu offlining.

Cc: Christoph Lameter <cl@linux-foundation.org>
Signed-off-by: David Rientjes <rientjes@google.com>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
17 years agoALSA: enable build of snd-msnd-* drivers
Takashi Iwai [Wed, 28 Jan 2009 08:02:52 +0000 (09:02 +0100)]
ALSA: enable build of snd-msnd-* drivers

Added the missing msnd directory to Makefile.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: Add description of new snd-msnd-* drivers
Takashi Iwai [Wed, 28 Jan 2009 07:23:03 +0000 (08:23 +0100)]
ALSA: Add description of new snd-msnd-* drivers

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: hda - add another MacBook Pro 4, 1 subsystem ID
Luke Yelavich [Wed, 28 Jan 2009 04:58:38 +0000 (15:58 +1100)]
ALSA: hda - add another MacBook Pro 4, 1 subsystem ID

Add another MacBook Pro 4,1 SSID (106b:3800). It seems that latter revisions,
(at least mine), have different IDs to earlier revisions.

Signed-off-by: Luke Yelavich <themuso@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoMerge branch 'topic/snd_card_new-err' into topic/asoc
Takashi Iwai [Wed, 28 Jan 2009 07:08:32 +0000 (08:08 +0100)]
Merge branch 'topic/snd_card_new-err' into topic/asoc

Conflicts:
sound/soc/soc-core.c

17 years agoALSA: Turtle Beach Multisound Classic/Pinnacle driver
Krzysztof Helt [Sat, 24 Jan 2009 12:35:28 +0000 (13:35 +0100)]
ALSA: Turtle Beach Multisound Classic/Pinnacle driver

This is driver for Turtle Beach Multisound cards:
Classic, Fiji and Pinnacle.

Tested pcm playback and recording and MIDI playback
on Multisound Pinnacle.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoipv6: Make mc_forwarding sysctl read-only.
David S. Miller [Wed, 28 Jan 2009 06:41:03 +0000 (22:41 -0800)]
ipv6: Make mc_forwarding sysctl read-only.

The kernel manages this value internally, as necessary, as
VIFs are added/removed and as multicast routers are registered
and deregistered.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoIPv6: Fix multicast routing bugs.
Thomas Goff [Wed, 28 Jan 2009 06:39:59 +0000 (22:39 -0800)]
IPv6: Fix multicast routing bugs.

This patch addresses the IPv6 multicast routing issues described
below.  It was tested with XORP 1.4/1.5 as the IPv6 PIM-SM routing
daemon against FreeBSD peers.

net/ipv6/ip6_input.c:

  - Don't try to forward link-local multicast packets.

  - Don't reset skb2->dev before calling ip6_mr_input() so packets can
    be identified as coming from the PIM register vif properly.

net/ipv6/ip6mr.c:

  - Fix incoming PIM register messages processing:

    * The IPv6 pseudo-header should be included when checksumming PIM
      messages (RFC 4601 section 4.9; RFC 3973 section 4.7.1).

    * Packets decapsulated from PIM register messages should have
      skb->protocol ETH_P_IPV6.

  - Enable/disable IPv6 multicast forwarding on the corresponding
    interface when a routing daemon adds/removes a multicast virtual
    interface.

  - Remove incorrect skb_pull() to fix userspace signaling.

  - Enable/disable global IPv6 multicast forwarding when an IPv6
    multicast routing socket is opened/closed.

net/ipv6/route.c:

  - Don't use strict routing logic for packets decapsulated from PIM
    register messages (similar to disabling rp_filter for the IPv4
    case).

Signed-off-by: Thomas Goff <thomas.goff@boeing.com>
Reviewed-by: Fred Templin <fred.l.templin@boeing.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonet: fix xfrm reverse flow lookup for icmp6
Jiri Pirko [Wed, 28 Jan 2009 06:30:19 +0000 (22:30 -0800)]
net: fix xfrm reverse flow lookup for icmp6

This patch fixes the xfrm reverse flow lookup for icmp6 so that icmp6 packets
don't get lost over ipsec tunnels. Similar patch is in RHEL5 kernel for a quite
long time and I do not see why it isn't in mainline.

Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agopowerpc/mm: Fix handling of _PAGE_COHERENT in BAT setup code
Gerhard Pircher [Fri, 23 Jan 2009 06:51:28 +0000 (06:51 +0000)]
powerpc/mm: Fix handling of _PAGE_COHERENT in BAT setup code

_PAGE_COHERENT is now always set in _PAGE_RAM resp. PAGE_KERNEL.
Thus it has to be masked out, if the BAT mapping should be non
cacheable or CPU_FTR_NEED_COHERENT is not set.

This will work on normal SMP setups because we force-set
CPU_FTR_NEED_COHERENT as part of CPU_FTR_COMMON on SMP.

Signed-off-by: Gerhard Pircher <gerhard_pircher@gmx.net>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>