aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2016-03-02 12:10:20 -0500
committerAlex Deucher <alexander.deucher@amd.com>2016-03-09 13:03:52 -0500
commitbedf2a65c1aa8fb29ba8527fd00c0f68ec1f55f1 (patch)
tree68527b30aad2184f325a4265498baaa0e7ff4a15 /drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c
parente64c952efb8e0c15ae82cec8e455ab4910690ef1 (diff)
drm/amdgpu: disable runtime pm on PX laptops without dGPU power control
Some PX laptops don't provide an ACPI method to control dGPU power. On those systems, the driver is responsible for handling the dGPU power state. Disable runtime PM on them until support for this is implemented. Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c
index fa948dcbdd5d..0020a0ea43ff 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c
@@ -63,6 +63,10 @@ bool amdgpu_has_atpx(void) {
63 return amdgpu_atpx_priv.atpx_detected; 63 return amdgpu_atpx_priv.atpx_detected;
64} 64}
65 65
66bool amdgpu_has_atpx_dgpu_power_cntl(void) {
67 return amdgpu_atpx_priv.atpx.functions.power_cntl;
68}
69
66/** 70/**
67 * amdgpu_atpx_call - call an ATPX method 71 * amdgpu_atpx_call - call an ATPX method
68 * 72 *
@@ -142,10 +146,6 @@ static void amdgpu_atpx_parse_functions(struct amdgpu_atpx_functions *f, u32 mas
142 */ 146 */
143static int amdgpu_atpx_validate(struct amdgpu_atpx *atpx) 147static int amdgpu_atpx_validate(struct amdgpu_atpx *atpx)
144{ 148{
145 /* make sure required functions are enabled */
146 /* dGPU power control is required */
147 atpx->functions.power_cntl = true;
148
149 if (atpx->functions.px_params) { 149 if (atpx->functions.px_params) {
150 union acpi_object *info; 150 union acpi_object *info;
151 struct atpx_px_params output; 151 struct atpx_px_params output;