search for: nvbios_thermal_policies_entry

Displaying 9 results from an estimated 9 matches for "nvbios_thermal_policies_entry".

2017 Oct 08
1
[RFC PATCH 15/29] bios: add thermal policies table
.../thermal_policies.h > @@ -0,0 +1,27 @@ > +#ifndef __NVBIOS_THERMAL_POLICIES_H__ > +#define __NVBIOS_THERMAL_POLICIES_H__ > + > +struct nvbios_thermal_policies_header { > + u32 offset; > + > + u8 version; > + u8 hlen; > + u8 ecount; > + u8 elen; > +}; > +struct nvbios_thermal_policies_entry { > + u8 mode; > + u16 t0; > + u16 t1; > + u16 t2; > + s16 down_offset; > + s16 up_offset; > +}; > + > +int nvbios_thermal_policies_parse(struct nvkm_bios *, > + struct nvbios_thermal_policies_header *); > +int nvbios_thermal_policies_entry(struct nvkm_bios *,...
2017 Sep 15
0
[RFC PATCH 15/29] bios: add thermal policies table
...c9215fdd --- /dev/null +++ b/drm/nouveau/include/nvkm/subdev/bios/thermal_policies.h @@ -0,0 +1,27 @@ +#ifndef __NVBIOS_THERMAL_POLICIES_H__ +#define __NVBIOS_THERMAL_POLICIES_H__ + +struct nvbios_thermal_policies_header { + u32 offset; + + u8 version; + u8 hlen; + u8 ecount; + u8 elen; +}; +struct nvbios_thermal_policies_entry { + u8 mode; + u16 t0; + u16 t1; + u16 t2; + s16 down_offset; + s16 up_offset; +}; + +int nvbios_thermal_policies_parse(struct nvkm_bios *, + struct nvbios_thermal_policies_header *); +int nvbios_thermal_policies_entry(struct nvkm_bios *, + struct nvbios_thermal_policies_header *, +...
2017 Jul 22
1
[RFC PATCH 12/13] clk: parse thermal policies for throttling thresholds
...> }; > > +static void > +nvkm_clk_parse_max_temp(struct nvkm_clk *clk) > +{ > + struct nvkm_subdev *subdev = &clk->subdev; > + struct nvkm_bios *bios = subdev->device->bios; > + struct nvbios_thermal_policies_header header; > + struct nvbios_thermal_policies_entry entry; > + u8 i; > + s16 mt = 0xff; > + s16 rt = 0xff; > + > + if (nvbios_thermal_policies_parse(bios, &header)) > + return; > + > + if (!header.ecount) > + return; > + > + for (i = 0; i < header...
2017 Oct 08
1
[RFC PATCH 16/29] clk: parse thermal policies for throttling thresholds
...fini = nvkm_clk_fini, > }; > > +static void > +nvkm_clk_parse_max_temp(struct nvkm_clk *clk) > +{ > + struct nvkm_subdev *subdev = &clk->subdev; > + struct nvkm_bios *bios = subdev->device->bios; > + struct nvbios_thermal_policies_header header; > + struct nvbios_thermal_policies_entry entry; > + u8 i; > + s16 mt = 0xff; > + s16 rt = 0xff; Why 0xff? I mean, sure, there is a high possibility that the GPU won’t like temperatures above 255℃, but still. > + > + if (nvbios_thermal_policies_parse(bios, &header)) > + return; > + > + if (!header.ecount) &gt...
2017 Jul 21
0
[RFC PATCH 12/13] clk: parse thermal policies for throttling thresholds
...m.h> @@ -669,6 +670,44 @@ nvkm_clk = { .fini = nvkm_clk_fini, }; +static void +nvkm_clk_parse_max_temp(struct nvkm_clk *clk) +{ + struct nvkm_subdev *subdev = &clk->subdev; + struct nvkm_bios *bios = subdev->device->bios; + struct nvbios_thermal_policies_header header; + struct nvbios_thermal_policies_entry entry; + u8 i; + s16 mt = 0xff; + s16 rt = 0xff; + + if (nvbios_thermal_policies_parse(bios, &header)) + return; + + if (!header.ecount) + return; + + for (i = 0; i < header.ecount; i++) { + if (nvbios_thermal_policies_entry(bios, &header, i, &entry)) + return; + + if (entry.mo...
2017 Sep 15
0
[RFC PATCH 16/29] clk: parse thermal policies for throttling thresholds
...m.h> @@ -659,6 +660,44 @@ nvkm_clk = { .fini = nvkm_clk_fini, }; +static void +nvkm_clk_parse_max_temp(struct nvkm_clk *clk) +{ + struct nvkm_subdev *subdev = &clk->subdev; + struct nvkm_bios *bios = subdev->device->bios; + struct nvbios_thermal_policies_header header; + struct nvbios_thermal_policies_entry entry; + u8 i; + s16 mt = 0xff; + s16 rt = 0xff; + + if (nvbios_thermal_policies_parse(bios, &header)) + return; + + if (!header.ecount) + return; + + for (i = 0; i < header.ecount; i++) { + if (nvbios_thermal_policies_entry(bios, &header, i, &entry)) + return; + + if (entry.mo...
2017 Jul 21
15
[RFC PATCH 00/13] Thermal throttling
Adds Nouveau controlled thermal throttling for Kepler+ GPUs. With this I feel safe enough to add support for Maxwell2 reclocking later on (still hidden behind a switch, but we can be fairly sure to not overheat hardware if a user isn't carefull enough) Contains all patches from my clk update series, but I thought it makes sense to include those in this series as well for completness. Please
2017 Sep 15
42
[RFC PATCH 00/29] Current State of my clk patches
Just wanted to post updated versions of my last series/patches. Reviews welcomed. It would be also nice if we agree on features I should focus upstreaming, so that this work can be better splitted or reordered. Sadly most of my patches depend on the rather big clk subdev rework and I think those patches shows best, why I think this rework is actually needed and makes things much easier to add
2017 Nov 17
35
[PATCH 00/32] Updated State of my clk patches
Last update here: https://lists.freedesktop.org/archives/nouveau/2017-September/028848.html Basically big cleanup, reordering, simplifications and some renaming to make the code easier to read and to review. I also moved some bugfixes to the front so they can be merged prior the other patches. There was also a bug related to the therm daemon triggering a pstate change leading to PMU lockups,