firefly-linux-kernel-4.4.55.git
12 years agodrm/nouveau/therm: add support for fan-control modes
Martin Peres [Tue, 4 Sep 2012 11:52:00 +0000 (13:52 +0200)]
drm/nouveau/therm: add support for fan-control modes

For now, only 2 control modes are available:
- NONE: The fan is never touched (default)
- MANUAL: The fan is set to the user-defined fan speed (pwm1)

This patch introduces a distinction between ptherm internal fan management
and external fan management. The latter is bound to respect the fan mode
while the first can still select the speed it wants unless the NONE mode
is selected. This is important for automatic fan management.

Signed-off-by: Martin Peres <martin.peres@labri.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/hwmon: rename pwm0* to pmw1* to follow hwmon's rules
Martin Peres [Tue, 4 Sep 2012 11:39:40 +0000 (13:39 +0200)]
drm/nouveau/hwmon: rename pwm0* to pmw1* to follow hwmon's rules

This was reported by tizbac on IRC.

Signed-off-by: Martin Peres <martin.peres@labri.fr>
Reviewed-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/therm: calculate the pwm divisor on nv50+
Martin Peres [Sun, 2 Sep 2012 02:01:43 +0000 (04:01 +0200)]
drm/nouveau/therm: calculate the pwm divisor on nv50+

v2: Martin Peres <martin.peres@labri.fr>
- fixed unintentional use of floating point

Signed-off-by: Martin Peres <martin.peres@labri.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/fan: rewrite the fan tachometer driver to get more precision, faster
Martin Peres [Sun, 2 Sep 2012 01:20:45 +0000 (03:20 +0200)]
drm/nouveau/fan: rewrite the fan tachometer driver to get more precision, faster

The previous driver waited for 250ms to accumulate data. This version times a
complete fan rotation and extrapolates to RPM.

The fan rotational speed should now be read in less than 250ms (worst case)
and usually in less 50ms.

Signed-off-by: Martin Peres <martin.peres@labri.fr>
Reviewed-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/therm: move thermal-related functions to the therm subdev
Martin Peres [Sun, 2 Sep 2012 00:55:58 +0000 (02:55 +0200)]
drm/nouveau/therm: move thermal-related functions to the therm subdev

It looks scary because of the size, but I tried to keep the differences minimal.
Further patches will fix the actual "driver" code and add new features.

v2: change filenames, split to submodules

v3: add a missing include

