diff options
| author | Alex Deucher <[email protected]> | 2020-05-19 20:54:55 +0000 |
|---|---|---|
| committer | Alex Deucher <[email protected]> | 2020-05-21 22:00:00 +0000 |
| commit | d08d692ebbc0fccb96506b80b5063b9309f219a7 (patch) | |
| tree | 9b799c5c0fdccee3b62ae5d8de5a57e96e5daba0 /drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | |
| parent | drm/amdkfd: fix restore worker race condition (diff) | |
| download | kernel-d08d692ebbc0fccb96506b80b5063b9309f219a7.tar.gz kernel-d08d692ebbc0fccb96506b80b5063b9309f219a7.zip | |
drm/amdgpu: improve error handling in pcie_bw
1. Initialize the counters to 0 in case the callback
fails to initialize them.
2. The counters don't exist on APUs so return an error
for them.
3. Return an error if the callback doesn't exist.
Reviewed-by: Yong Zhao <[email protected]>
Reviewed-By: Kent Russell <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c index 17bc7f530898..2fc51f815eaa 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c @@ -1646,9 +1646,15 @@ static ssize_t amdgpu_get_pcie_bw(struct device *dev, { struct drm_device *ddev = dev_get_drvdata(dev); struct amdgpu_device *adev = ddev->dev_private; - uint64_t count0, count1; + uint64_t count0 = 0, count1 = 0; int ret; + if (adev->flags & AMD_IS_APU) + return -ENODATA; + + if (!adev->asic_funcs->get_pcie_usage) + return -ENODATA; + ret = pm_runtime_get_sync(ddev->dev); if (ret < 0) return ret; |
