profile/ivi/kernel-adaptation-intel-automotive.git
17 years ago[PATCH] Remove _machine macro
s.hauer@pengutronix.de [Thu, 2 Nov 2006 12:56:01 +0000 (13:56 +0100)]
[PATCH] Remove _machine macro

The _machine macro was once used for compatibility with ARCH=ppc
drivers.  It is unused in current kernels, so remove it.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[PATCH] Remove unnecessary ifdef in include/asm-powerpc/pci.h
s.hauer@pengutronix.de [Thu, 2 Nov 2006 12:56:00 +0000 (13:56 +0100)]
[PATCH] Remove unnecessary ifdef in include/asm-powerpc/pci.h

Current kernels always have one of CONFIG_PPC_MULTIPLATFORM or
CONFIG_PPC32 defined, so remove bogus ifdef.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[PATCH] Remove dead code in iommu.h
Sascha Hauer [Mon, 6 Nov 2006 10:19:08 +0000 (11:19 +0100)]
[PATCH] Remove dead code in iommu.h

iommu_setup_pSeries() and iommu_setup_dart() are declared extern but
are not implemented, so remove them.  Remove ifdef around extern
function declaration.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[PATCH] Replace CONFIG_PPC_MULTIPLATFORM with CONFIG_PPC_PMAC in tulip driver
s.hauer@pengutronix.de [Thu, 2 Nov 2006 12:55:57 +0000 (13:55 +0100)]
[PATCH] Replace CONFIG_PPC_MULTIPLATFORM with CONFIG_PPC_PMAC in tulip driver

Replace CONFIG_PPC_MULTIPLATFORM with CONFIG_PPC_PMAC in
drivers/net/tulip/de4x5.c.  It is needed for a pmac specific hook but
has nothing with to do with PPC_MULTIPLATFORM.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[PATCH] Remove inclusion of asm/processor.h in via82cxxx.c
Sascha Hauer [Fri, 3 Nov 2006 08:52:49 +0000 (09:52 +0100)]
[PATCH] Remove inclusion of asm/processor.h in via82cxxx.c

There is some PPC_CHRP specific code in drivers/ide/pci/via82cxxx.c,
so #ifdef on CONFIG_PPC_CHRP instead of CONFIG_PPC_MULTIPLATFORM.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] cell: add cpufreq driver for Cell BE processor
Christian Krafft [Tue, 24 Oct 2006 16:39:45 +0000 (18:39 +0200)]
[POWERPC] cell: add cpufreq driver for Cell BE processor

This patch adds a cpufreq backend driver to enable frequency scaling on cell.

Signed-off-by: Christian Krafft <krafft@de.ibm.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] add support for dumping spu info from xmon
Michael Ellerman [Tue, 24 Oct 2006 16:31:28 +0000 (18:31 +0200)]
[POWERPC] add support for dumping spu info from xmon

This patch adds a command to xmon for dumping information about
spu structs. The command is 'sf' for "spu fields" perhaps, and
takes the spu number as an argument. This is the same value as the
spu->number field, or the "phys-id" value of a context when it is
bound to a physical spu.

We try to catch memory errors as we dump each field, hopefully this
will make the command reasonably robust, but YMMV. If people see a
need we can easily add more fields to the dump in future.

Output looks something like this:

0:mon> sf 0
Dumping spu fields at address c00000001ffd9e80:
  number                  = 0x0
  name                    = spe
  devnode->full_name      = /cpus/PowerPC,BE@0/spes/spe@0
  nid                     = 0x0
  local_store_phys        = 0x20000000000
  local_store             = 0xd0000800801e0000
  ls_size                 = 0x0
  isrc                    = 0x4
  node                    = 0x0
  flags                   = 0x0
  dar                     = 0x0
  dsisr                   = 0x0
  class_0_pending         = 0
  irqs[0]                 = 0x16
  irqs[1]                 = 0x17
  irqs[2]                 = 0x24
  slb_replace             = 0x0
  pid                     = 0
  prio                    = 0
  mm                      = 0x0000000000000000
  ctx                     = 0x0000000000000000
  rq                      = 0x0000000000000000
  timestamp               = 0x0000000000000000
  problem_phys            = 0x20000040000
  problem                 = 0xd000080080220000
  problem->spu_runcntl_RW = 0x0
  problem->spu_status_R   = 0x0
  problem->spu_npc_RW     = 0x0
  priv1                   = 0xd000080080240000
  priv1->mfc_sr1_RW       = 0x33
  priv2                   = 0xd000080080250000

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] add support for stopping spus from xmon
Michael Ellerman [Tue, 24 Oct 2006 16:31:27 +0000 (18:31 +0200)]
[POWERPC] add support for stopping spus from xmon

This patch adds support for stopping, and restarting, spus
from xmon. We use the spu master runcntl bit to stop execution,
this is apparently the "right" way to control spu execution and
spufs will be changed in the future to use this bit.

Testing has shown that to restart execution we have to turn the
master runcntl bit on and also rewrite the spu runcntl bit, even
if it is already set to 1 (running).

Stopping spus is triggered by the xmon command 'ss' - "spus stop"
perhaps. Restarting them is triggered via 'sr'. Restart doesn't
start execution on spus unless they were running prior to being
stopped by xmon.

Walking the spu->full_list in xmon after a panic, would mean
corruption of any spu struct would make all the others
inaccessible. To avoid this, and also to make the next patch
easier, we cache pointers to all spus during boot.

We attempt to catch and recover from errors while stopping and
restarting the spus, but as with most xmon functionality there are
no guarantees that performing these operations won't crash xmon
itself.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] cell: use ppc_md->power_save instead of cbe_idle_loop
arnd@arndb.de [Tue, 24 Oct 2006 16:31:26 +0000 (18:31 +0200)]
[POWERPC] cell: use ppc_md->power_save instead of cbe_idle_loop

This moves the cell idle function to use the default cpu_idle
with a special power_save callback, like all other platforms
except iSeries already do.