v4: Ben Skeggs <bskeggs@redhat.com>
- fixed set_defaults() to allow min_duty < 30 (thermal table will
  override this if it's actually necessary)
- fixed set_defaults() to not provide pwm_freq so nv4x (which only has
  pwm_div) can actually work.  the boards using pwm_freq will have a
  thermal table entry to provide us the value.
- removed unused files

Signed-off-by: Martin Peres <martin.peres@labri.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/bios: parse the pwm divisor from the perf table
Martin Peres [Thu, 30 Aug 2012 00:31:59 +0000 (02:31 +0200)]
drm/nouveau/bios: parse the pwm divisor from the perf table

v2: perf_table now is more in line with the other functions

Signed-off-by: Martin Peres <martin.peres@labri.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/therm: use the EXTDEV table to detect i2c monitoring devices
Martin Peres [Sat, 18 Aug 2012 14:33:53 +0000 (16:33 +0200)]
drm/nouveau/therm: use the EXTDEV table to detect i2c monitoring devices

This commit also adds a static list of all known devices and their possible
i2c addresses.

v2: use the common table parsing technique as suggested by darktama

Signed-off-by: Martin Peres <martin.peres@labri.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/therm: rework thermal table parsing
Martin Peres [Thu, 16 Aug 2012 09:00:55 +0000 (11:00 +0200)]
drm/nouveau/therm: rework thermal table parsing

As an accident, it should also fix temperature reading on nv4x.

v2: introduce nvbios_therm_entry as advised by darktama

Signed-off-by: Martin Peres <martin.peres@labri.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/gpio: expose the PWM/TOGGLE parameter found in the gpio vbios table
Martin Peres [Sat, 12 May 2012 13:28:51 +0000 (15:28 +0200)]
drm/nouveau/gpio: expose the PWM/TOGGLE parameter found in the gpio vbios table

Signed-off-by: Martin Peres <martin.peres@labri.fr>
Reviewed-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau: fix pm initialization order
Dmitry Eremin-Solenikov [Tue, 25 Sep 2012 06:31:40 +0000 (10:31 +0400)]
drm/nouveau: fix pm initialization order

If nouveau_pm_perflvl_get() fails, pm->profiles list will be left
uninitialized, which causes oops during nouveau_pm_fini().

Move INIT_LIST_HEAD before call to nouveau_pm_perflvl_get().

Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/bios: check that fixed tvdac gpio data is valid before using it
Ben Skeggs [Wed, 12 Sep 2012 05:55:01 +0000 (15:55 +1000)]
drm/nouveau/bios: check that fixed tvdac gpio data is valid before using it

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau: log channel debug/error messages from client object rather than drm...
Ben Skeggs [Wed, 12 Sep 2012 03:40:47 +0000 (13:40 +1000)]
drm/nouveau: log channel debug/error messages from client object rather than drm client

This will make it more obvious which application caused particular messages.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau: have drm debugging macros build on top of core macros
Ben Skeggs [Wed, 12 Sep 2012 03:38:13 +0000 (13:38 +1000)]
drm/nouveau: have drm debugging macros build on top of core macros

May kill the DRM version completely at some point, undecided..

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/core: have client-id be a string, rather than an integer
Ben Skeggs [Wed, 12 Sep 2012 03:09:23 +0000 (13:09 +1000)]
drm/nouveau/core: have client-id be a string, rather than an integer

Can be somewhat more informative that way...

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nvc0/fifo: re-bash PBUS regs after vm-fault to BARs/PEEPHOLE
Ben Skeggs [Fri, 7 Sep 2012 00:26:38 +0000 (20:26 -0400)]
drm/nvc0/fifo: re-bash PBUS regs after vm-fault to BARs/PEEPHOLE

Seems to be required to "re-arm" the engines after a vm fault.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nvc0/gr: implement initial trap handler
Ben Skeggs [Thu, 6 Sep 2012 05:03:47 +0000 (01:03 -0400)]
drm/nvc0/gr: implement initial trap handler

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nvc0/gr: rebuild fuc with latest envyas
Ben Skeggs [Thu, 6 Sep 2012 03:09:22 +0000 (13:09 +1000)]
drm/nvc0/gr: rebuild fuc with latest envyas

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nvc0/ltcg: read LTS count at startup
Ben Skeggs [Wed, 5 Sep 2012 02:19:26 +0000 (12:19 +1000)]
drm/nvc0/ltcg: read LTS count at startup

Not really sure how to confirm this 100%, but, the numbers match on all the
traces I have for NVCx (2 LTS), NVD9 (1LTS) and NVEx (4LTS).

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nve0/gr: enable use of our fuc by default
Ben Skeggs [Thu, 23 Aug 2012 05:52:28 +0000 (01:52 -0400)]
drm/nve0/gr: enable use of our fuc by default

Graphics acceleration is still disabled by default due to lingering issues
that need to be solved.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nve0/gr: remove 0x404160 bashing from hub fuc
Ben Skeggs [Thu, 23 Aug 2012 05:32:38 +0000 (01:32 -0400)]
drm/nve0/gr: remove 0x404160 bashing from hub fuc

Triggers PIBUS interrupts due to register not existing anymore, and as
a result HUB_SET_CHAN times out.

After this commit, our fuc loads and can accelerate at least fbcon, X,
glxgears and OA on NVE4.  NVE7 not tested as of yet.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nve0/gr: initial fuc implementation, based on fermi's code
Ben Skeggs [Thu, 23 Aug 2012 00:47:40 +0000 (20:47 -0400)]
drm/nve0/gr: initial fuc implementation, based on fermi's code

Currently identical except the available chipset register lists.  This will
*not* currently work and is disabled by default because of this.

May get merged again later, remains to be seen what further changes will be
required.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nve0/ibus: handle PIBUS interrupts to prevent storm
Ben Skeggs [Thu, 23 Aug 2012 03:55:42 +0000 (23:55 -0400)]
drm/nve0/ibus: handle PIBUS interrupts to prevent storm

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/sw: trap and clear PMC_INTR_0_SOFTWARE
Ben Skeggs [Thu, 23 Aug 2012 05:14:21 +0000 (01:14 -0400)]
drm/nouveau/sw: trap and clear PMC_INTR_0_SOFTWARE

Came in useful for debugging another issue earlier, so keep it around.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau: quiet some static-related sparse noise
Marcin Slusarz [Sun, 19 Aug 2012 21:00:00 +0000 (23:00 +0200)]
drm/nouveau: quiet some static-related sparse noise

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau: constify instances of nouveau_bitfield and nouveau_enum structs
Marcin Slusarz [Sun, 19 Aug 2012 20:59:59 +0000 (22:59 +0200)]
drm/nouveau: constify instances of nouveau_bitfield and nouveau_enum structs

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/fifo: use defines instead of hardcoded class ids
Ben Skeggs [Sun, 19 Aug 2012 06:03:00 +0000 (16:03 +1000)]
drm/nouveau/fifo: use defines instead of hardcoded class ids

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/dmaobj: reject unsupported parent types instead of half-succeeding
Ben Skeggs [Sun, 19 Aug 2012 05:58:38 +0000 (15:58 +1000)]
drm/nouveau/dmaobj: reject unsupported parent types instead of half-succeeding

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau: add defines for internal class names
Ben Skeggs [Sun, 19 Aug 2012 05:53:15 +0000 (15:53 +1000)]
drm/nouveau: add defines for internal class names

Will probably flesh the documentation of the classes out a bit too at some
later point.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nv50/fifo: add support for dma channel class
Ben Skeggs [Tue, 14 Aug 2012 05:33:20 +0000 (15:33 +1000)]
drm/nv50/fifo: add support for dma channel class

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nv84/fifo: add support for dma channel class
Ben Skeggs [Tue, 14 Aug 2012 05:30:14 +0000 (15:30 +1000)]
drm/nv84/fifo: add support for dma channel class

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/fifo: version the dma channel class struct
Ben Skeggs [Tue, 14 Aug 2012 05:02:29 +0000 (15:02 +1000)]
drm/nouveau/fifo: version the dma channel class struct

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/fifo: separate object classes for dma channels
Ben Skeggs [Tue, 14 Aug 2012 04:53:51 +0000 (14:53 +1000)]
drm/nouveau/fifo: separate object classes for dma channels

Future code will use the object class rather than chipset checks in order to
identify available channel features.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau: restore fifo chid information in engine error messages
Ben Skeggs [Mon, 13 Aug 2012 06:26:07 +0000 (16:26 +1000)]
drm/nouveau: restore fifo chid information in engine error messages

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/core: have fifo store a unique context identifier at attach time
Ben Skeggs [Fri, 10 Aug 2012 05:10:34 +0000 (15:10 +1000)]
drm/nouveau/core: have fifo store a unique context identifier at attach time

This value will match something that's easily available from the engine IRQ
handlers, and used to lookup the relevant context.

Since the changes in how this is done on each generation match when the
major PFIFO changes happened, fifo is responsible for calculating the
correct value to avoid duplicating the same code among many engine modules.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/fifo: add method to lookup fifo chid related to a given object
Ben Skeggs [Fri, 10 Aug 2012 04:02:44 +0000 (14:02 +1000)]
drm/nouveau/fifo: add method to lookup fifo chid related to a given object

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/core: protect engine context list with hardirq-safe spinlock
Ben Skeggs [Fri, 10 Aug 2012 03:47:56 +0000 (13:47 +1000)]
drm/nouveau/core: protect engine context list with hardirq-safe spinlock

IRQ handlers will need access to engine contexts.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nv84/fifo: mask only the engine we're waiting on for channel unload
Ben Skeggs [Mon, 6 Aug 2012 11:56:18 +0000 (21:56 +1000)]
drm/nv84/fifo: mask only the engine we're waiting on for channel unload

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nve0: use async copy engine for ttm buffer moves if available
Ben Skeggs [Mon, 6 Aug 2012 09:38:25 +0000 (19:38 +1000)]
drm/nve0: use async copy engine for ttm buffer moves if available

Kepler PFIFO lost the ability to address multiple engines from a single
channel, so we need a separate one for the copy engine.

v2: Marcin Slusarz <marcin.slusarz@gmail.com>
- regression fix: restore hw accelerated buffer copies

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nve0/copy: add initial support for the async copy engines
Ben Skeggs [Mon, 6 Aug 2012 09:28:02 +0000 (19:28 +1000)]
drm/nve0/copy: add initial support for the async copy engines

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nve0/fifo: support engine selection when creating fifo channels
Ben Skeggs [Mon, 6 Aug 2012 08:16:37 +0000 (18:16 +1000)]
drm/nve0/fifo: support engine selection when creating fifo channels

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/device: return proper error codes if ioremap fails
Ben Skeggs [Mon, 6 Aug 2012 06:31:26 +0000 (16:31 +1000)]
drm/nouveau/device: return proper error codes if ioremap fails

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/core: remove some left-over pieces from the porting process
Ben Skeggs [Mon, 6 Aug 2012 06:30:10 +0000 (16:30 +1000)]
drm/nouveau/core: remove some left-over pieces from the porting process

Reported-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nvc0-/gr: remove reset-after-grctx-construction hack
Ben Skeggs [Sun, 5 Aug 2012 01:29:10 +0000 (11:29 +1000)]
drm/nvc0-/gr: remove reset-after-grctx-construction hack

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau: add Kconfig options for debug control
Ben Skeggs [Fri, 3 Aug 2012 04:58:10 +0000 (14:58 +1000)]
drm/nouveau: add Kconfig options for debug control

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau: port remainder of drm code, and rip out compat layer
Ben Skeggs [Tue, 31 Jul 2012 06:16:21 +0000 (16:16 +1000)]
drm/nouveau: port remainder of drm code, and rip out compat layer

v2: Ben Skeggs <bskeggs@redhat.com>
- fill in nouveau_pm.dev to prevent oops
- fix ppc issues (build + OF shadow)

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/device: include the official chipset names
Ben Skeggs [Thu, 26 Jul 2012 22:28:20 +0000 (08:28 +1000)]
drm/nouveau/device: include the official chipset names

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/backlight: remove dependence on nouveau_drv.h
Ben Skeggs [Wed, 25 Jul 2012 23:12:47 +0000 (09:12 +1000)]
drm/nouveau/backlight: remove dependence on nouveau_drv.h

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau: flatten nv{Read,Write}{MC,VIDEO,FB,EXTDEV}
Ben Skeggs [Wed, 25 Jul 2012 22:59:23 +0000 (08:59 +1000)]
drm/nouveau: flatten nv{Read,Write}{MC,VIDEO,FB,EXTDEV}

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau: move compat ioctl out of nouveau_drv.h
Ben Skeggs [Wed, 25 Jul 2012 22:54:33 +0000 (08:54 +1000)]
drm/nouveau: move compat ioctl out of nouveau_drv.h

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/acpi: move definitions out of nouveau_drv.h
Ben Skeggs [Wed, 25 Jul 2012 22:51:21 +0000 (08:51 +1000)]
drm/nouveau/acpi: move definitions out of nouveau_drv.h

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/mxm: split up into bios code and a subdev module
Ben Skeggs [Sun, 22 Jul 2012 06:41:26 +0000 (16:41 +1000)]
drm/nouveau/mxm: split up into bios code and a subdev module

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau: start culling unused code
Ben Skeggs [Sun, 22 Jul 2012 05:03:09 +0000 (15:03 +1000)]
drm/nouveau: start culling unused code

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau: port all engines to new engine module format
Ben Skeggs [Thu, 19 Jul 2012 22:17:34 +0000 (08:17 +1000)]
drm/nouveau: port all engines to new engine module format

This is a HUGE commit, but it's not nearly as bad as it looks - any problems
can be isolated to a particular chipset and engine combination.  It was
simply too difficult to port each one at a time, the compat layers are
*already* ridiculous.

Most of the changes here are simply to the glue, the process for each of the
engine modules was to start with a standard skeleton and copy+paste the old
code into the appropriate places, fixing up variable names etc as needed.

v2: Marcin Slusarz <marcin.slusarz@gmail.com>
- fix find/replace bug in license header

v3: Ben Skeggs <bskeggs@redhat.com>
- bump indirect pushbuf size to 8KiB, 4KiB barely enough for userspace and
  left no space for kernel's requirements during GEM pushbuf submission.
- fix duplicate assignments noticed by clang

v4: Marcin Slusarz <marcin.slusarz@gmail.com>
- add sparse annotations to nv04_fifo_pause/nv04_fifo_start
- use ioread32_native/iowrite32_native for fifo control registers

v5: Ben Skeggs <bskeggs@redhat.com>
- rebase on v3.6-rc4, modified to keep copy engine fix intact
- nv10/fence: unmap fence bo before destroying
- fixed fermi regression when using nvidia gr fuc
- fixed typo in supported dma_mask checking

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nvc0-/gr: generate grctx template at init time, not first context ctor
Ben Skeggs [Sat, 4 Aug 2012 08:40:45 +0000 (18:40 +1000)]
drm/nvc0-/gr: generate grctx template at init time, not first context ctor

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nvc0-/gr: share headers between fermi and kepler graphics code
Ben Skeggs [Sat, 4 Aug 2012 08:26:50 +0000 (18:26 +1000)]
drm/nvc0-/gr: share headers between fermi and kepler graphics code

v2: Ben Skeggs <bskeggs@redhat.com>
- de-inline nv_icmd, triggers some gcc issue causing ctxnv[ce]0.c to
  take a *very* *very* long time to build on some configs.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/pageflip: kick flip handling out of engsw and into fence
Ben Skeggs [Sun, 22 Jul 2012 01:55:54 +0000 (11:55 +1000)]
drm/nouveau/pageflip: kick flip handling out of engsw and into fence

This is all very much a policy thing, and hence will not belong in SW
after the rework.

engsw now only handles receiving the event to say "can flip now" and makes
a callback to perform the actual work.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau: move some more code around to more appropriate places
Ben Skeggs [Thu, 19 Jul 2012 07:54:21 +0000 (17:54 +1000)]
drm/nouveau: move some more code around to more appropriate places

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nvc0-nve0/graph: rename dev to priv, no code changes
Ben Skeggs [Thu, 19 Jul 2012 07:32:01 +0000 (17:32 +1000)]
drm/nvc0-nve0/graph: rename dev to priv, no code changes

There's a *lot* of code in here, and it's all going to use the PGRAPH priv
pointer rather than drm_device after the engine rework.  This is handling
all the rename-only parts of the change.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/fence: un-port from nouveau_exec_engine interfaces
Ben Skeggs [Thu, 19 Jul 2012 00:51:42 +0000 (10:51 +1000)]
drm/nouveau/fence: un-port from nouveau_exec_engine interfaces

Still the same code, but not an "engine" anymore.  The fence code is more of
a policy decision rather than exposing mechanisms, so it's not appropriate
to port it to the new engine subsystem.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau: pull nouveau_gem definitions into their own header
Ben Skeggs [Wed, 18 Jul 2012 12:15:33 +0000 (22:15 +1000)]
drm/nouveau: pull nouveau_gem definitions into their own header

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau: pull nouveau_bo definitions into their own header
Ben Skeggs [Wed, 18 Jul 2012 07:17:09 +0000 (17:17 +1000)]
drm/nouveau: pull nouveau_bo definitions into their own header

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nv04/disp: kick all private state out to own header
Ben Skeggs [Wed, 18 Jul 2012 00:00:50 +0000 (10:00 +1000)]
drm/nv04/disp: kick all private state out to own header

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/instmem: completely new implementation, as a subdev module
Ben Skeggs [Sat, 14 Jul 2012 09:09:17 +0000 (19:09 +1000)]
drm/nouveau/instmem: completely new implementation, as a subdev module

v2 (Ben Skeggs):
- some fixes for 64KiB PAGE_SIZE
- fix porting issues in (currently unused) nv41/nv44 pciegart code

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau: remove last use of nouveau_gpuobj_new_fake()
Ben Skeggs [Sat, 14 Jul 2012 01:03:52 +0000 (11:03 +1000)]
drm/nouveau: remove last use of nouveau_gpuobj_new_fake()

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nv50/instmem: remove use of nouveau_gpuobj_new_fake()
Ben Skeggs [Sat, 14 Jul 2012 00:48:12 +0000 (10:48 +1000)]
drm/nv50/instmem: remove use of nouveau_gpuobj_new_fake()

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/gpuobj: remove flags for vm-mappings
Ben Skeggs [Fri, 13 Jul 2012 07:21:22 +0000 (17:21 +1000)]
drm/nouveau/gpuobj: remove flags for vm-mappings

Having GPUOBJ and VM intertwined like this makes it *really* hard to
continue porting to the new driver architecture, split it out in
favour of requiring explit maps be the caller.

It's more flexible and obvious this way anyway...

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/gpuobj: create wrapper functions for mapping gpuobj into vm/bar
Ben Skeggs [Fri, 13 Jul 2012 07:05:35 +0000 (17:05 +1000)]
drm/nouveau/gpuobj: create wrapper functions for mapping gpuobj into vm/bar

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nvc0/fifo: handle bar1 control regs much like fifo/nve0
Ben Skeggs [Fri, 13 Jul 2012 06:54:45 +0000 (16:54 +1000)]
drm/nvc0/fifo: handle bar1 control regs much like fifo/nve0

The partial mapping thing is stupid and pointless...

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nv04-nv40/fifo: remove use of nouveau_gpuobj_new_fake()
Ben Skeggs [Fri, 13 Jul 2012 06:49:49 +0000 (16:49 +1000)]
drm/nv04-nv40/fifo: remove use of nouveau_gpuobj_new_fake()

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nv04-nv40/instmem: remove use of nouveau_gpuobj_new_fake()
Ben Skeggs [Fri, 13 Jul 2012 06:42:14 +0000 (16:42 +1000)]
drm/nv04-nv40/instmem: remove use of nouveau_gpuobj_new_fake()

These type of fake objects will not be supported for much longer.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nv04-nv40/instmem: duplicate nv04 code as nv40, remove alternate paths
Ben Skeggs [Fri, 13 Jul 2012 06:14:25 +0000 (16:14 +1000)]
drm/nv04-nv40/instmem: duplicate nv04 code as nv40, remove alternate paths

A ton of duplication for the moment, will go away when they become subdevs.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/fb: merge fb/vram and port to subdev interfaces
Ben Skeggs [Wed, 11 Jul 2012 09:05:01 +0000 (19:05 +1000)]
drm/nouveau/fb: merge fb/vram and port to subdev interfaces

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nv50-/instmem: allocate vram for kernel objects from end of vram
Ben Skeggs [Wed, 11 Jul 2012 08:10:11 +0000 (18:10 +1000)]
drm/nv50-/instmem: allocate vram for kernel objects from end of vram

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/core: add support for reverse mm allocations
Ben Skeggs [Wed, 11 Jul 2012 06:28:19 +0000 (16:28 +1000)]
drm/nouveau/core: add support for reverse mm allocations

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/timer: port to subdev interfaces
Ben Skeggs [Wed, 11 Jul 2012 06:08:25 +0000 (16:08 +1000)]
drm/nouveau/timer: port to subdev interfaces

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/mc: port to subdev interfaces
Ben Skeggs [Wed, 11 Jul 2012 05:58:56 +0000 (15:58 +1000)]
drm/nouveau/mc: port to subdev interfaces

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau: implement devinit subdev, and new init table parser
Ben Skeggs [Wed, 11 Jul 2012 00:44:20 +0000 (10:44 +1000)]
drm/nouveau: implement devinit subdev, and new init table parser

v2:
- make sure not to execute display scripts unless resuming

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/clock: pull in the implementation from all over the place
Ben Skeggs [Tue, 10 Jul 2012 07:26:46 +0000 (17:26 +1000)]
drm/nouveau/clock: pull in the implementation from all over the place

Still missing the main bits we use to change performance levels, I'll get
to it after all the hard yakka has been finished.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/clk: implement stub clock subdev
Ben Skeggs [Tue, 10 Jul 2012 06:45:24 +0000 (16:45 +1000)]
drm/nouveau/clk: implement stub clock subdev

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/i2c: port to subdev interfaces
Ben Skeggs [Tue, 10 Jul 2012 04:36:38 +0000 (14:36 +1000)]
drm/nouveau/i2c: port to subdev interfaces

v2/v3: Ben Skeggs <bskeggs@redhat.com>
- fix typo in default bus selection
- fix accidental loss of destructor

v4: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com>
- fix typo causing incorrect default i2c port settings when no BMP data

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/gpio: port gpio to subdev interfaces
Ben Skeggs [Tue, 10 Jul 2012 02:20:17 +0000 (12:20 +1000)]
drm/nouveau/gpio: port gpio to subdev interfaces

v2: Ben Skeggs <bskeggs@redhat.com>
- rebase on top of v3.6-rc6 with gpio reset patch integrated already

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/oldbios: remove shadowing support, use bios subdev's image
Ben Skeggs [Tue, 10 Jul 2012 01:38:08 +0000 (11:38 +1000)]
drm/nouveau/oldbios: remove shadowing support, use bios subdev's image

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/bios: pull in basic vbios subdev, more to come later
Ben Skeggs [Tue, 10 Jul 2012 00:49:22 +0000 (10:49 +1000)]
drm/nouveau/bios: pull in basic vbios subdev, more to come later

v2: Ben Skeggs <bskeggs@redhat.com>
- use unaligned macros to access vbios image
- endianness fixes

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau: have non-core mmio accesses go through device object
Ben Skeggs [Mon, 9 Jul 2012 04:14:48 +0000 (14:14 +1000)]
drm/nouveau: have non-core mmio accesses go through device object

Adds an extra layer of indirection to each register access, but it's not
too bad, and will also go away as pieces are ported.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau: implement module init functions in nouveau_drm.c
Ben Skeggs [Fri, 6 Jul 2012 02:14:00 +0000 (12:14 +1000)]
drm/nouveau: implement module init functions in nouveau_drm.c

These currently just call the existing ones in nouveau_drv.c, but will be
extended in upcoming commits.  This needed to be separated from the current
code as there will be some header clashes until things are ported.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/core: pull in most of the new core infrastructure
Ben Skeggs [Thu, 5 Jul 2012 21:36:43 +0000 (07:36 +1000)]
drm/nouveau/core: pull in most of the new core infrastructure

This commit provides most of the infrastructure to support a major overhaul
of Nouveau's internals coming in the following commits.  This work aims to
take all the things we've learned over the last several years, and turn that
into a cleaner architecture that's more maintainable going forward.

RAMHT and MM bits of the new core have been left out for the moment, and
will be pulled in as I go through the process of porting the code to
become either subdev or engine modules.

There are several main goals I wanted to achieve through this work:

-- Reduce complexity

The goal here was to make each component of the driver as independent as
possible, which will ease maintainability and readability, and provide a
good base for resetting locked up GPU units in the future.

-- Better tracking of GPU units that are required at any given time

This is for future PM work, we'll be able to tell exactly what parts of the
GPU we need powered at any given point (etc).

-- Expose all available NVIDIA GPUs to the client

In order to support things such as multi-GPU channels, we want to be able
to expose all the NVIDIA GPUs to the client over a single file descriptor
so it can send a single push buffer to multiple GPUs.

-- Untangle the core hardware support code from the DRM implementation

This happened initially as an unexpected side-effect of developing the
initial core infrastructure in userspace, but it turned into a goal of
the whole project.  Initial benefits will be the availablility of a
number of userspace tools and tests using the same code as the driver
itself, but will also be important as I look into some virtualisation
ideas.

v2: Ben Skeggs <bskeggs@redhat.com>
- fix duplicate assignments noticed by clang
- implement some forgotten yelling in error path
- ensure 64-bit engine mask is used everywhere

v3: Marcin Slusarz <marcin.slusarz@gmail.com>
- sparse fixes
- inline nv_printk into nv_assert to prevent recursive inlining issues

v4: Ben Skeggs <bskeggs@redhat.com>
- fixed minor memory leak on gpuobj destruction

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/agp: move all agp stuff into its own source file
Ben Skeggs [Thu, 5 Jul 2012 11:36:32 +0000 (21:36 +1000)]
drm/nouveau/agp: move all agp stuff into its own source file

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau: restructure source tree, split core from drm implementation
Ben Skeggs [Wed, 4 Jul 2012 13:44:54 +0000 (23:44 +1000)]
drm/nouveau: restructure source tree, split core from drm implementation

Future work will be headed in the way of separating the policy supplied by
the nouveau drm module from the mechanisms provided by the driver core.

There will be a couple of major classes (subdev, engine) of driver modules
that have clearly defined tasks, and the further directory structure change
is to reflect this.

No code changes here whatsoever, aside from fixing up a couple of include
file pathnames.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nouveau/gem: use bo.offset rather than mm_node.start
Ben Skeggs [Fri, 3 Aug 2012 19:46:01 +0000 (05:46 +1000)]
drm/nouveau/gem: use bo.offset rather than mm_node.start

Won't necessarily be a drm_mm_node in the future, and I can't think of any
good reason to not use the offset from the bo struct.  There may have been
some reason once apon a time, but, separate commit just in case.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agodrm/nvc0/fence: restore pre-suspend fence buffer context on resume
Ben Skeggs [Fri, 28 Sep 2012 01:50:29 +0000 (11:50 +1000)]
drm/nvc0/fence: restore pre-suspend fence buffer context on resume

Fixes some unfortunate races on resume.  The G84 version of the code doesn't
need this as "gpuobj"s are automagically suspended/resumed by the core code
whereas pinned buffer objects are not.

Cc: stable@vger.kernel.org
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
12 years agocrypto: Build SPARC DES algorithms on SPARC only.
Dave Jones [Tue, 2 Oct 2012 21:13:20 +0000 (17:13 -0400)]
crypto: Build SPARC DES algorithms on SPARC only.

Asking for this option on x86 seems a bit pointless.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
David S. Miller [Wed, 3 Oct 2012 03:02:10 +0000 (23:02 -0400)]
Merge git://git./linux/kernel/git/torvalds/linux

There's a Niagara 2 memcpy fix in this tree and I have
a Kconfig fix from Dave Jones which requires the sparc-next
changes which went upstream yesterday.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoMerge branch 'for-v3.7' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping
Linus Torvalds [Wed, 3 Oct 2012 02:13:12 +0000 (19:13 -0700)]
Merge branch 'for-v3.7' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping

Pull CMA and DMA-mapping updates from Marek Szyprowski:
 "This time the pull request is rather small, because the further
  redesign patches were not ready on time.

  This pull request consists of the patches which extend ARM DMA-mapping
  subsystem with support for CPU coherent (ACP) DMA busses.  The first
  client of the new version is HighBank SATA driver.  The second part of
  the pull request includes various cleanup for both CMA common code and
  ARM DMA-mapping subsystem."

Fix up trivial add-add conflict due to the "dma-coherent" DT property
being added next to the "calxeda,port-phys" property for the Calxeda
AHCI controller.

* 'for-v3.7' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
  ARM: dma-mapping: Remove unsed var at arm_coherent_iommu_unmap_page
  ARM: highbank: add coherent DMA setup
  ARM: kill off arch_is_coherent
  ARM: add coherent iommu dma ops
  ARM: add coherent dma ops
  ARM: dma-mapping: Refrain noisy console message
  ARM: dma-mapping: Small logical clean up
  drivers: dma-contiguous: refactor dma_alloc_from_contiguous()

12 years agoMerge tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb...
Linus Torvalds [Wed, 3 Oct 2012 02:01:32 +0000 (19:01 -0700)]
Merge tag 'scsi-for-linus' of git://git./linux/kernel/git/jejb/scsi

Pull first round of SCSI updates from James Bottomley:
 "This is a large set of updates, mostly for drivers (qla2xxx [including
  support for new 83xx based card], qla4xxx, mpt2sas, bfa, zfcp, hpsa,
  be2iscsi, isci, lpfc, ipr, ibmvfc, ibmvscsi, megaraid_sas).

  There's also a rework for tape adding virtually unlimited numbers of
  tape drives plus a set of dif fixes for sd and a fix for a live lock
  on hot remove of SCSI devices.

  This round includes a signed tag pull of isci-for-3.6

