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)
>...
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,