Displaying 9 results from an estimated 9 matches for "down_offset".
2017 Oct 08
1
[RFC PATCH 15/29] bios: add thermal policies table
...IOS_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 *,
> + u8 idx,
> + s...
2017 Sep 15
0
[RFC PATCH 15/29] bios: add thermal policies table
...es.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 *,
+ u8 idx,
+ struct nvbios_thermal_policies_entry *);
+#end...
2017 Jul 22
1
[RFC PATCH 12/13] clk: parse thermal policies for throttling thresholds
...ader.ecount; i++) {
> + if (nvbios_thermal_policies_entry(bios, &header, i, &entry))
> + return;
> +
> + if (entry.mode != 1)
> + continue;
> +
> + mt = min(mt, (s16)((entry.t0 + entry.down_offset) / 32));
> + rt = min(rt, (s16)((entry.t0 + entry.up_offset) / 32));
I believe you're looking for
min_t(s16, rt, foo)
> + }
> +
> + if (mt == 0xff || rt == 0xff)
> + return;
> +
> + clk->max_temp = mt;
> + clk->...
2017 Oct 08
1
[RFC PATCH 16/29] clk: parse thermal policies for throttling thresholds
...> + if (!header.ecount)
> + return;
> +
> + for (i = 0; i < header.ecount; i++) {
> + if (nvbios_thermal_policies_entry(bios, &header, i, &entry))
> + return;
> +
> + if (entry.mode != 1)
> + continue;
> +
> + mt = min_t(s16, mt, (entry.t0 + entry.down_offset) / 32);
> + rt = min_t(s16, rt, (entry.t0 + entry.up_offset) / 32);
> + }
> +
> + if (mt == 0xff || rt == 0xff)
> + return;
> +
> + clk->max_temp = mt;
> + clk->relax_temp = rt;
> +
> + nvkm_debug(subdev, "setting up sw throttling thresholds (%u/%u°C)\n&qu...
2017 Jul 21
0
[RFC PATCH 12/13] clk: parse thermal policies for throttling thresholds
...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.mode != 1)
+ continue;
+
+ mt = min(mt, (s16)((entry.t0 + entry.down_offset) / 32));
+ rt = min(rt, (s16)((entry.t0 + entry.up_offset) / 32));
+ }
+
+ if (mt == 0xff || rt == 0xff)
+ return;
+
+ clk->max_temp = mt;
+ clk->relax_temp = rt;
+
+ nvkm_debug(subdev, "setting up sw throttling thresholds (%u/%u°C)\n",
+ clk->max_temp, clk->relax_temp);...
2017 Sep 15
0
[RFC PATCH 16/29] clk: parse thermal policies for throttling thresholds
...hermal_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.mode != 1)
+ continue;
+
+ mt = min_t(s16, mt, (entry.t0 + entry.down_offset) / 32);
+ rt = min_t(s16, rt, (entry.t0 + entry.up_offset) / 32);
+ }
+
+ if (mt == 0xff || rt == 0xff)
+ return;
+
+ clk->max_temp = mt;
+ clk->relax_temp = rt;
+
+ nvkm_debug(subdev, "setting up sw throttling thresholds (%u/%u°C)\n",
+ clk->max_temp, clk->relax_temp);...
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,