diff options
author | Kevin Wang | 2018-12-10 06:31:56 +0100 |
---|---|---|
committer | Alex Deucher | 2019-03-19 21:03:55 +0100 |
commit | 7b0031b6ea2b31f945eb32ae9f3191d8e8b15e1b (patch) | |
tree | ac31b869f99d66ccb70cc7e7632321df5e80949a /drivers/gpu/drm/amd/powerplay/smu_v11_0.c | |
parent | drm/amd/powerplay: implement smu send message functions for smu11 (v3) (diff) | |
download | kernel-qcow2-linux-7b0031b6ea2b31f945eb32ae9f3191d8e8b15e1b.tar.gz kernel-qcow2-linux-7b0031b6ea2b31f945eb32ae9f3191d8e8b15e1b.tar.xz kernel-qcow2-linux-7b0031b6ea2b31f945eb32ae9f3191d8e8b15e1b.zip |
drm/amd/powerplay: implement check_fw_status function for smu11
Add function of check firmware status funtions for smu11
Signed-off-by: Kevin Wang <Kevin1.Wang@amd.com>
Reviewed-by: Huang Rui <ray.huang@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/powerplay/smu_v11_0.c')
-rw-r--r-- | drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c index feee3e8329fc..142ad1da5690 100644 --- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c +++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c @@ -168,7 +168,18 @@ static int smu_v11_0_load_microcode(struct smu_context *smu) static int smu_v11_0_check_fw_status(struct smu_context *smu) { - return 0; + struct amdgpu_device *adev = smu->adev; + uint32_t mp1_fw_flags; + + WREG32_SOC15(NBIF, 0, mmPCIE_INDEX2, + (MP1_Public | (smnMP1_FIRMWARE_FLAGS & 0xffffffff))); + + mp1_fw_flags = RREG32_SOC15(NBIF, 0, mmPCIE_DATA2); + + if ((mp1_fw_flags & MP1_FIRMWARE_FLAGS__INTERRUPTS_ENABLED_MASK) >> + MP1_FIRMWARE_FLAGS__INTERRUPTS_ENABLED__SHIFT) + return 0; + return -EIO; } static const struct smu_funcs smu_v11_0_funcs = { |