alistair23-linux/drivers/gpu/drm/nouveau
Dave Airlie 0d69704ae3 gpu/vga_switcheroo: add driver control power feature. (v3)
For optimus and powerxpress muxless we really want the GPU
driver deciding when to power up/down the GPU, not userspace.

This adds the ability for a driver to dynamically power up/down
the GPU and remove the switcheroo from controlling it, the
switcheroo reports the dynamic state to userspace also.

It also adds 2 power domains, one for machine where the power
switch is controlled outside the GPU D3 state, so the powerdown
ordering is done correctly, and the second for the hdmi audio
device to make sure it can resume for PCI config space accesses.

v1.1: fix build with switcheroo off

v2: add power domain support for radeon and v1 nvidia dsms
v2.1: fix typo in off case

v3: add audio power domain for hdmi audio + misc audio fixes

v4: use PCI_SLOT macro, drop power reference on hdmi audio resume
failure also.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-08-29 13:30:21 +10:00
..
core Merge tag 'drm-intel-next-2013-07-26-fixed' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-08-07 18:11:35 +10:00
dispnv04 drm/nv04/disp: hide all the cruft away in its own little hole 2013-04-26 15:37:51 +10:00
Kconfig drm/nouveau: always select ACPI_VIDEO if ACPI is enabled. 2013-06-28 11:56:22 +10:00
Makefile drm/nvd7/gr: initial support 2013-07-05 13:43:16 +10:00
nouveau_abi16.c drm/nouveau: unpin notify object in chan_fini 2013-06-28 11:55:48 +10:00
nouveau_abi16.h
nouveau_acpi.c drm/nouveau: Add interface to detect optimus and v1 support 2012-11-29 09:57:59 +10:00
nouveau_acpi.h nouveau: ACPI support depends on X86 and X86_PLATFORM_DEVICES 2013-02-20 16:05:16 +10:00
nouveau_agp.c drm/nouveau: Disable AGP on PowerPC again. 2013-03-04 11:46:12 +10:00
nouveau_agp.h
nouveau_backlight.c drm/nouveau/drm: adding support for backlight control of GT525M (NVC0) 2013-04-26 15:37:45 +10:00
nouveau_bios.c drm/nvd0-/disp: handle case where display engine is missing/disabled 2013-07-01 13:50:50 +10:00
nouveau_bios.h drm/nv04/disp: hide all the cruft away in its own little hole 2013-04-26 15:37:51 +10:00
nouveau_bo.c drm: verify vma access in TTM+GEM drivers 2013-08-27 11:54:58 +10:00
nouveau_bo.h drm/nouveau: use prime helpers 2013-02-08 13:39:09 +10:00
nouveau_chan.c drm/nouveau/fb: initialise vram controller as pfb sub-object 2013-07-01 13:44:04 +10:00
nouveau_chan.h drm/nve0: use async copy engine for ttm buffer moves if available 2012-10-03 13:13:02 +10:00
nouveau_connector.c drm/nv04/disp: hide all the cruft away in its own little hole 2013-04-26 15:37:51 +10:00
nouveau_connector.h drm/nouveau/gpio: use event interfaces for interrupt signalling 2013-02-20 16:00:50 +10:00
nouveau_crtc.h drm/nouveau: rename nvd0_display to nv50_display to reflect reality since merge 2012-11-29 09:57:58 +10:00
nouveau_debugfs.c drm/nouveau: restore debugfs/vbios.rom support 2013-02-20 20:46:34 +10:00
nouveau_debugfs.h drm/nouveau: restore debugfs/vbios.rom support 2013-02-20 20:46:34 +10:00
nouveau_display.c Merge tag 'drm-intel-next-2013-07-26-fixed' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-08-07 18:11:35 +10:00
nouveau_display.h drm/gem: create drm_gem_dumb_destroy 2013-08-07 09:59:24 +10:00
nouveau_dma.c
nouveau_dma.h drm/nouveau/fence/nv84-: put processes to sleep while waiting on fences 2013-02-20 16:00:48 +10:00
nouveau_dp.c drm/nv50-/disp: move DP link training to core and train from supervisor 2013-02-20 16:01:02 +10:00
nouveau_drm.c drm: remove FASYNC support 2013-08-19 10:05:17 +10:00
nouveau_drm.h drm/nouveau: fix minor thinko causing bo moves to not be async on kepler 2013-07-08 10:52:02 +10:00
nouveau_encoder.h drm/nv04/disp: hide all the cruft away in its own little hole 2013-04-26 15:37:51 +10:00
nouveau_fbcon.c drm/nouveau: fix some error-path leaks in fbcon handling code 2013-07-10 10:47:28 +10:00
nouveau_fbcon.h Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
nouveau_fence.c drm/nouveau: bump fence timeout to 15 seconds 2013-07-10 10:48:00 +10:00
nouveau_fence.h drm/nouveau: delay busy bo vma removal until fence signals 2013-07-01 13:50:31 +10:00
nouveau_gem.c Merge tag 'drm-intel-next-2013-07-26-fixed' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-08-07 18:11:35 +10:00
nouveau_gem.h drm/nouveau: implement prime helper unpin function 2013-06-28 11:55:34 +10:00
nouveau_hwsq.h
nouveau_ioc32.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
nouveau_ioctl.h
nouveau_mem.c drm/nouveau/fb: initialise vram controller as pfb sub-object 2013-07-01 13:44:04 +10:00
nouveau_perf.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
nouveau_pm.c drm/nouveau/hwmon: do not expose a buggy temperature if it is unavailable 2013-03-18 11:15:27 +10:00
nouveau_pm.h drm/nouveau/therm: move thermal-related functions to the therm subdev 2012-10-03 13:13:14 +10:00
nouveau_prime.c drm/nouveau: implement prime helper unpin function 2013-06-28 11:55:34 +10:00
nouveau_reg.h
nouveau_sgdma.c
nouveau_ttm.c Merge branch 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next 2013-07-01 14:10:20 +10:00
nouveau_ttm.h drm/nouveau: port remainder of drm code, and rip out compat layer 2012-10-03 13:12:59 +10:00
nouveau_vga.c gpu/vga_switcheroo: add driver control power feature. (v3) 2013-08-29 13:30:21 +10:00
nouveau_vga.h drm/nouveau: port remainder of drm code, and rip out compat layer 2012-10-03 13:12:59 +10:00
nouveau_volt.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
nv04_fbcon.c drm/nouveau: port remainder of drm code, and rip out compat layer 2012-10-03 13:12:59 +10:00
nv04_fence.c drm/nouveau/fence: make internal hooks part of the context 2013-02-20 16:00:53 +10:00
nv04_pm.c drm/nv04/disp: hide all the cruft away in its own little hole 2013-04-26 15:37:51 +10:00
nv10_fence.c drm/nouveau/fence: make internal hooks part of the context 2013-02-20 16:00:53 +10:00
nv10_fence.h drm/nouveau: share fence structures between nv10+ and nv50 implementations 2013-02-20 16:00:34 +10:00
nv17_fence.c drm/nouveau/fence: make internal hooks part of the context 2013-02-20 16:00:53 +10:00
nv40_pm.c drm/nv04/disp: hide all the cruft away in its own little hole 2013-04-26 15:37:51 +10:00
nv50_display.c drm/nv50/kms: fix pin refcnt leaks 2013-07-10 10:47:42 +10:00
nv50_display.h drm/nouveau: rename nvd0_display to nv50_display to reflect reality since merge 2012-11-29 09:57:58 +10:00
nv50_fbcon.c drm/nouveau: port remainder of drm code, and rip out compat layer 2012-10-03 13:12:59 +10:00
nv50_fence.c drm/nouveau/fence: make internal hooks part of the context 2013-02-20 16:00:53 +10:00
nv50_pm.c drm/nouveau/fb: initialise vram controller as pfb sub-object 2013-07-01 13:44:04 +10:00
nv84_fence.c drm/nv84-/fence: prepare for emit/sync support of sysram sequences 2013-02-20 16:00:53 +10:00
nva3_pm.c drm/nouveau/fb: initialise vram controller as pfb sub-object 2013-07-01 13:44:04 +10:00
nvc0_fbcon.c drm/nouveau: port remainder of drm code, and rip out compat layer 2012-10-03 13:12:59 +10:00
nvc0_fence.c drm/nv84-/fence: prepare for emit/sync support of sysram sequences 2013-02-20 16:00:53 +10:00
nvc0_pm.c drm/nouveau/fb: initialise vram controller as pfb sub-object 2013-07-01 13:44:04 +10:00