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