Signed-off-by: James Bottomley <JBottomley@Parallels.com>"
Fix up trivial conflict in drivers/scsi/qla2xxx/qla_nx.c due to new PCI
helper function use in a function that was removed by this pull.

* tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (198 commits)
  [SCSI] st: remove st_mutex
  [SCSI] sd: Ensure we correctly disable devices with unknown protection type
  [SCSI] hpsa: gen8plus Smart Array IDs
  [SCSI] qla4xxx: Update driver version to 5.03.00-k1
  [SCSI] qla4xxx: Disable generating pause frames for ISP83XX
  [SCSI] qla4xxx: Fix double clearing of risc_intr for ISP83XX
  [SCSI] qla4xxx: IDC implementation for Loopback
  [SCSI] qla4xxx: update copyrights in LICENSE.qla4xxx
  [SCSI] qla4xxx: Fix panic while rmmod
  [SCSI] qla4xxx: Fail probe_adapter if IRQ allocation fails
  [SCSI] qla4xxx: Prevent MSI/MSI-X falling back to INTx for ISP82XX
  [SCSI] qla4xxx: Update idc reg in case of PCI AER
  [SCSI] qla4xxx: Fix double IDC locking in qla4_8xxx_error_recovery
  [SCSI] qla4xxx: Clear interrupt while unloading driver for ISP83XX
  [SCSI] qla4xxx: Print correct IDC version
  [SCSI] qla4xxx: Added new mbox cmd to pass driver version to FW
  [SCSI] scsi_dh_alua: Enable STPG for unavailable ports
  [SCSI] scsi_remove_target: fix softlockup regression on hot remove
  [SCSI] ibmvscsi: Fix host config length field overflow
  [SCSI] ibmvscsi: Remove backend abstraction
  ...

