mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-22 10:34:55 +08:00
drm/radeon/atpx: track whether if this is a hybrid graphics platform
hybrid graphics in this case refers to systems which use the new platform d3 cold ACPI methods as opposed to ATPX for dGPU power control. Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> Acked-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
522761cbc8
commit
b8c9fd5ad4
@ -28,6 +28,7 @@ struct radeon_atpx_functions {
|
||||
struct radeon_atpx {
|
||||
acpi_handle handle;
|
||||
struct radeon_atpx_functions functions;
|
||||
bool is_hybrid;
|
||||
};
|
||||
|
||||
static struct radeon_atpx_priv {
|
||||
@ -67,6 +68,10 @@ bool radeon_has_atpx_dgpu_power_cntl(void) {
|
||||
return radeon_atpx_priv.atpx.functions.power_cntl;
|
||||
}
|
||||
|
||||
bool radeon_is_atpx_hybrid(void) {
|
||||
return radeon_atpx_priv.atpx.is_hybrid;
|
||||
}
|
||||
|
||||
/**
|
||||
* radeon_atpx_call - call an ATPX method
|
||||
*
|
||||
@ -190,9 +195,11 @@ static int radeon_atpx_validate(struct radeon_atpx *atpx)
|
||||
ATPX_DYNAMIC_DGPU_POWER_OFF_SUPPORTED))
|
||||
atpx->functions.power_cntl = true;
|
||||
|
||||
atpx->is_hybrid = false;
|
||||
if (valid_bits & ATPX_MS_HYBRID_GFX_SUPPORTED) {
|
||||
printk("Hybrid Graphics, ATPX dGPU power cntl disabled\n");
|
||||
printk("ATPX Hybrid Graphics\n");
|
||||
atpx->functions.power_cntl = false;
|
||||
atpx->is_hybrid = true;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -164,10 +164,12 @@ void radeon_debugfs_cleanup(struct drm_minor *minor);
|
||||
void radeon_register_atpx_handler(void);
|
||||
void radeon_unregister_atpx_handler(void);
|
||||
bool radeon_has_atpx_dgpu_power_cntl(void);
|
||||
bool radeon_is_atpx_hybrid(void);
|
||||
#else
|
||||
static inline void radeon_register_atpx_handler(void) {}
|
||||
static inline void radeon_unregister_atpx_handler(void) {}
|
||||
static inline bool radeon_has_atpx_dgpu_power_cntl(void) { return false; }
|
||||
static inline bool radeon_is_atpx_hybrid(void) { return false; }
|
||||
#endif
|
||||
|
||||
int radeon_no_wb;
|
||||
|
Loading…
Reference in New Issue
Block a user