[PATCH] Revert "drm/amdgpu:correct smc fw version error"
Huang Rui
ray.huang at amd.com
Thu Sep 22 08:00:32 UTC 2016
From: Huang Rui <Ray.Huang at amd.com>
This reverts commit bb2a2de6e2ea0e99d0d1a20d06536c4dcd66a196.
SMC firmware version error should be fixed while ucode is generated.
I would do the fix in firmware side.
Signed-off-by: Huang Rui <Ray.Huang at amd.com>
Cc: Monk Liu <Monk.Liu at amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
index ab2d7fb..7a8bfa3 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
@@ -785,13 +785,12 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device,
info->fw_version = amdgpu_get_firmware_version(cgs_device, type);
info->feature_version = (uint16_t)le32_to_cpu(header->ucode_feature_version);
} else {
- uint32_t fw_ver;
char fw_name[30] = {0};
int err = 0;
uint32_t ucode_size;
uint32_t ucode_start_address;
const uint8_t *src;
- struct smc_firmware_header_v1_0 *hdr;
+ const struct smc_firmware_header_v1_0 *hdr;
if (!adev->pm.fw) {
switch (adev->asic_type) {
@@ -836,15 +835,12 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device,
}
}
- hdr = (struct smc_firmware_header_v1_0 *)adev->pm.fw->data;
- /* firmware version is located at 69 dw from begining */
- fw_ver = *((uint32_t *)adev->pm.fw->data + 69);
- hdr->header.ucode_version = fw_ver;
+ hdr = (const struct smc_firmware_header_v1_0 *) adev->pm.fw->data;
amdgpu_ucode_print_smc_hdr(&hdr->header);
adev->pm.fw_version = le32_to_cpu(hdr->header.ucode_version);
ucode_size = le32_to_cpu(hdr->header.ucode_size_bytes);
ucode_start_address = le32_to_cpu(hdr->ucode_start_addr);
- src = (uint8_t *)(adev->pm.fw->data +
+ src = (const uint8_t *)(adev->pm.fw->data +
le32_to_cpu(hdr->header.ucode_array_offset_bytes));
info->version = adev->pm.fw_version;
--
2.7.4
More information about the amd-gfx
mailing list