It also makes it possible to disable this power_save function
with a new powerpc-specific boot option "powersave=off".

Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] cell: add temperature to SPU and CPU sysfs entries
Christian Krafft [Tue, 24 Oct 2006 16:31:25 +0000 (18:31 +0200)]
[POWERPC] cell: add temperature to SPU and CPU sysfs entries

This patch adds a module that registers sysfs attributes to CPU and SPU
containing the temperature of the CBE.

They can be found under
/sys/devices/system/spu/cpuX/thermal/temperature[0|1]
/sys/devices/system/spu/spuX/thermal/temperature

The temperature is read from the on-chip temperature sensors.

Signed-off-by: Christian Krafft <krafft@de.ibm.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] sysfs: add support for adding/removing spu sysfs attributes
Christian Krafft [Tue, 24 Oct 2006 16:31:24 +0000 (18:31 +0200)]
[POWERPC] sysfs: add support for adding/removing spu sysfs attributes

This patch adds two functions to create and remove sysfs attributes and
attribute_group to all cpus.  That allows to register sysfs attributes in
a subdirectory like: /sys/devices/system/cpu/cpuX/group_name/what_ever
This will be used by cbe_thermal to group all attributes dealing with
thermal support in one directory.

Signed-of-by: Christian Krafft <krafft@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] cell: add support for registering sysfs attributes to spus
Christian Krafft [Tue, 24 Oct 2006 16:31:23 +0000 (18:31 +0200)]
[POWERPC] cell: add support for registering sysfs attributes to spus

In order to add sysfs attributes to all spu's, there is a
need for a list of all available spu's. Adding the device_node
makes also sense, as it is needed for proper register access.
This patch also adds two functions to create and remove sysfs
attributes and attribute_groups to all spus.
That allows to group spu attributes in a subdirectory like:
/sys/devices/system/spu/spuX/group_name/what_ever
This will be used by cbe_thermal to group all attributes dealing with
thermal support in one directory.

Signed-off-by: Christian Krafft <krafft@de.ibm.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] cell: add low-level performance monitoring code
Kevin Corry [Tue, 24 Oct 2006 16:31:22 +0000 (18:31 +0200)]
[POWERPC] cell: add low-level performance monitoring code

Add routines for accessing the registers and counters in the performance
monitoring unit.

Signed-off-by: Kevin Corry <kevcorry@us.ibm.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] cell: add shadow registers for pmd_reg
Kevin Corry [Tue, 24 Oct 2006 16:31:21 +0000 (18:31 +0200)]
[POWERPC] cell: add shadow registers for pmd_reg

Many of the registers in the performance monitoring unit are write-only.
We need to save a "shadow" copy when we write to those registers so we
can retrieve the values if we need them later.

The new cbe_pmd_shadow_regs structure is added to the cbe_regs_map structure
so we have the appropriate per-node copies of these shadow values.

Signed-off-by: Kevin Corry <kevcorry@us.ibm.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] cell: update Cell BE register definitions
David Erb [Tue, 24 Oct 2006 16:31:20 +0000 (18:31 +0200)]
[POWERPC] cell: update Cell BE register definitions

There are a few definitions that are required by subsequent patches,
so add them here.

The original patch is from David Erb, but is significantly cleaned
up by Kevon Corry.

Cc: Kevin Corry <kevcorry@us.ibm.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] spufs: Add isolated-mode SPE recycling support
Jeremy Kerr [Tue, 24 Oct 2006 16:31:19 +0000 (18:31 +0200)]
[POWERPC] spufs: Add isolated-mode SPE recycling support

When in isolated mode, SPEs have access to an area of persistent
storage, which is per-SPE. In order for isolated-mode apps to
communicate arbitrary data through this storage, we need to ensure that
isolated physical SPEs can be reused for subsequent applications.

Add a file ("recycle") in a spethread dir to enable isolated-mode
recycling. By writing to this file, the kernel will reload the
isolated-mode loader kernel, allowing a new app to be run on the same
physical SPE.

This requires the spu_acquire_exclusive function to enforce exclusive
access to the SPE while the loader is initialised.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] spufs: allow isolated mode apps by starting the SPE loader
arnd@arndb.de [Tue, 24 Oct 2006 16:31:18 +0000 (18:31 +0200)]
[POWERPC] spufs: allow isolated mode apps by starting the SPE loader

This patch adds general support for isolated mode SPE apps.

Isolated apps are started indirectly, by a dedicated loader "kernel".
This patch starts the loader when spe_create is invoked with the
ISOLATE flag. We do this at spe_create time to allow libspe to pass the
isolated app in before calling spe_run.

The loader is read from the device tree, at the location
"/spu-isolation/loader". If the loader is not present, an attempt to
start an isolated SPE binary will fail with -ENODEV.

Update: loader needs to be correctly aligned - copy to a kmalloced buf.
Update: remove workaround for systemsim/spurom 'L-bit' bug, which has
        been fixed.
Update: don't write to runcntl on spu_run_init: SPU is already running.
Update: do spu_setup_isolated earlier

Tested on systemsim.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] spufs: "stautus" isnt a word.
arnd@arndb.de [Tue, 24 Oct 2006 16:31:17 +0000 (18:31 +0200)]
[POWERPC] spufs: "stautus" isnt a word.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] spufs: add support for nonschedulable contexts
Mark Nutter [Tue, 24 Oct 2006 16:31:16 +0000 (18:31 +0200)]
[POWERPC] spufs: add support for nonschedulable contexts

This adds two new flags to spu_create:

SPU_CREATE_NONSCHED: create a context that is never moved
away from an SPE once it has started running. This flag
can only be used by tasks with the CAP_SYS_NICE capability.

SPU_CREATE_ISOLATED: create a nonschedulable context that
enters isolation mode upon first run. This requires the
SPU_CREATE_NONSCHED flag.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] cell: remove unused struct spu variable
Geoff Levand [Tue, 24 Oct 2006 16:31:15 +0000 (18:31 +0200)]
[POWERPC] cell: remove unused struct spu variable

Remove the mostly unused variable isrc from struct spu and a forgotten
function declaration.

Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] spufs: wrap mfc sdr access
Masato Noguchi [Tue, 24 Oct 2006 16:31:14 +0000 (18:31 +0200)]
[POWERPC] spufs: wrap mfc sdr access

