[Nouveau] [PATCH 1/2] drm/nouveau/bios/therm: handle vbioses with duplicate entries (mostly nva5)
Ben Skeggs
skeggsb at gmail.com
Tue Sep 3 18:55:11 PDT 2013
On Sat, Aug 31, 2013 at 9:58 AM, Martin Peres <martin.peres at free.fr> wrote:
> From: Martin Peres <martin.peres at labri.fr>
>
> Some vbioses have extra useless entries after "the end" of the table. This is
> problematic since all of the vbios I found with this issue redefine the
> pwm freq divider to insane levels (52750 Hz instead of 2500), thus breaking
> fan management.
>
> The first solution to solve this mess would be to change the length of the
> table. The solution I choose was simply to avoid setting the pwm freq twice
> as the other redefinitions are harmless with our current parser.
I'm still *really* not convinced we're using the thermal table correctly....
However, this makes sense for our current handling, so, merged.
Thanks,
Ben.
>
> Signed-off-by: Martin Peres <martin.peres at labbri.fr>
> Reported-by: Mariusz Bialonczyk <manio at skyboo.net>
> Tested-by: Mariusz Bialonczyk <manio at skyboo.net>
> ---
> drivers/gpu/drm/nouveau/core/subdev/bios/therm.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/nouveau/core/subdev/bios/therm.c b/drivers/gpu/drm/nouveau/core/subdev/bios/therm.c
> index 22a2057..22ac6db 100644
> --- a/drivers/gpu/drm/nouveau/core/subdev/bios/therm.c
> +++ b/drivers/gpu/drm/nouveau/core/subdev/bios/therm.c
> @@ -184,7 +184,8 @@ nvbios_therm_fan_parse(struct nouveau_bios *bios,
> cur_trip->fan_duty = value;
> break;
> case 0x26:
> - fan->pwm_freq = value;
> + if (!fan->pwm_freq)
> + fan->pwm_freq = value;
> break;
> case 0x3b:
> fan->bump_period = value;
> --
> 1.8.4
>
> _______________________________________________
> Nouveau mailing list
> Nouveau at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/nouveau
More information about the Nouveau
mailing list