diff options
author | Lijo Lazar <lijo.lazar@amd.com> | 2025-06-13 16:30:30 +0530 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2025-06-18 12:19:21 -0400 |
commit | 04141c05f36afe6d053a964fd2c609d4744d19e5 (patch) | |
tree | 05d1d09bc4357505a6996eaadbc02b2a0eb6c3a9 /drivers/gpu/drm/amd/amdgpu/amdgpu.h | |
parent | 167049012e693ddffb888b61905962a45b75ca95 (diff) |
drm/amdgpu: Extend bus status check to more cases
In case of unexpected errors, check if device is alive on the bus.
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Asad Kamal <asad.kamal@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu.h')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index 5e2f086d2c99..42278e9a2d75 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h @@ -1762,4 +1762,19 @@ extern const struct attribute_group amdgpu_flash_attr_group; void amdgpu_set_init_level(struct amdgpu_device *adev, enum amdgpu_init_lvl_id lvl); + +static inline int amdgpu_device_bus_status_check(struct amdgpu_device *adev) +{ + u32 status; + int r; + + r = pci_read_config_dword(adev->pdev, PCI_COMMAND, &status); + if (r || PCI_POSSIBLE_ERROR(status)) { + dev_err(adev->dev, "device lost from bus!"); + return -ENODEV; + } + + return 0; +} + #endif |