SPRN_SDR1 and the SPE's MFC SDR are hypervisor resources and
are not accessible from a logical partition.  This change adds an
access wrapper.

When running on bare H/W, the spufs needs to only set the SPE's MFC SDR
to the value of the PPE's SPRN_SDR1 once at SPE initialization, so this
change renames mfc_sdr_set() to mfc_sdr_setup() and moves the
access of SPRN_SDR1 into the mmio wrapper.  It also removes the now
unneeded member mfc_sdr_RW from struct spu_priv1_collapsed.

Signed-off-by: Masato Noguchi <Masato.Noguchi@jp.sony.com>
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
--
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Make irq_dispose_mapping(NO_IRQ) a nop
Michael Ellerman [Tue, 24 Oct 2006 03:37:34 +0000 (13:37 +1000)]
[POWERPC] Make irq_dispose_mapping(NO_IRQ) a nop

It makes for a friendlier API if irq_dispose_mapping(NO_IRQ) is a
nop, rather than triggering a WARN_ON.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Fixed some missing files to be deleted when running make clean
Matthew McClintock [Mon, 23 Oct 2006 19:26:57 +0000 (14:26 -0500)]
[POWERPC] Fixed some missing files to be deleted when running make clean

Fixed some missing files to be deleted when running make clean

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Move iSeries initrd logic into device tree
Michael Ellerman [Wed, 18 Oct 2006 05:53:20 +0000 (15:53 +1000)]
[POWERPC] Move iSeries initrd logic into device tree

Remove the iSeries initrd logic, instead just store the initrd location and
size in the device tree so generic code can do the rest for us.

The iSeries code had a "feature" which the generic code lacks, ie. if the
compressed initrd is bigger than the configured ram disk size, we make
the ram disk size bigger. That's bogus, as the compressed size of the initrd
tells us nothing about how big the ram disk needs to be. If the ram disk
isn't big enough you just need to make CONFIG_BLK_DEV_RAM_SIZE larger.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Fix up the OF functions to only do PCI stuff if PCI is actually configured
Andy Fleming [Mon, 16 Oct 2006 21:03:33 +0000 (16:03 -0500)]
[POWERPC] Fix up the OF functions to only do PCI stuff if PCI is actually configured

The original problem that inspired this patch was solved quite some time
ago (Turning off PCI didn't work), but this patch neatens things up a
little (I think), by putting all the PCI stuff inside a single CONFIG_PCI
block.  It also removes the OF PCI bus matching entries if CONFIG_PCI is
off.

Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Add mktree utility to arch/powerpc/boot
Josh Boyer [Fri, 13 Oct 2006 15:07:01 +0000 (10:07 -0500)]
[POWERPC] Add mktree utility to arch/powerpc/boot

This patch adds the mktree program that is needed to post process zImage
wrappers for various PowerPC 4xx boards

Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Add simple memory allocator to bootwrapper
Mark A. Greer [Mon, 16 Oct 2006 20:54:52 +0000 (13:54 -0700)]
[POWERPC] Add simple memory allocator to bootwrapper

Provide primitive malloc, free, and realloc functions for bootwrapper.

Signed-off-by: Mark A. Greer <mgreer@mvista.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Add non-OF serial console support
Mark A. Greer [Mon, 16 Oct 2006 20:52:09 +0000 (13:52 -0700)]
[POWERPC] Add non-OF serial console support

Add serial console support for non-OF systems.  There is a generic serial
console layer which calls a serial console driver.  Included is the serial
console driver for the ns16550 class of uarts.  Necessary support routines
are added as well.

Signed-off-by: Mark A. Greer <mgreer@mvista.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Add flatdevtree source
Mark A. Greer [Mon, 16 Oct 2006 20:50:05 +0000 (13:50 -0700)]
[POWERPC] Add flatdevtree source

Add the latest version of the flatdevtree code and corresponding glue.

A phandle table now tracks values returned by ft_find_device().
The value returned by ft_find_device() is a phandle which is really
an index into the phandle table.  The phandle table contains the address
of the corresponding node.  When the flat dt is edited/moved, the node
pointers in the phandle table are updated accordingly so no phandles kept
by the caller become stale.

Signed-off-by: Mark A. Greer <mgreer@mvista.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] More bootwrapper reorganization
Mark A. Greer [Mon, 16 Oct 2006 20:49:27 +0000 (13:49 -0700)]
[POWERPC] More bootwrapper reorganization

More reorganization of the bootwrapper:
- Add dtb section to zImage
- ft_init now called by platform_init
- Pack a flat dt before calling kernel
- Remove size parameter from free
- printf only calls console_ops.write it its not NULL
- Some cleanup

Signed-off-by: Mark A. Greer <mgreer@mvista.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Make sure interrupt enable gets restored properly
Paul Mackerras [Wed, 18 Oct 2006 00:11:22 +0000 (10:11 +1000)]
[POWERPC] Make sure interrupt enable gets restored properly

The lazy IRQ disable patch missed a couple of places where the
interrupt enable flags need to be restored correctly.  First, we
weren't restoring the paca->hard_enabled flag on interrupt exit.
Instead of saving it on entry, we compute it from the MSR_EE bit
in the MSR we are restoring at exit.  Secondly, the MMU hash miss
code was clearing both paca->soft_enabled and paca->hard_enabled
but not restoring them in the case where hash_page was able to
resolve the miss from the Linux page tables.

Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Make pSeries_lpar_hpte_insert static
Geoff Levand [Thu, 5 Oct 2006 18:35:10 +0000 (11:35 -0700)]
[POWERPC] Make pSeries_lpar_hpte_insert static

Change the powerpc hpte_insert routines now called through ppc_md to
static scope.

Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Remove todc code from ARCH=powerpc
David Gibson [Tue, 3 Oct 2006 06:57:44 +0000 (16:57 +1000)]
[POWERPC] Remove todc code from ARCH=powerpc

Apparently we've copied the todc drivers, for various RTCs used in
embedded machines from ARCH=ppc to ARCH=powerpc, despite the fact that
it's never used in the latter.  This patch removes it.

