Skip to content
Snippets Groups Projects
Commit c072470f authored by Martin Peres's avatar Martin Peres Committed by Ben Skeggs
Browse files

drm/nouveau/bios/therm: handle vbioses with duplicate entries (mostly nva5)


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.

Signed-off-by: default avatarMartin Peres <martin.peres@labri.fr>
Reported-by: default avatarMariusz Bialonczyk <manio@skyboo.net>
Tested-by: default avatarMariusz Bialonczyk <manio@skyboo.net>
Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent a27e5699
No related branches found
No related tags found
No related merge requests found
...@@ -184,7 +184,8 @@ nvbios_therm_fan_parse(struct nouveau_bios *bios, ...@@ -184,7 +184,8 @@ nvbios_therm_fan_parse(struct nouveau_bios *bios,
cur_trip->fan_duty = value; cur_trip->fan_duty = value;
break; break;
case 0x26: case 0x26:
fan->pwm_freq = value; if (!fan->pwm_freq)
fan->pwm_freq = value;
break; break;
case 0x3b: case 0x3b:
fan->bump_period = value; fan->bump_period = value;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment