[Nouveau] [PATCH] volt: Fix for some cards having 0 maximum voltage
Karol Herbst
kherbst at redhat.com
Thu Aug 15 08:50:55 UTC 2019
although I'd like to have a deeper understanding of this table, I
think it's fine as it is right now and this actually does fix
something without causing any issues (as far as we know of)
Reviewed-by: Karol Herbst <kherbst at redhat.com>
On Fri, Aug 2, 2019 at 11:21 AM Mark Menzynski <mmenzyns at redhat.com> wrote:
>
> Some, mostly Fermi, vbioses appear to have zero max voltage. That causes Nouveau to not parse voltage entries, thus users not being able to set higher clocks.
>
> When changing this value Nvidia driver still appeared to ignore it, and I wasn't able to find out why, thus the code is ignoring the value if it is zero.
>
> CC: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> Signed-off-by: Mark Menzynski <mmenzyns at redhat.com>
> ---
> drm/nouveau/nvkm/subdev/bios/volt.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drm/nouveau/nvkm/subdev/bios/volt.c b/drm/nouveau/nvkm/subdev/bios/volt.c
> index 7143ea46..33a9fb5a 100644
> --- a/drm/nouveau/nvkm/subdev/bios/volt.c
> +++ b/drm/nouveau/nvkm/subdev/bios/volt.c
> @@ -96,6 +96,8 @@ nvbios_volt_parse(struct nvkm_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len,
> info->min = min(info->base,
> info->base + info->step * info->vidmask);
> info->max = nvbios_rd32(bios, volt + 0x0e);
> + if (!info->max)
> + info->max = max(info->base, info->base + info->step * info->vidmask);
> break;
> case 0x50:
> info->min = nvbios_rd32(bios, volt + 0x0a);
> --
> 2.21.0
>
> _______________________________________________
> Nouveau mailing list
> Nouveau at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/nouveau
More information about the Nouveau
mailing list