drm/nouveau/bios/vpstate: There are some fermi vbios with no boost or tdp entry
If the entry size is too small, default to invalid values for both boost_id and tdp_id, so as to default to the base clock in both cases. Signed-off-by: Karol Herbst <karolherbst@gmail.com> Signed-off-by: Martin Peres <martin.peres@free.fr> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
Родитель
2ae4c5f6ff
Коммит
f706037c4e
|
@ -58,8 +58,14 @@ nvbios_vpstate_parse(struct nvkm_bios *b, struct nvbios_vpstate_header *h)
|
|||
h->ecount = nvbios_rd08(b, h->offset + 0x5);
|
||||
|
||||
h->base_id = nvbios_rd08(b, h->offset + 0x0f);
|
||||
h->boost_id = nvbios_rd08(b, h->offset + 0x10);
|
||||
h->tdp_id = nvbios_rd08(b, h->offset + 0x11);
|
||||
if (h->hlen > 0x10)
|
||||
h->boost_id = nvbios_rd08(b, h->offset + 0x10);
|
||||
else
|
||||
h->boost_id = 0xff;
|
||||
if (h->hlen > 0x11)
|
||||
h->tdp_id = nvbios_rd08(b, h->offset + 0x11);
|
||||
else
|
||||
h->tdp_id = 0xff;
|
||||
return 0;
|
||||
default:
|
||||
return -EINVAL;
|
||||
|
|
Загрузка…
Ссылка в новой задаче