If we ever need these drivers (which we probably shouldn't now the RTC
class stuff is in), we can transfer them one by one from ARCH=ppc,
removing from the hideous abomination which is the todc
"infrastructure".

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] powerpc: Enable DEEPNAP power savings mode on 970MP
Olof Johansson [Thu, 5 Oct 2006 04:41:41 +0000 (23:41 -0500)]
[POWERPC] powerpc: Enable DEEPNAP power savings mode on 970MP

Without this patch, on an idle system I get:

cpu-power-0:21.638
cpu-power-1:27.102
cpu-power-2:29.343
cpu-power-3:25.784
Total: 103.8W

With this patch:

cpu-power-0:11.730
cpu-power-1:17.185
cpu-power-2:18.547
cpu-power-3:17.528
Total: 65.0W

If I lower HZ to 100, I can get it as low as:

cpu-power-0:10.938
cpu-power-1:16.021
cpu-power-2:17.245
cpu-power-3:16.145
Total: 60.2W

Another (older) Quad G5 went from 54W to 39W at HZ=250.

Coming back out of Deep Nap takes 40-70 cycles longer than coming back
from just Nap (which already takes quite a while). I don't think it'll
be a performance issue (interrupt latency on an idle system), but in
case someone does measurements feel free to report them.

Signed-off-by: Olof Johansson <olof@lixom.net>
Acked-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Lazy interrupt disabling for 64-bit machines
Paul Mackerras [Wed, 4 Oct 2006 06:47:49 +0000 (16:47 +1000)]
[POWERPC] Lazy interrupt disabling for 64-bit machines

This implements a lazy strategy for disabling interrupts.  This means
that local_irq_disable() et al. just clear the 'interrupts are
enabled' flag in the paca.  If an interrupt comes along, the interrupt
entry code notices that interrupts are supposed to be disabled, and
clears the EE bit in SRR1, clears the 'interrupts are hard-enabled'
flag in the paca, and returns.  This means that interrupts only
actually get disabled in the processor when an interrupt comes along.

When interrupts are enabled by local_irq_enable() et al., the code
sets the interrupts-enabled flag in the paca, and then checks whether
interrupts got hard-disabled.  If so, it also sets the EE bit in the
MSR to hard-enable the interrupts.

This has the potential to improve performance, and also makes it
easier to make a kernel that can boot on iSeries and on other 64-bit
machines, since this lazy-disable strategy is very similar to the
soft-disable strategy that iSeries already uses.

This version renames paca->proc_enabled to paca->soft_enabled, and
changes a couple of soft-disables in the kexec code to hard-disables,
which should fix the crash that Michael Ellerman saw.  This doesn't
yet use a reserved CR field for the soft_enabled and hard_enabled
flags.  This applies on top of Stephen Rothwell's patches to make it
possible to build a combined iSeries/other kernel.

Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Check for offline nodes in pci NUMA code
Anton Blanchard [Fri, 13 Oct 2006 02:26:57 +0000 (12:26 +1000)]
[POWERPC] Check for offline nodes in pci NUMA code

During boot we bring up all memory and cpu nodes. Normally a PCI device
will be in one of these online nodes, however in some weird setups it
may not.

We have only seen this in the lab but we may as well check for the case
and fallback to -1 (all nodes).

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Better check in show_instructions
Anton Blanchard [Fri, 13 Oct 2006 02:17:16 +0000 (12:17 +1000)]
[POWERPC] Better check in show_instructions

Instead of just checking that an address is in the right range, use the
provided __kernel_text_address() helper which covers both the kernel and
module text sections.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] POWER6 has 6 PMCs
Anton Blanchard [Fri, 13 Oct 2006 02:13:12 +0000 (12:13 +1000)]
[POWERPC] POWER6 has 6 PMCs

Change ->num_pmcs to match the number of PMCs in POWER6.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Never panic when taking altivec exceptions from userspace
Anton Blanchard [Fri, 13 Oct 2006 01:41:00 +0000 (11:41 +1000)]
[POWERPC] Never panic when taking altivec exceptions from userspace

At the moment we rely on a cpu feature bit or a firmware property to
detect altivec. If we dont have either of these and the cpu does in fact
support altivec we can cause a panic from userspace.

It seems safer to always send a signal if we manage to get an 0xf20
exception from userspace.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Fix IO Window Updates on P2P bridges.
Randy Vinson [Thu, 12 Oct 2006 20:36:23 +0000 (13:36 -0700)]
[POWERPC] Fix IO Window Updates on P2P bridges.

When update_bridge_base() updates the IO window on a PCI-to-PCI
bridge, it fails to zero the upper 16 bits of the base and limit
registers if the window size is less than 64K.  This fixes it.

Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Add Makefile entry for MPC832x_mds support
Li Yang [Wed, 11 Oct 2006 11:27:57 +0000 (19:27 +0800)]
[POWERPC] Add Makefile entry for MPC832x_mds support

Add missing entry in Makefile for MPC832x MDS support.  It
also change white space to tab in MPC8360 entry.

Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Fix MPC8360EMDS PB board support
Li Yang [Wed, 11 Oct 2006 11:04:22 +0000 (19:04 +0800)]
[POWERPC] Fix MPC8360EMDS PB board support

MPC8360EMDS PB support is broken as some code was missing
in last submission.  This patch adds missing code and makes
MPC8360EMDS PB support working.

Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] ppc: Add missing calls to set_irq_regs
Kumar Gala [Wed, 11 Oct 2006 07:06:59 +0000 (02:06 -0500)]
[POWERPC] ppc: Add missing calls to set_irq_regs

In the timer_interrupt we were not calling set_irq_regs() and if we are
profiling we will end up calling get_irq_regs().  This causes bad things to
happen.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Off-by-one in /arch/ppc/platforms/mpc8*
Eric Sesterhenn [Tue, 10 Oct 2006 21:37:29 +0000 (14:37 -0700)]
[POWERPC] Off-by-one in /arch/ppc/platforms/mpc8*

