forked from Minki/linux
drm/amdgpu/atom: fix atom_fw check
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>
This commit is contained in:
parent
a5d20c405a
commit
6c88555414
@ -86,19 +86,6 @@ static bool check_atom_bios(uint8_t *bios, size_t size)
|
|||||||
return false;
|
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,
|
/* 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
|
* 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
|
* 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;
|
return false;
|
||||||
|
|
||||||
success:
|
success:
|
||||||
adev->is_atom_fw = is_atom_fw(adev->bios);
|
adev->is_atom_fw = (adev->asic_type >= CHIP_VEGA10) ? true : false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user