mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 00:34:52 +00:00
drm/amdgpu: introduce runtime pm mode
It can benefit code consistency in future. Suggested-by: Lijo Lazar <lijo.lazar@amd.com> Signed-off-by: Guchun Chen <guchun.chen@amd.com> Reviewed-by: Lijo Lazar <lijo.lazar@amd.com> Reviewed-by: Evan Quan <evan.quan@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
2d04559e06
commit
50fe04d46a
2 changed files with 14 additions and 1 deletions
|
@ -161,10 +161,12 @@ int amdgpu_driver_load_kms(struct amdgpu_device *adev, unsigned long flags)
|
|||
if (amdgpu_device_supports_px(dev) &&
|
||||
(amdgpu_runtime_pm != 0)) { /* enable runpm by default for atpx */
|
||||
adev->runpm = true;
|
||||
adev->pm.rpm_mode = AMDGPU_RUNPM_PX;
|
||||
dev_info(adev->dev, "Using ATPX for runtime pm\n");
|
||||
} else if (amdgpu_device_supports_boco(dev) &&
|
||||
(amdgpu_runtime_pm != 0)) { /* enable runpm by default for boco */
|
||||
adev->runpm = true;
|
||||
adev->pm.rpm_mode = AMDGPU_RUNPM_BOCO;
|
||||
dev_info(adev->dev, "Using BOCO for runtime pm\n");
|
||||
} else if (amdgpu_device_supports_baco(dev) &&
|
||||
(amdgpu_runtime_pm != 0)) {
|
||||
|
@ -188,8 +190,10 @@ int amdgpu_driver_load_kms(struct amdgpu_device *adev, unsigned long flags)
|
|||
|
||||
amdgpu_runtime_pm_quirk(adev);
|
||||
|
||||
if (adev->runpm)
|
||||
if (adev->runpm) {
|
||||
adev->pm.rpm_mode = AMDGPU_RUNPM_BACO;
|
||||
dev_info(adev->dev, "Using BACO for runtime pm\n");
|
||||
}
|
||||
}
|
||||
|
||||
/* Call ACPI methods: require modeset init
|
||||
|
|
|
@ -45,6 +45,13 @@ enum amdgpu_int_thermal_type {
|
|||
THERMAL_TYPE_KV,
|
||||
};
|
||||
|
||||
enum amdgpu_runpm_mode {
|
||||
AMDGPU_RUNPM_NONE,
|
||||
AMDGPU_RUNPM_PX,
|
||||
AMDGPU_RUNPM_BOCO,
|
||||
AMDGPU_RUNPM_BACO,
|
||||
};
|
||||
|
||||
struct amdgpu_ps {
|
||||
u32 caps; /* vbios flags */
|
||||
u32 class; /* vbios flags */
|
||||
|
@ -355,6 +362,8 @@ struct amdgpu_pm {
|
|||
struct amdgpu_ctx *stable_pstate_ctx;
|
||||
|
||||
struct config_table_setting config_table;
|
||||
/* runtime mode */
|
||||
enum amdgpu_runpm_mode rpm_mode;
|
||||
};
|
||||
|
||||
int amdgpu_dpm_read_sensor(struct amdgpu_device *adev, enum amd_pp_sensors sensor,
|
||||
|
|
Loading…
Add table
Reference in a new issue