[Nouveau] [PATCH 01/32] bios/vpstate: There are some fermi vbios with no boost or tdp entry
Martin Peres
martin.peres at free.fr
Wed Nov 22 00:16:31 UTC 2017
On 17/11/17 02:04, Karol Herbst wrote:
Please add here something like this:
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 at gmail.com>
With the better commit message, this patch is:
Signed-off-by: Martin Peres <martin.peres at free.fr>
> ---
> drm/nouveau/nvkm/subdev/bios/vpstate.c | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/drm/nouveau/nvkm/subdev/bios/vpstate.c b/drm/nouveau/nvkm/subdev/bios/vpstate.c
> index 20b6fc82..71524548 100644
> --- a/drm/nouveau/nvkm/subdev/bios/vpstate.c
> +++ b/drm/nouveau/nvkm/subdev/bios/vpstate.c
> @@ -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;
>
More information about the Nouveau
mailing list