gpu/vga_switcheroo: add driver control power feature. (v3)
authorDave Airlie <airlied@dhcp-40-90.bne.redhat.com>
Mon, 10 Sep 2012 02:28:36 +0000 (12:28 +1000)
committerDave Airlie <airlied@redhat.com>
Thu, 29 Aug 2013 03:30:21 +0000 (13:30 +1000)
commit0d69704ae348c03bc216b01e32a0e9a2372be419
treecb63fed3b11746ffb688ff8fd6efa1c087ee8254
parente906d7bdd3b63ffac8b91f2f05c450775de95ef6
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>
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/nouveau/nouveau_vga.c
drivers/gpu/drm/radeon/radeon_device.c
drivers/gpu/vga/vga_switcheroo.c
include/linux/vga_switcheroo.h