diff options
author | Dave Airlie <airlied@dhcp-40-90.bne.redhat.com> | 2012-09-10 12:28:36 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2013-08-29 13:30:21 +1000 |
commit | 0d69704ae348c03bc216b01e32a0e9a2372be419 (patch) | |
tree | cb63fed3b11746ffb688ff8fd6efa1c087ee8254 /drivers/gpu/drm/radeon/radeon_device.c | |
parent | e906d7bdd3b63ffac8b91f2f05c450775de95ef6 (diff) | |
download | op-kernel-dev-0d69704ae348c03bc216b01e32a0e9a2372be419.zip op-kernel-dev-0d69704ae348c03bc216b01e32a0e9a2372be419.tar.gz |
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>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_device.c')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_device.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c index 82335e3..0610ca4 100644 --- a/drivers/gpu/drm/radeon/radeon_device.c +++ b/drivers/gpu/drm/radeon/radeon_device.c @@ -1269,7 +1269,7 @@ int radeon_device_init(struct radeon_device *rdev, /* this will fail for cards that aren't VGA class devices, just * ignore it */ vga_client_register(rdev->pdev, rdev, NULL, radeon_vga_set_decode); - vga_switcheroo_register_client(rdev->pdev, &radeon_switcheroo_ops); + vga_switcheroo_register_client(rdev->pdev, &radeon_switcheroo_ops, false); r = radeon_init(rdev); if (r) |