drm/amdgpu: add check for ACPI power resources

Check if the device has ACPI power resources so we can
enable runtime pm if so.

Acked-by: Evan Quan <evan.quan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Alex Deucher 2020-12-09 13:07:30 -05:00
parent fd496ca892
commit b10c1c5b3a
2 changed files with 5 additions and 0 deletions

View File

@ -1024,6 +1024,7 @@ struct amdgpu_device {
/* enable runtime pm on the device */ /* enable runtime pm on the device */
bool runpm; bool runpm;
bool in_runpm; bool in_runpm;
bool has_pr3;
bool pm_sysfs_en; bool pm_sysfs_en;
bool ucode_sysfs_en; bool ucode_sysfs_en;

View File

@ -133,6 +133,7 @@ void amdgpu_register_gpu_instance(struct amdgpu_device *adev)
int amdgpu_driver_load_kms(struct amdgpu_device *adev, unsigned long flags) int amdgpu_driver_load_kms(struct amdgpu_device *adev, unsigned long flags)
{ {
struct drm_device *dev; struct drm_device *dev;
struct pci_dev *parent;
int r, acpi_status; int r, acpi_status;
dev = adev_to_drm(adev); dev = adev_to_drm(adev);
@ -144,6 +145,9 @@ int amdgpu_driver_load_kms(struct amdgpu_device *adev, unsigned long flags)
!pci_is_thunderbolt_attached(dev->pdev)) !pci_is_thunderbolt_attached(dev->pdev))
flags |= AMD_IS_PX; flags |= AMD_IS_PX;
parent = pci_upstream_bridge(adev->pdev);
adev->has_pr3 = parent ? pci_pr3_present(parent) : false;
/* amdgpu_device_init should report only fatal error /* amdgpu_device_init should report only fatal error
* like memory allocation failure or iomapping failure, * like memory allocation failure or iomapping failure,
* or memory manager initialization failure, it must * or memory manager initialization failure, it must