12 years agoMAX_LFS_FILESIZE should be a loff_t
Chuck Lever [Mon, 24 Sep 2012 18:51:48 +0000 (14:51 -0400)]
MAX_LFS_FILESIZE should be a loff_t

fs/nfs/internal.h: In function ‘nfs_super_set_maxbytes’:
fs/nfs/internal.h:547:21: warning: comparison between signed and
    unsigned integer expressions [-Wsign-compare]

Seen with gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2).

Commit 42cb56ae made s_maxbytes a loff_t, thus the type of
MAX_LFS_FILESIZE should also be a loff_t.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Acked-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agocompat: fs: Generic compat_sys_sendfile implementation
Catalin Marinas [Wed, 19 Sep 2012 11:01:52 +0000 (12:01 +0100)]
compat: fs: Generic compat_sys_sendfile implementation

This function is used by sparc, powerpc and arm64 for compat support.
The patch adds a generic implementation which calls do_sendfile()
directly and avoids set_fs().

The sparc architecture has wrappers for the sign extensions while
powerpc relies on the compiler to do the this. The patch adds wrappers
for powerpc to handle the u32->int type conversion.

compat_sys_sendfile64() can be replaced by a sys_sendfile() call since
compat_loff_t has the same size as off_t on a 64-bit system.

