drm/amdgpu/atom: fix atom_fw check
authorAlex Deucher <alexander.deucher@amd.com>
Wed, 5 Jul 2017 19:17:00 +0000 (15:17 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 14 Jul 2017 15:06:17 +0000 (11:06 -0400)
Not all vbios images seem to set the version appropriately.
Switch the check based on asic type instead.

Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c

index 365e735..ea3a250 100644 (file)
@@ -86,19 +86,6 @@ static bool check_atom_bios(uint8_t *bios, size_t size)
        return false;
 }
 
-static bool is_atom_fw(uint8_t *bios)
-{
-       uint16_t bios_header_start = bios[0x48] | (bios[0x49] << 8);
-       uint8_t frev = bios[bios_header_start + 2];
-       uint8_t crev = bios[bios_header_start + 3];
-
-       if ((frev < 3) ||
-           ((frev == 3) && (crev < 3)))
-               return false;
-
-       return true;
-}
-
 /* If you boot an IGP board with a discrete card as the primary,
  * the IGP rom is not accessible via the rom bar as the IGP rom is
  * part of the system bios.  On boot, the system bios puts a
@@ -455,6 +442,6 @@ bool amdgpu_get_bios(struct amdgpu_device *adev)
        return false;
 
 success:
-       adev->is_atom_fw = is_atom_fw(adev->bios);
+       adev->is_atom_fw = (adev->asic_type >= CHIP_VEGA10) ? true : false;
        return true;
 }