search for: nvkm_therm_update

Displaying 20 results from an estimated 20 matches for "nvkm_therm_update".

2016 Sep 29
2
[PATCH] drm/therm/fan: add a fallback if no fan control is specified in the vbios
...2 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/drm/nouveau/nvkm/subdev/therm/base.c b/drm/nouveau/nvkm/subdev/therm/base.c index 8894fee..df949fa 100644 --- a/drm/nouveau/nvkm/subdev/therm/base.c +++ b/drm/nouveau/nvkm/subdev/therm/base.c @@ -64,10 +64,9 @@ nvkm_therm_update_trip(struct nvkm_therm *therm) } static int -nvkm_therm_update_linear(struct nvkm_therm *therm) +nvkm_therm_compute_linear_duty(struct nvkm_therm *therm, u8 linear_min_temp, + u8 linear_max_temp) { - u8 linear_min_temp = therm->fan->bios.linear_min_temp; -...
2016 Apr 18
0
[PATCH v4 26/37] therm: don't cancel the timer
...therm/base.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drm/nouveau/nvkm/subdev/therm/base.c b/drm/nouveau/nvkm/subdev/therm/base.c index 8894fee..0c0feec 100644 --- a/drm/nouveau/nvkm/subdev/therm/base.c +++ b/drm/nouveau/nvkm/subdev/therm/base.c @@ -92,7 +92,6 @@ nvkm_therm_update(struct nvkm_therm *therm, int mode) struct nvkm_timer *tmr = subdev->device->timer; unsigned long flags; bool immd = true; - bool poll = true; int duty = -1; spin_lock_irqsave(&therm->lock, flags); @@ -102,11 +101,9 @@ nvkm_therm_update(struct nvkm_therm *therm, int mode)...
2018 Sep 12
2
[PATCH] drm/nouveau: Don't disable polling in fallback mode
...deletions(-) diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c index 3695cde669f8..07914e36939e 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c @@ -132,11 +132,12 @@ nvkm_therm_update(struct nvkm_therm *therm, int mode) duty = nvkm_therm_update_linear(therm); break; case NVBIOS_THERM_FAN_OTHER: - if (therm->cstate) + if (therm->cstate) { duty = therm->cstate; - else + poll = false; + } else { duty = nvkm_therm_update_linear_fallback(therm...
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
2016 Oct 03
0
[PATCH] drm/therm/fan: add a fallback if no fan control is specified in the vbios
...ile changed, 19 insertions(+), 3 deletions(-) > > diff --git a/drm/nouveau/nvkm/subdev/therm/base.c b/drm/nouveau/nvkm/subdev/therm/base.c > index 8894fee..df949fa 100644 > --- a/drm/nouveau/nvkm/subdev/therm/base.c > +++ b/drm/nouveau/nvkm/subdev/therm/base.c > @@ -64,10 +64,9 @@ nvkm_therm_update_trip(struct nvkm_therm *therm) > } > > static int > -nvkm_therm_update_linear(struct nvkm_therm *therm) > +nvkm_therm_compute_linear_duty(struct nvkm_therm *therm, u8 linear_min_temp, > + u8 linear_max_temp) > { > - u8 linear_min_temp...
2018 Sep 14
2
[PATCH] drm/nouveau: Don't disable polling in fallback mode
...gpu/drm/nouveau/nvkm/subdev/therm/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c >> index 3695cde669f8..07914e36939e 100644 >> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c >> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c >> @@ -132,11 +132,12 @@ nvkm_therm_update(struct nvkm_therm *therm, int mode) >> duty = nvkm_therm_update_linear(therm); >> break; >> case NVBIOS_THERM_FAN_OTHER: >> - if (therm->cstate) >> + if (ther...
2016 Apr 18
0
[PATCH v4 33/37] therm: trigger reclock in temperature daemon
...+#include <subdev/clk.h> + int nvkm_therm_temp_get(struct nvkm_therm *therm) { @@ -153,7 +155,10 @@ nvkm_therm_alarm(struct nvkm_alarm *alarm) { struct nvkm_therm *therm = container_of(alarm, struct nvkm_therm, alarm); + struct nvkm_clk *clk = therm->subdev.device->clk; nvkm_therm_update(therm, -1); + if (clk) + nvkm_clk_update(clk, false); } int -- 2.8.1
2017 Sep 15
0
[RFC PATCH 14/29] therm: Trigger reclock in temperature daemon
...+170,15 @@ nvkm_therm_alarm(struct nvkm_alarm *alarm) int temp; struct nvkm_therm *therm = container_of(alarm, struct nvkm_therm, alarm); + struct nvkm_clk *clk = therm->subdev.device->clk; + if (nvkm_therm_temp_get(therm, &temp) >= 0) therm->last_temp = temp; + nvkm_therm_update(therm, therm->last_temp, -1); + + if (clk) + nvkm_clk_tstate(clk, therm->last_temp); } int -- 2.14.1
2018 Sep 14
0
[PATCH] drm/nouveau: Don't disable polling in fallback mode
...--git a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c > index 3695cde669f8..07914e36939e 100644 > --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c > @@ -132,11 +132,12 @@ nvkm_therm_update(struct nvkm_therm *therm, int mode) > duty = nvkm_therm_update_linear(therm); > break; > case NVBIOS_THERM_FAN_OTHER: > - if (therm->cstate) > + if (therm->cstate) { >...
2019 Feb 09
0
[PATCH AUTOSEL 4.20 36/42] drm/nouveau: Don't disable polling in fallback mode
...deletions(-) diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c index 3695cde669f8..07914e36939e 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c @@ -132,11 +132,12 @@ nvkm_therm_update(struct nvkm_therm *therm, int mode) duty = nvkm_therm_update_linear(therm); break; case NVBIOS_THERM_FAN_OTHER: - if (therm->cstate) + if (therm->cstate) { duty = therm->cstate; - else + poll = false; + } else { duty = nvkm_therm_update_linear_fallback(therm...
2019 Feb 09
0
[PATCH AUTOSEL 4.19 25/28] drm/nouveau: Don't disable polling in fallback mode
...deletions(-) diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c index 3695cde669f8..07914e36939e 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c @@ -132,11 +132,12 @@ nvkm_therm_update(struct nvkm_therm *therm, int mode) duty = nvkm_therm_update_linear(therm); break; case NVBIOS_THERM_FAN_OTHER: - if (therm->cstate) + if (therm->cstate) { duty = therm->cstate; - else + poll = false; + } else { duty = nvkm_therm_update_linear_fallback(therm...
2019 Feb 09
0
[PATCH AUTOSEL 4.14 14/16] drm/nouveau: Don't disable polling in fallback mode
...deletions(-) diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c index 952a7cb0a59a..692d4d96766a 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c @@ -131,11 +131,12 @@ nvkm_therm_update(struct nvkm_therm *therm, int mode) duty = nvkm_therm_update_linear(therm); break; case NVBIOS_THERM_FAN_OTHER: - if (therm->cstate) + if (therm->cstate) { duty = therm->cstate; - else + poll = false; + } else { duty = nvkm_therm_update_linear_fallback(therm...
2018 Nov 14
0
[PATCH] drm/nouveau: Don't disable polling in fallback mode
.../subdev/therm/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c > >> index 3695cde669f8..07914e36939e 100644 > >> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c > >> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c > >> @@ -132,11 +132,12 @@ nvkm_therm_update(struct nvkm_therm *therm, int mode) > >> duty = nvkm_therm_update_linear(therm); > >> break; > >> case NVBIOS_THERM_FAN_OTHER: > >> - if (therm->cstate) > >> +...
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
...list_for_each_entry_from_reverse in nvkm_cstate_find_best clk: We should pass the pstate id around not the index in the list clk: Hold information about the current cstate status clk: Refactor the base and boost clock limits so that we can limit pstates therm: Move the temp readout into nvkm_therm_update core/device: Move therm behind clk therm: Trigger reclock in temperature daemon bios: Add thermal policies table therm: Cancel the timer only in fini clk: Parse thermal policies for throttling thresholds clk: Thermal throttling clk: Skip unchanging parts of the reclock clk: Save the...
2020 Sep 17
0
[PATCH v2 1/2] drm/nouveau: return temperatures in temp_get() via parameter
...if (therm->func->temp_get) > > > - return therm->func->temp_get(therm); > > > + return therm->func->temp_get(therm, temp); > > > return -ENODEV; > > > } > > > > > > @@ -40,9 +45,11 @@ nvkm_therm_update_trip(struct nvkm_therm *therm) > > > struct nvbios_therm_trip_point *trip = therm->fan->bios.trip, > > > *cur_trip = NULL, > > > *last_trip = therm->last_trip; > > > -...
2020 Sep 16
2
[PATCH v2 1/2] drm/nouveau: return temperatures in temp_get() via parameter
...ading; > > + > > if (therm->func->temp_get) > > - return therm->func->temp_get(therm); > > + return therm->func->temp_get(therm, temp); > > return -ENODEV; > > } > > > > @@ -40,9 +45,11 @@ nvkm_therm_update_trip(struct nvkm_therm *therm) > > struct nvbios_therm_trip_point *trip = therm->fan->bios.trip, > > *cur_trip = NULL, > > *last_trip = therm->last_trip; > > - u8 temp = the...
2016 Apr 07
29
[PATCH v3 00/29] Volting/Clocking improvements for Fermi and newer
This is an updated series for the old clocking improvement one. I think I got everything needed in place and also a simple update mechanism for updating the cstates/voltage on temperature changes. If anything is unclear how I REed or got the information, please leave a note so that I can provide additional information in the commits. Besides that I think we are pretty close now and only some
2016 Apr 18
63
[PATCH v4 00/37] Volting/Clocking improvements for Fermi and newer
We are slowly getting there! v4 of the series with some realy good improvements, so I am sure this is like 95% done and only needs some proper polishing and proper Reviews! I also added the NvVoltOffsetmV module parameter, so that a user is able to over and !under!-volt the GPU. Overvolting makes sense, when there are still some reclocking issues left, which might be solved by a higher voltage.
2015 Jul 21
17
[Bug 91413] New: INFO: task Xorg:2419 blocked for more than 120 seconds.
...21 10:11:42 dioo-XPS kernel: [ 2185.090464] [<ffffffffc085d09f>] nvkm_fan_update+0xef/0x1d0 [nouveau] Jul 21 10:11:42 dioo-XPS kernel: [ 2185.090475] [<ffffffffc085d1d9>] nvkm_therm_fan_set+0x19/0x20 [nouveau] Jul 21 10:11:42 dioo-XPS kernel: [ 2185.090486] [<ffffffffc085c8ed>] nvkm_therm_update+0xad/0x300 [nouveau] Jul 21 10:11:42 dioo-XPS kernel: [ 2185.090496] [<ffffffffc085cb5a>] nvkm_therm_alarm+0x1a/0x20 [nouveau] Jul 21 10:11:42 dioo-XPS kernel: [ 2185.090507] [<ffffffffc0860266>] nv04_timer_alarm_trigger+0x126/0x170 [nouveau] Jul 21 10:11:42 dioo-XPS kernel: [ 2185.09...