On powerpc, the patch also changes the 64-bit sendfile call from
sys_sendile64 to sys_sendfile.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: David S. Miller <davem@davemloft.net>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agofs: push rcu_barrier() from deactivate_locked_super() to filesystems
Kirill A. Shutemov [Wed, 26 Sep 2012 01:33:07 +0000 (11:33 +1000)]
fs: push rcu_barrier() from deactivate_locked_super() to filesystems

There's no reason to call rcu_barrier() on every
deactivate_locked_super().  We only need to make sure that all delayed rcu
free inodes are flushed before we destroy related cache.

Removing rcu_barrier() from deactivate_locked_super() affects some fast
paths.  E.g.  on my machine exit_group() of a last process in IPC
namespace takes 0.07538s.  rcu_barrier() takes 0.05188s of that time.

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agobtrfs: reada_extent doesn't need kref for refcount
Al Viro [Wed, 29 Aug 2012 20:31:33 +0000 (16:31 -0400)]
btrfs: reada_extent doesn't need kref for refcount

All increments and decrements are under the same spinlock - have to be,
since they need to protect the radix_tree it's found in.  Just use
int, no need to wank with kref...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agocoredump: move core dump functionality into its own file
Alex Kelly [Thu, 27 Sep 2012 01:52:08 +0000 (21:52 -0400)]
coredump: move core dump functionality into its own file

