mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-30 16:07:39 +00:00
drm/amdgpu/atpx: check for ATIF dGPU wake for display events support
Some ATPX laptops implement special circuitry to generate display hotplug events via ACPI when the dGPU is powered off. Check if this is supported. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
9cee3c1f95
commit
efc83cf423
2 changed files with 11 additions and 0 deletions
|
@ -2450,11 +2450,13 @@ void amdgpu_register_atpx_handler(void);
|
|||
void amdgpu_unregister_atpx_handler(void);
|
||||
bool amdgpu_has_atpx_dgpu_power_cntl(void);
|
||||
bool amdgpu_is_atpx_hybrid(void);
|
||||
bool amdgpu_atpx_dgpu_req_power_for_displays(void);
|
||||
#else
|
||||
static inline void amdgpu_register_atpx_handler(void) {}
|
||||
static inline void amdgpu_unregister_atpx_handler(void) {}
|
||||
static inline bool amdgpu_has_atpx_dgpu_power_cntl(void) { return false; }
|
||||
static inline bool amdgpu_is_atpx_hybrid(void) { return false; }
|
||||
static inline bool amdgpu_atpx_dgpu_req_power_for_displays(void) { return false; }
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
|
|
@ -29,6 +29,7 @@ struct amdgpu_atpx {
|
|||
acpi_handle handle;
|
||||
struct amdgpu_atpx_functions functions;
|
||||
bool is_hybrid;
|
||||
bool dgpu_req_power_for_displays;
|
||||
};
|
||||
|
||||
static struct amdgpu_atpx_priv {
|
||||
|
@ -73,6 +74,10 @@ bool amdgpu_is_atpx_hybrid(void) {
|
|||
return amdgpu_atpx_priv.atpx.is_hybrid;
|
||||
}
|
||||
|
||||
bool amdgpu_atpx_dgpu_req_power_for_displays(void) {
|
||||
return amdgpu_atpx_priv.atpx.dgpu_req_power_for_displays;
|
||||
}
|
||||
|
||||
/**
|
||||
* amdgpu_atpx_call - call an ATPX method
|
||||
*
|
||||
|
@ -213,6 +218,10 @@ static int amdgpu_atpx_validate(struct amdgpu_atpx *atpx)
|
|||
atpx->is_hybrid = true;
|
||||
}
|
||||
|
||||
atpx->dgpu_req_power_for_displays = false;
|
||||
if (valid_bits & ATPX_DGPU_REQ_POWER_FOR_DISPLAYS)
|
||||
atpx->dgpu_req_power_for_displays = true;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue