Displaying 17 results from an estimated 17 matches for "nvkm_therm_compute_linear_duty".
2016 Sep 29
2
[PATCH] drm/therm/fan: add a fallback if no fan control is specified in the vbios
...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;
- u8 linear_max_temp = therm->fan->bios.linear_max_temp;
u8 temp = therm->func->temp_get(therm);
u16 duty;
@@ -85,...
2016 Oct 03
0
[PATCH] drm/therm/fan: add a fallback if no fan control is specified in the vbios
...t; 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;
> - u8 linear_max_temp = therm->fan->bios.linear_max_temp;
> u8 temp = therm->func->temp_get(th...
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
2020 Sep 16
2
[PATCH v2 1/2] drm/nouveau: return temperatures in temp_get() via parameter
...unc->temp_get(therm);
+ int temp;
u16 duty, i;
+ WARN_ON(nvkm_therm_temp_get(therm, &temp) < 0);
+
/* look for the trip point corresponding to the current temperature */
cur_trip = NULL;
for (i = 0; i < therm->fan->bios.nr_fan_trip; i++) {
@@ -70,9 +77,11 @@ static int
nvkm_therm_compute_linear_duty(struct nvkm_therm *therm, u8 linear_min_temp,
u8 linear_max_temp)
{
- u8 temp = therm->func->temp_get(therm);
+ int temp;
u16 duty;
+ WARN_ON(nvkm_therm_temp_get(therm, &temp) < 0);
+
/* handle the non-linear part first */
if (temp < linear_...
2020 Sep 16
2
[PATCH v2 1/2] drm/nouveau: return temperatures in temp_get() via parameter
...use I never send out the patch to use them.
> > /* look for the trip point corresponding to the current temperature */
> > cur_trip = NULL;
> > for (i = 0; i < therm->fan->bios.nr_fan_trip; i++) {
> > @@ -70,9 +77,11 @@ static int
> > nvkm_therm_compute_linear_duty(struct nvkm_therm *therm, u8 linear_min_temp,
> > u8 linear_max_temp)
> > {
> > - u8 temp = therm->func->temp_get(therm);
> > + int temp;
> > u16 duty;
> >
> > + WARN_ON(nvkm_therm_temp_get(t...
2017 Nov 22
2
[PATCH 03/32] therm: Split return code and value in nvkm_get_temp
...;func->temp_get(therm, &temp);
> + if (ret < 0)
> + return ret;
> +
> /* look for the trip point corresponding to the current temperature */
> cur_trip = NULL;
> for (i = 0; i < therm->fan->bios.nr_fan_trip; i++) {
> @@ -67,9 +71,13 @@ static int
> nvkm_therm_compute_linear_duty(struct nvkm_therm *therm, u8 linear_min_temp,
> u8 linear_max_temp)
> {
> - u8 temp = therm->func->temp_get(therm);
> + int temp, ret;
> u16 duty;
>
> + ret = therm->func->temp_get(therm, &temp);
> + if (ret < 0)
>...
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,
2017 Oct 08
1
[RFC PATCH 01/29] therm: split return code and value in nvkm_get_temp
...;func->temp_get(therm, &temp);
> + if (ret < 0)
> + return ret;
> +
> /* look for the trip point corresponding to the current temperature */
> cur_trip = NULL;
> for (i = 0; i < therm->fan->bios.nr_fan_trip; i++) {
> @@ -67,9 +71,13 @@ static int
> nvkm_therm_compute_linear_duty(struct nvkm_therm *therm, u8 linear_min_temp,
> u8 linear_max_temp)
> {
> - u8 temp = therm->func->temp_get(therm);
> + int temp, ret;
> u16 duty;
>
> + ret = therm->func->temp_get(therm, &temp);
> + if (ret < 0)
>...
2017 Sep 15
0
[RFC PATCH 01/29] therm: split return code and value in nvkm_get_temp
...erm);
u16 duty, i;
+ ret = therm->func->temp_get(therm, &temp);
+ if (ret < 0)
+ return ret;
+
/* look for the trip point corresponding to the current temperature */
cur_trip = NULL;
for (i = 0; i < therm->fan->bios.nr_fan_trip; i++) {
@@ -67,9 +71,13 @@ static int
nvkm_therm_compute_linear_duty(struct nvkm_therm *therm, u8 linear_min_temp,
u8 linear_max_temp)
{
- u8 temp = therm->func->temp_get(therm);
+ int temp, ret;
u16 duty;
+ ret = therm->func->temp_get(therm, &temp);
+ if (ret < 0)
+ return ret;
+
/* handle the non-linear p...
2017 Nov 22
1
[PATCH 03/32] therm: Split return code and value in nvkm_get_temp
...return ret;
>>> +
>>> /* look for the trip point corresponding to the current temperature */
>>> cur_trip = NULL;
>>> for (i = 0; i < therm->fan->bios.nr_fan_trip; i++) {
>>> @@ -67,9 +71,13 @@ static int
>>> nvkm_therm_compute_linear_duty(struct nvkm_therm *therm, u8 linear_min_temp,
>>> u8 linear_max_temp)
>>> {
>>> - u8 temp = therm->func->temp_get(therm);
>>> + int temp, ret;
>>> u16 duty;
>>>
>>> + ret = therm...
2020 Sep 16
0
[PATCH v2 1/2] drm/nouveau: return temperatures in temp_get() via parameter
...But in theory
that could be causing random errors getting reported.
> /* look for the trip point corresponding to the current temperature */
> cur_trip = NULL;
> for (i = 0; i < therm->fan->bios.nr_fan_trip; i++) {
> @@ -70,9 +77,11 @@ static int
> nvkm_therm_compute_linear_duty(struct nvkm_therm *therm, u8 linear_min_temp,
> u8 linear_max_temp)
> {
> - u8 temp = therm->func->temp_get(therm);
> + int temp;
> u16 duty;
>
> + WARN_ON(nvkm_therm_temp_get(therm, &temp) < 0);
> +
&g...
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
0
[PATCH 03/32] therm: Split return code and value in nvkm_get_temp
...erm);
u16 duty, i;
+ ret = therm->func->temp_get(therm, &temp);
+ if (ret < 0)
+ return ret;
+
/* look for the trip point corresponding to the current temperature */
cur_trip = NULL;
for (i = 0; i < therm->fan->bios.nr_fan_trip; i++) {
@@ -67,9 +71,13 @@ static int
nvkm_therm_compute_linear_duty(struct nvkm_therm *therm, u8 linear_min_temp,
u8 linear_max_temp)
{
- u8 temp = therm->func->temp_get(therm);
+ int temp, ret;
u16 duty;
+ ret = therm->func->temp_get(therm, &temp);
+ if (ret < 0)
+ return ret;
+
/* handle the non-linear p...
2020 Sep 17
0
[PATCH v2 1/2] drm/nouveau: return temperatures in temp_get() via parameter
...rn the error here.
> > > /* look for the trip point corresponding to the current temperature */
> > > cur_trip = NULL;
> > > for (i = 0; i < therm->fan->bios.nr_fan_trip; i++) {
> > > @@ -70,9 +77,11 @@ static int
> > > nvkm_therm_compute_linear_duty(struct nvkm_therm *therm, u8 linear_min_temp,
> > > u8 linear_max_temp)
> > > {
> > > - u8 temp = therm->func->temp_get(therm);
> > > + int temp;
> > > u16 duty;
> > >
> > > +...
2017 Nov 22
0
[PATCH 03/32] therm: Split return code and value in nvkm_get_temp
...t < 0)
>> + return ret;
>> +
>> /* look for the trip point corresponding to the current temperature */
>> cur_trip = NULL;
>> for (i = 0; i < therm->fan->bios.nr_fan_trip; i++) {
>> @@ -67,9 +71,13 @@ static int
>> nvkm_therm_compute_linear_duty(struct nvkm_therm *therm, u8 linear_min_temp,
>> u8 linear_max_temp)
>> {
>> - u8 temp = therm->func->temp_get(therm);
>> + int temp, ret;
>> u16 duty;
>>
>> + ret = therm->func->temp_get(therm...
2017 Sep 02
3
[PATCH 0/3] Several hwmon fixes
We should simply return errors while the GPU is turned off, because the sensors
aren't accessable and setting any kind of value doesn't make any sense. Fixes
sensors values reported by "sensors"
Before:
nouveau-pci-0100
Adapter: PCI adapter
GPU core: +0.60 V (min = +0.60 V, max = +1.20 V)
temp1: -0.0°C (high = +95.0°C, hyst = +3.0°C)
(crit
2020 Aug 12
6
[PATCH] drm/nouveau: Add fine-grain temperature reporting
Commit d32656373857 ("drm/nouveau/therm/gp100: initial implementation of
new gp1xx temperature sensor") added support for reading finer-grain
temperatures, but continued to report temperatures in 1 degree Celsius
increments via nvkm_therm_temp_get().
Rather than altering nvkm_therm_temp_get() to report finer-grain
temperatures, which would be inconvenient for other users of the