This prepares for making core dump functionality optional.

The variable "suid_dumpable" and associated functions are left in fs/exec.c
because they're used elsewhere, such as in ptrace.

Signed-off-by: Alex Kelly <alex.page.kelly@gmail.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
Acked-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoMerge tag 'pm-for-3.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael...
Linus Torvalds [Wed, 3 Oct 2012 01:32:35 +0000 (18:32 -0700)]
Merge tag 'pm-for-3.7-rc1' of git://git./linux/kernel/git/rafael/linux-pm

Pull power management updates from Rafael J Wysocki:

 - Improved system suspend/resume and runtime PM handling for the SH
   TMU, CMT and MTU2 clock event devices (also used by ARM/shmobile).

 - Generic PM domains framework extensions related to cpuidle support
   and domain objects lookup using names.

 - ARM/shmobile power management updates including improved support for
   the SH7372's A4S power domain containing the CPU core.

 - cpufreq changes related to AMD CPUs support from Matthew Garrett,
   Andre Przywara and Borislav Petkov.

 - cpu0 cpufreq driver from Shawn Guo.

 - cpufreq governor fixes related to the relaxing of limit from Michal
   Pecio.

 - OMAP cpufreq updates from Axel Lin and Richard Zhao.

 - cpuidle ladder governor fixes related to the disabling of states from
   Carsten Emde and me.

 - Runtime PM core updates related to the interactions with the system
   suspend core from Alan Stern and Kevin Hilman.

 - Wakeup sources modification allowing more helper functions to be
   called from interrupt context from John Stultz and additional
   diagnostic code from Todd Poynor.

 - System suspend error code path fix from Feng Hong.

