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,