A find -iname \*.[ch] | xargs grep "> ARRAY_SIZE(" revealed several
incorrect usages of ARRAY_SIZE in the mpc drivers.  The last element in the
array is always ARRAY_SIZE()-1, this patch modifies the bounds checks
accordingly.

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Cc: Vitaly Bordug <vbordug@ru.mvista.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Add DOS partition table support to mpc834x_itx_defconfig
Timur Tabi [Tue, 10 Oct 2006 16:53:26 +0000 (11:53 -0500)]
[POWERPC] Add DOS partition table support to mpc834x_itx_defconfig

The default configuration file for the MPC8349E-mITX reference board,
mpc834x_itx_defconfig, did not include support for DOS partition table types.
This support is necessary because the hard drive that comes with the ITX
is formatted with this partition table type.  Without this config option,
no partitions on the drive can be mounted.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] spufs: fix support for read/write on cntl
Noguchi, Masato [Tue, 10 Oct 2006 08:27:29 +0000 (10:27 +0200)]
[POWERPC] spufs: fix support for read/write on cntl

This fixes a memory leak introduced by "spufs: add support
for read/write oncntl", which was missing a call to simple_attr_close.

Signed-off-by: Masato Noguchi <Masato.Noguchi@jp.sony.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Don't crash on cell with 2 BEs when !CONFIG_NUMA
Benjamin Herrenschmidt [Tue, 10 Oct 2006 05:14:12 +0000 (15:14 +1000)]
[POWERPC] Don't crash on cell with 2 BEs when !CONFIG_NUMA

The SPU code will crash if CONFIG_NUMA is not set and SPUs are found on
a non-0 node. This workaround will ignore those SPEs and just print an
message in the kernel log.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[PATCH] make UML compile (FC6/x86-64)
Ulrich Drepper [Sun, 15 Oct 2006 19:03:48 +0000 (15:03 -0400)]
[PATCH] make UML compile (FC6/x86-64)

I need this patch to get a UML kernel to compile.  This is with the
kernel headers in FC6 which are automatically generated from the kernel
tree.  Some headers are missing but those files don't need them.  At
least it appears so since the resuling kernel works fine.

Tested on x86-64.

Signed-off-by: Ulrich Drepper <drepper@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoFix VM_MAYEXEC calculation
Linus Torvalds [Sun, 15 Oct 2006 21:09:55 +0000 (14:09 -0700)]
Fix VM_MAYEXEC calculation

.. and clean up the file mapping code while at it.  No point in having a
"if (file)" repeated twice, and generally doing similar checks in two
different sections of the same code

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Fix core files so they make sense to gdb...
Petr Vandrovec [Fri, 13 Oct 2006 16:42:07 +0000 (18:42 +0200)]
[PATCH] Fix core files so they make sense to gdb...

It is silly to use non-static variable for writting zeroes to the file.

And more seriously, foffset in core dump file dump function was incremented
too much, so some parts of core dump were shifted by size of few phdrs and
notes down, so although gdb was able to load that file, it did not make lot
of sense - in my test case data pages were shifted down by about 900 bytes.

Signed-off-by: Petr Vandrovec <petr@vandrovec.name>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux...
Linus Torvalds [Sun, 15 Oct 2006 18:02:52 +0000 (11:02 -0700)]
Merge branch 'release' of git://git./linux/kernel/git/lenb/linux-acpi-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (28 commits)
  ACPI: check battery status on resume for un/plug events during sleep
  ACPICA: Fix incorrect handling of PCI Express Root Bridge _HID
  ACPI: asus_acpi: don't printk on writing garbage to proc files
  ACPI: asus_acpi: fix proc files parsing
  ACPI: SCI interrupt source override
  ACPI: fix printk format warnings
  ACPI: fix section for CPU init functions
  ACPI: update comments in motherboard.c
  ACPI: acpi_pci_link_set() can allocate with either GFP_ATOMIC or GFP_KERNEL
  ACPI: fix potential OOPS in power driver with CONFIG_ACPI_DEBUG
  ACPI: ibm_acpi: delete obsolete documentation
  ACPI: created a dedicated workqueue for notify() execution
  ACPI: Remove deferred execution from global lock acquire wakeup path
  MSI S270 Laptop support: backlight, wlan, bluetooth states
  ACPI: EC: export ec_transaction() for msi-laptop driver
  ACPI: EC: Simplify acpi_hw_low_level*() with inb()/outb().
  ACPI: EC: Unify poll and interrupt gpe handlers
  ACPI: EC: Unify poll and interrupt mode transaction functions
  ACPI: EC: Remove unused variables and duplicated code
  ACPI: EC: Remove unnecessary delay added by previous transation patch.
  ...

18 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb
Linus Torvalds [Sun, 15 Oct 2006 18:01:53 +0000 (11:01 -0700)]
Merge branch 'master' of git://git./linux/kernel/git/mchehab/v4l-dvb

* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb:
  V4L/DVB (4750): AGC command1/2 is board specific
  V4L/DVB (4748): Fixed oops for Nova-T USB2
  V4L/DVB (4746): HM12 is YUV 4:2:0, not YUV 4:1:1
  V4L/DVB (4744): The Samsung TCPN2121P30A does not have a tda9887
  V4L/DVB (4743): Fix oops in VIDIOC_G_PARM
  V4L/DVB (4742): Drivers/media/video: handle sysfs errors
  V4L/DVB (4741): {ov511,stv680}: handle sysfs errors
  V4L/DVB (4740): Fixed an if-block to avoid floating with debug-messages
  V4L/DVB (4739): SECAM support for saa7113 into saa7115
  V4L/DVB (4738): Bt8xx/dvb-bt8xx.c: check kmalloc() return value.
  V4L/DVB (4734): Tda826x: fix frontend selection for dvb_attach
  V4L/DVB (4733): Tda10086: fix frontend selection for dvb_attach
  V4L/DVB (4732): Fix spelling error in Kconfig help text for DVB_CORE_ATTACH
  V4L/DVB (4731a): Kconfig: restore pvrusb2 menu items
  V4L/DVB (4729): Fix VIDIOC_G_FMT for NTSC in cx25840.
  V4L/DVB (4727): Support status readout for saa713x based FM radio
  V4L/DVB (4725): Fix vivi compile on parisc
  V4L/DVB (4692): Add WinTV-HVR3000 DVB-T support