Fixed up conflicts in cpufreq/powernow-k8 that stemmed from the
workqueue fixes conflicting fairly badly with the removal of support for
hardware P-state chips.  The changes were independent but somewhat
intertwined.

* tag 'pm-for-3.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (76 commits)
  Revert "PM QoS: Use spinlock in the per-device PM QoS constraints code"
  PM / Runtime: let rpm_resume() succeed if RPM_ACTIVE, even when disabled, v2
  cpuidle: rename function name "__cpuidle_register_driver", v2
  cpufreq: OMAP: Check IS_ERR() instead of NULL for omap_device_get_by_hwmod_name
  cpuidle: remove some empty lines
  PM: Prevent runtime suspend during system resume
  PM QoS: Use spinlock in the per-device PM QoS constraints code
  PM / Sleep: use resume event when call dpm_resume_early
  cpuidle / ACPI : move cpuidle_device field out of the acpi_processor_power structure
  ACPI / processor: remove pointless variable initialization
  ACPI / processor: remove unused function parameter
  cpufreq: OMAP: remove loops_per_jiffy recalculate for smp
  sections: fix section conflicts in drivers/cpufreq
  cpufreq: conservative: update frequency when limits are relaxed
  cpufreq / ondemand: update frequency when limits are relaxed
  properly __init-annotate pm_sysrq_init()
  cpufreq: Add a generic cpufreq-cpu0 driver
  PM / OPP: Initialize OPP table from device tree
  ARM: add cpufreq transiton notifier to adjust loops_per_jiffy for smp
  cpufreq: Remove support for hardware P-state chips from powernow-k8
  ...