18 years ago[PATCH] serial167 __user annotations, NULL noise removal
Al Viro [Sat, 14 Oct 2006 15:51:49 +0000 (16:51 +0100)]
[PATCH] serial167 __user annotations, NULL noise removal

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] sun3_ioremap() prototype
Al Viro [Sat, 14 Oct 2006 15:53:38 +0000 (16:53 +0100)]
[PATCH] sun3_ioremap() prototype

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] hp drivers/input stuff: C99 initializers, NULL noise removal, __user annotations
Al Viro [Sat, 14 Oct 2006 15:52:36 +0000 (16:52 +0100)]
[PATCH] hp drivers/input stuff: C99 initializers, NULL noise removal, __user annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] new cifs endianness bugs
Al Viro [Sat, 14 Oct 2006 15:48:26 +0000 (16:48 +0100)]
[PATCH] new cifs endianness bugs

* missing cpu_to_le64() for ChangeTime (introduced by
    [CIFS] Legacy time handling for Win9x and OS/2 part 1)
* missing le16_to_cpu() for DialectIndex (introduced by
    [CIFS] Do not send newer QFSInfo to legacy servers which can not support it)

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] gfp_t in netlabel
Al Viro [Sat, 14 Oct 2006 15:50:38 +0000 (16:50 +0100)]
[PATCH] gfp_t in netlabel

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoPull trivial into test branch
Len Brown [Sat, 14 Oct 2006 06:28:07 +0000 (02:28 -0400)]
Pull trivial into test branch

18 years agoPull sci into test branch
Len Brown [Sat, 14 Oct 2006 06:27:52 +0000 (02:27 -0400)]
Pull sci into test branch

18 years agoPull bugzilla-5534 into test branch
Len Brown [Sat, 14 Oct 2006 06:26:42 +0000 (02:26 -0400)]
Pull bugzilla-5534 into test branch

18 years agoPull msi-laptop into test branch
Len Brown [Sat, 14 Oct 2006 06:26:18 +0000 (02:26 -0400)]
Pull msi-laptop into test branch

18 years agoPull ec into test branch
Len Brown [Sat, 14 Oct 2006 06:26:10 +0000 (02:26 -0400)]
Pull ec into test branch

18 years agoPull mwait into test branch
Len Brown [Sat, 14 Oct 2006 06:25:59 +0000 (02:25 -0400)]
Pull mwait into test branch

18 years agoPull battery into test branch
Len Brown [Sat, 14 Oct 2006 06:25:48 +0000 (02:25 -0400)]
Pull battery into test branch

18 years agoPull ibm into test branch
Len Brown [Sat, 14 Oct 2006 06:25:40 +0000 (02:25 -0400)]
Pull ibm into test branch

18 years agoPull asus into test branch
Len Brown [Sat, 14 Oct 2006 06:25:33 +0000 (02:25 -0400)]
Pull asus into test branch

18 years agoACPI: check battery status on resume for un/plug events during sleep
Jiri Kosina [Tue, 10 Oct 2006 21:20:41 +0000 (14:20 -0700)]
ACPI: check battery status on resume for un/plug events during sleep

Add ->resume method to the ACPI battery handler to check
if the battery state has changed during sleep.
If yes, update the ACPI internal data structures
for benefit of /proc/acpi/battery/.

Signed-off-by: Jiri Kosina <jikos@jikos.cz>
Cc: Stefan Seyfried <seife@suse.de>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPICA: Fix incorrect handling of PCI Express Root Bridge _HID
Eiichiro Oiwa [Mon, 2 Oct 2006 15:18:03 +0000 (19:18 +0400)]
ACPICA: Fix incorrect handling of PCI Express Root Bridge _HID

I could not get correct PCI Express bus number from the structure of
acpi_object_extra. I always get zero as bus number regardless of bus
location. I found that there is incorrect comparison with _HID (PNP0A08) in
acpi/events/evrgnini.c and PCI Express _BBN method always fail.
Therefore, we always get zero as PCI Express bus number.
http://bugzilla.kernel.org/show_bug.cgi?id=7145

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: asus_acpi: don't printk on writing garbage to proc files
Alexey Dobriyan [Tue, 10 Oct 2006 21:20:36 +0000 (14:20 -0700)]
ACPI: asus_acpi: don't printk on writing garbage to proc files

This reporting is useless (we errno anyway).

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: asus_acpi: fix proc files parsing
Darren Jenkins [Tue, 10 Oct 2006 21:20:35 +0000 (14:20 -0700)]
ACPI: asus_acpi: fix proc files parsing

ICC complains about a "Pointless comparsion of unsigned interger with zero"
@ line 760 & 808 of asus_acpi.c

parse_arg() mentioned below returns -E but it's copied into unsigned variable...

Signed-off-by: Darren Jenkins <darrenrjenkins@gmail.com>
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: SCI interrupt source override
Kimball Murray [Tue, 10 Oct 2006 21:20:33 +0000 (14:20 -0700)]
ACPI: SCI interrupt source override

The Linux group at Stratus Technologies has come across an issue with SCI
routing under ACPI.  We were bitten by this when we made an x86_64 platform
whose BIOS provides an Interrupt Source Override for the SCI itself.
Apparently the override has no effect for the System Control Interrupt, and
this appears to be because of the way the SCI is setup in the ACPI code.
It does not handle the case where busirq != gsi.

The code that sets up the SCI routing assumes that bus irq == global irq.
So there is simply no provision for telling it otherwise.  The attached
patch provides this mechanism.

This patch provided by David Bulkow, was tested on an i386 platform, which
does not use the SCI override, and also on an x86_64 platform which does
use an override.

Signed-off-by: David Bulkow <david.bulkow@stratus.com>
Cc: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: fix printk format warnings
Randy Dunlap [Tue, 10 Oct 2006 21:20:32 +0000 (14:20 -0700)]
ACPI: fix printk format warnings

Fix printk format warnings in drivers/acpi:
drivers/acpi/tables/tbget.c:326: warning: format '%X' expects type 'unsigned int', but argument 5 has type 'long unsigned int'
drivers/acpi/tables/tbrsdt.c:189: warning: format '%X' expects type 'unsigned int', but argument 5 has type 'long unsigned int'

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: fix section for CPU init functions
Pierre Ossman [Tue, 10 Oct 2006 21:20:31 +0000 (14:20 -0700)]
ACPI: fix section for CPU init functions

The ACPI processor init functions should be marked as __cpuinit as they use
structures marked with __cpuinitdata.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: update comments in motherboard.c
Len Brown [Thu, 14 Sep 2006 21:16:22 +0000 (17:16 -0400)]
ACPI: update comments in motherboard.c

Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: acpi_pci_link_set() can allocate with either GFP_ATOMIC or GFP_KERNEL
Jiri Kosina [Thu, 24 Aug 2006 04:36:19 +0000 (00:36 -0400)]
ACPI: acpi_pci_link_set() can allocate with either GFP_ATOMIC or GFP_KERNEL

acpi_pci_link_set() allocates both with interrupts on
and with interrupts off (resume-time), so check interrupts
and decide on GFP_ATOMIC or GFP_KERNEL at run-time.

Signed-off-by: Jiri Kosina <jikos@jikos.cz>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: fix potential OOPS in power driver with CONFIG_ACPI_DEBUG
Dmitry Torokhov [Thu, 24 Aug 2006 03:18:06 +0000 (23:18 -0400)]
ACPI: fix potential OOPS in power driver with CONFIG_ACPI_DEBUG

device was set to null and used before set in a debug printk

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: ibm_acpi: delete obsolete documentation
Pavel Machek [Thu, 31 Aug 2006 12:15:54 +0000 (14:15 +0200)]
ACPI: ibm_acpi: delete obsolete documentation

As this module is now part of the kernel tree, there is no need
for instructions on how to download it and build an external module.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: created a dedicated workqueue for notify() execution
Alexey Y. Starikovskiy [Tue, 26 Sep 2006 08:20:47 +0000 (04:20 -0400)]
ACPI: created a dedicated workqueue for notify() execution

http://bugzilla.kernel.org/show_bug.cgi?id=5534#c160

Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: Remove deferred execution from global lock acquire wakeup path
Alexey Y. Starikovskiy [Tue, 26 Sep 2006 08:18:16 +0000 (04:18 -0400)]
ACPI: Remove deferred execution from global lock acquire wakeup path

On acquiring the ACPI global lock, if there were sleepers on the lock,
we used to use acpi_os_execute() to defer a thread which would signal
sleepers.  Now just signal the semaphore directly.

http://bugzilla.kernel.org/show_bug.cgi?id=5534#c159

Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoMSI S270 Laptop support: backlight, wlan, bluetooth states
Lennart Poettering [Fri, 6 Oct 2006 05:27:02 +0000 (01:27 -0400)]
MSI S270 Laptop support: backlight, wlan, bluetooth states

Create a driver to support the platform-specific features
of MSI S270 laptops (and maybe other MSI laptops).
This driver implements a backlight device for controlling LCD brightness
(/sys/class/backlight/msi-laptop-bl/).
In addition it allows access to the WLAN and Bluetooth states
through a platform driver (/sys/devices/platform/msi-laptop-pf/).

Signed-off-by: Lennart Poettering <mzxreary@0pointer.de>
Cc: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: EC: export ec_transaction() for msi-laptop driver
Lennart Poettering [Wed, 4 Oct 2006 02:49:00 +0000 (22:49 -0400)]
ACPI: EC: export ec_transaction() for msi-laptop driver

Signed-off-by: Lennart Poettering <mzxreary@0pointer.de>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: EC: Simplify acpi_hw_low_level*() with inb()/outb().
Denis M. Sadykov [Tue, 26 Sep 2006 15:50:33 +0000 (19:50 +0400)]
ACPI: EC: Simplify acpi_hw_low_level*() with inb()/outb().

Simplify acpi_hw_low_level_xxx() functions to inb() and outb().

Signed-off-by: Alexey Y. Starikovskiy <alexey.y.starikovskiy@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: EC: Unify poll and interrupt gpe handlers
Denis M. Sadykov [Tue, 26 Sep 2006 15:50:33 +0000 (19:50 +0400)]
ACPI: EC: Unify poll and interrupt gpe handlers

Signed-off-by: Alexey Y. Starikovskiy <alexey.y.starikovskiy@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: EC: Unify poll and interrupt mode transaction functions
Denis M. Sadykov [Tue, 26 Sep 2006 15:50:33 +0000 (19:50 +0400)]
ACPI: EC: Unify poll and interrupt mode transaction functions

Signed-off-by: Alexey Y. Starikovskiy <alexey.y.starikovskiy@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: EC: Remove unused variables and duplicated code
Denis M. Sadykov [Tue, 26 Sep 2006 15:50:33 +0000 (19:50 +0400)]
ACPI: EC: Remove unused variables and duplicated code

Signed-off-by: Alexey Y. Starikovskiy <alexey.y.starikovskiy@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: EC: Remove unnecessary delay added by previous transation patch.
Denis M. Sadykov [Tue, 26 Sep 2006 15:50:33 +0000 (19:50 +0400)]
ACPI: EC: Remove unnecessary delay added by previous transation patch.

Remove unnecessary delay (50 ms) while reading data from EC in interrupt mode.

Signed-off-by: Alexey Y. Starikovskiy <alexey.y.starikovskiy@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: consolidate functions in acpi ec driver
Lennart Poettering [Tue, 5 Sep 2006 16:12:24 +0000 (12:12 -0400)]
ACPI: consolidate functions in acpi ec driver

Unify the following functions:

    acpi_ec_poll_read()
    acpi_ec_poll_write()
    acpi_ec_poll_query()
    acpi_ec_intr_read()
    acpi_ec_intr_write()
    acpi_ec_intr_query()

into:

    acpi_ec_poll_transaction()
    acpi_ec_intr_transaction()

These new functions take as arguments an ACPI EC command, a few bytes
to write to the EC data register and a buffer for a few bytes to read
from the EC data register. The old _read(), _write(), _query() are
just special cases of these functions.

Then unified the code in acpi_ec_poll_transaction() and
acpi_ec_intr_transaction() a little more. Both functions are now just
wrappers around the new acpi_ec_transaction_unlocked() function. The
latter contains the EC access logic, the two original
function now just do their special way of locking and call the the
new function for the actual work.

This saves a lot of very similar code. The primary reason for doing
this, however, is that my driver for MSI 270 laptops needs to issue
some non-standard EC commands in a safe way. Due to this I added a new
exported function similar to ec_write()/ec_write() which is called
ec_transaction() and is essentially just a wrapper around
acpi_ec_{poll,intr}_transaction().

Signed-off-by: Lennart Poettering <mzxreary@0pointer.de>
Acked-by: Luming Yu <luming.yu@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: Processor native C-states using MWAIT
Venkatesh Pallipadi [Mon, 25 Sep 2006 23:28:13 +0000 (16:28 -0700)]
ACPI: Processor native C-states using MWAIT

Intel processors starting with the Core Duo support
support processor native C-state using the MWAIT instruction.
Refer: Intel Architecture Software Developer's Manual
http://www.intel.com/design/Pentium4/manuals/253668.htm

Platform firmware exports the support for Native C-state to OS using
ACPI _PDC and _CST methods.
Refer: Intel Processor Vendor-Specific ACPI: Interface Specification
http://www.intel.com/technology/iapc/acpi/downloads/302223.htm

With Processor Native C-state, we use 'MWAIT' instruction on the processor
to enter different C-states (C1, C2, C3).  We won't use the special IO
ports to enter C-state and no SMM mode etc required to enter C-state.
Overall this will mean better C-state support.

One major advantage of using MWAIT for all C-states is, with this and
"treat interrupt as break event" feature of MWAIT, we can now get accurate
timing for the time spent in C1, C2, ..  states.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: sbs: fix module_param() initializers
Lebedev, Vladimir P [Tue, 5 Sep 2006 15:59:22 +0000 (19:59 +0400)]
ACPI: sbs: fix module_param() initializers

Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: sbs: check for NULL device pointer
Lebedev, Vladimir P [Tue, 5 Sep 2006 15:49:13 +0000 (19:49 +0400)]
ACPI: sbs: check for NULL device pointer

Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: ibm_acpi: Documentation the wan feature.
Stefan Schmidt [Fri, 22 Sep 2006 10:19:16 +0000 (12:19 +0200)]
ACPI: ibm_acpi: Documentation the wan feature.

Document the wan feature Jeremy Fitzhardinge added to ibm_acpi.

Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
Acked-by: Borislav Deianov <borislav@users.sourceforge.net>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: ibm_acpi: Update documentation for brightness and volume.
Stefan Schmidt [Fri, 22 Sep 2006 10:19:15 +0000 (12:19 +0200)]
ACPI: ibm_acpi: Update documentation for brightness and volume.

Document the change of the experimental flag for brightness and volume.

Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
Acked-by: Borislav Deianov <borislav@users.sourceforge.net>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: ibm_acpi: Remove experimental status for brightness and volume.
Stefan Schmidt [Fri, 22 Sep 2006 10:19:14 +0000 (12:19 +0200)]
ACPI: ibm_acpi: Remove experimental status for brightness and volume.

The brightness and volume features from ibm-acpi are stable.
The experimental flag is no longer needed.

Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
Acked-by: Borislav Deianov <borislav@users.sourceforge.net>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: asus_acpi: W3000 support
Marek W [Tue, 15 Aug 2006 05:37:20 +0000 (22:37 -0700)]
ACPI: asus_acpi: W3000 support

Add support for W3000 (W3V) and indirectly fixes an issue with kmilo under KDE
(it was triggering excessive LCD read error messages by querying asus_acpi
module) allowing people (I am probably the only one who tested this) with
W3000 to run kmilo.

Cc: Karol Kozimor <sziwan@hell.org.pl>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoV4L/DVB (4750): AGC command1/2 is board specific
Patrick Boettcher [Fri, 13 Oct 2006 14:35:12 +0000 (11:35 -0300)]
V4L/DVB (4750): AGC command1/2 is board specific

Added config-struct-parameter to take board-specific AGC command 1 and 2 into account.

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
18 years agoV4L/DVB (4748): Fixed oops for Nova-T USB2
Patrick Boettcher [Fri, 13 Oct 2006 14:33:26 +0000 (11:33 -0300)]
V4L/DVB (4748): Fixed oops for Nova-T USB2

When using the remote control with the Nova-T USB there was an Oops because of
the recent DVB-USB-Adapter change.

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
18 years agoV4L/DVB (4746): HM12 is YUV 4:2:0, not YUV 4:1:1
Hans Verkuil [Fri, 13 Oct 2006 08:12:42 +0000 (05:12 -0300)]
V4L/DVB (4746): HM12 is YUV 4:2:0, not YUV 4:1:1

Fix comment in videodev2.h

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
18 years agoV4L/DVB (4744): The Samsung TCPN2121P30A does not have a tda9887
Hans Verkuil [Thu, 12 Oct 2006 18:45:33 +0000 (15:45 -0300)]
V4L/DVB (4744): The Samsung TCPN2121P30A does not have a tda9887

Contrary to all expections the Samsung TCPN2121P30A tuner does
NOT have a tda9887. Remove the tda9887 flag from the tuner
definition.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
18 years agoV4L/DVB (4743): Fix oops in VIDIOC_G_PARM
Jonathan Corbet [Fri, 13 Oct 2006 10:51:16 +0000 (07:51 -0300)]
V4L/DVB (4743): Fix oops in VIDIOC_G_PARM

The call to v4l2_std_construct() in the VIDIOC_G_PARM handler treats
vfd->current_norm as if it were an index - but it's not.  The result is
an oops if the driver has no vidioc_g_parm() method defined.  Here's the
fix.

Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
18 years agoV4L/DVB (4742): Drivers/media/video: handle sysfs errors
Jeff Garzik [Fri, 13 Oct 2006 10:17:32 +0000 (07:17 -0300)]
V4L/DVB (4742): Drivers/media/video: handle sysfs errors

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>