Displaying 20 results from an estimated 32 matches for "g84_temp_get".
2020 Sep 16
2
[PATCH v2 1/2] drm/nouveau: return temperatures in temp_get() via parameter
...s/gpu/drm/nouveau/nvkm/subdev/therm/g84.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c
index 96f8da40ac82..e2f891d5c7ba 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c
@@ -27,14 +27,15 @@
#include <subdev/fuse.h>
int
-g84_temp_get(struct nvkm_therm *therm)
+g84_temp_get(struct nvkm_therm *therm, int *temp)
{
struct nvkm_device *device = therm->subdev.device;
- if (nvkm_fuse_read(device->fuse, 0x1a8) == 1)
- return nvkm_rd32(device, 0x20400);
- else
+ if (nvkm_fuse_read(device->fuse, 0x1a8) != 1)
return -ENO...
2020 Sep 16
2
[PATCH v2 1/2] drm/nouveau: return temperatures in temp_get() via parameter
...v/therm/g84.c
> > index 96f8da40ac82..e2f891d5c7ba 100644
> > --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c
> > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c
> > @@ -27,14 +27,15 @@
> > #include <subdev/fuse.h>
> >
> > int
> > -g84_temp_get(struct nvkm_therm *therm)
> > +g84_temp_get(struct nvkm_therm *therm, int *temp)
> > {
> > struct nvkm_device *device = therm->subdev.device;
> >
> > - if (nvkm_fuse_read(device->fuse, 0x1a8) == 1)
> > - return nvkm_rd32(device,...
2017 Oct 08
1
[RFC PATCH 01/29] therm: split return code and value in nvkm_get_temp
...f --git a/drm/nouveau/nvkm/subdev/therm/g84.c b/drm/nouveau/nvkm/subdev/therm/g84.c
> index 96f8da40..3bb2d829 100644
> --- a/drm/nouveau/nvkm/subdev/therm/g84.c
> +++ b/drm/nouveau/nvkm/subdev/therm/g84.c
> @@ -27,14 +27,15 @@
> #include <subdev/fuse.h>
>
> int
> -g84_temp_get(struct nvkm_therm *therm)
> +g84_temp_get(struct nvkm_therm *therm, int *val)
> {
> struct nvkm_device *device = therm->subdev.device;
>
> - if (nvkm_fuse_read(device->fuse, 0x1a8) == 1)
> - return nvkm_rd32(device, 0x20400);
> - else
> + if (nvkm_fuse_read(devic...
2020 Sep 16
0
[PATCH v2 1/2] drm/nouveau: return temperatures in temp_get() via parameter
...4.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c
> index 96f8da40ac82..e2f891d5c7ba 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c
> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c
> @@ -27,14 +27,15 @@
> #include <subdev/fuse.h>
>
> int
> -g84_temp_get(struct nvkm_therm *therm)
> +g84_temp_get(struct nvkm_therm *therm, int *temp)
> {
> struct nvkm_device *device = therm->subdev.device;
>
> - if (nvkm_fuse_read(device->fuse, 0x1a8) == 1)
> - return nvkm_rd32(device, 0x20400);
> - else
&...
2020 Sep 17
0
[PATCH v2 1/2] drm/nouveau: return temperatures in temp_get() via parameter
...a40ac82..e2f891d5c7ba 100644
> > > --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c
> > > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/g84.c
> > > @@ -27,14 +27,15 @@
> > > #include <subdev/fuse.h>
> > >
> > > int
> > > -g84_temp_get(struct nvkm_therm *therm)
> > > +g84_temp_get(struct nvkm_therm *therm, int *temp)
> > > {
> > > struct nvkm_device *device = therm->subdev.device;
> > >
> > > - if (nvkm_fuse_read(device->fuse, 0x1a8) == 1)
> > > -...
2017 Nov 22
2
[PATCH 03/32] therm: Split return code and value in nvkm_get_temp
...f --git a/drm/nouveau/nvkm/subdev/therm/g84.c b/drm/nouveau/nvkm/subdev/therm/g84.c
> index 96f8da40..81c0bda8 100644
> --- a/drm/nouveau/nvkm/subdev/therm/g84.c
> +++ b/drm/nouveau/nvkm/subdev/therm/g84.c
> @@ -27,14 +27,15 @@
> #include <subdev/fuse.h>
>
> int
> -g84_temp_get(struct nvkm_therm *therm)
> +g84_temp_get(struct nvkm_therm *therm, int *val)
> {
> struct nvkm_device *device = therm->subdev.device;
>
> - if (nvkm_fuse_read(device->fuse, 0x1a8) == 1)
> - return nvkm_rd32(device, 0x20400);
> - else
> + if (nvkm_fuse_read(devic...
2017 Sep 15
0
[RFC PATCH 01/29] therm: split return code and value in nvkm_get_temp
...VAL;
if (therm->mode == mode)
diff --git a/drm/nouveau/nvkm/subdev/therm/g84.c b/drm/nouveau/nvkm/subdev/therm/g84.c
index 96f8da40..3bb2d829 100644
--- a/drm/nouveau/nvkm/subdev/therm/g84.c
+++ b/drm/nouveau/nvkm/subdev/therm/g84.c
@@ -27,14 +27,15 @@
#include <subdev/fuse.h>
int
-g84_temp_get(struct nvkm_therm *therm)
+g84_temp_get(struct nvkm_therm *therm, int *val)
{
struct nvkm_device *device = therm->subdev.device;
- if (nvkm_fuse_read(device->fuse, 0x1a8) == 1)
- return nvkm_rd32(device, 0x20400);
- else
+ if (nvkm_fuse_read(device->fuse, 0x1a8) != 1)
return -ENOD...
2017 Nov 22
1
[PATCH 03/32] therm: Split return code and value in nvkm_get_temp
...km/subdev/therm/g84.c
>>> index 96f8da40..81c0bda8 100644
>>> --- a/drm/nouveau/nvkm/subdev/therm/g84.c
>>> +++ b/drm/nouveau/nvkm/subdev/therm/g84.c
>>> @@ -27,14 +27,15 @@
>>> #include <subdev/fuse.h>
>>>
>>> int
>>> -g84_temp_get(struct nvkm_therm *therm)
>>> +g84_temp_get(struct nvkm_therm *therm, int *val)
>>> {
>>> struct nvkm_device *device = therm->subdev.device;
>>>
>>> - if (nvkm_fuse_read(device->fuse, 0x1a8) == 1)
>>> - return nvkm_r...
2015 Dec 21
0
[PATCH] therm: debug print the FSRM config on [nvc0, nvf0) cards
...for crit threshold: %i\n", thr_crit);
+}
+
+static const struct nvkm_therm_func
+gf100_therm = {
+ .init = gt215_therm_init,
+ .fini = g84_therm_fini,
+ .pwm_ctrl = nv50_fan_pwm_ctrl,
+ .pwm_get = nv50_fan_pwm_get,
+ .pwm_set = nv50_fan_pwm_set,
+ .pwm_clock = nv50_fan_pwm_clock,
+ .temp_get = g84_temp_get,
+ .fan_sense = gt215_therm_fan_sense,
+ .program_alarms = nvkm_therm_program_alarms_polling,
+ .fsrm_verify = gf100_print_fsrm_config,
+};
+
+int
+gf100_therm_new(struct nvkm_device *device, int index,
+ struct nvkm_therm **ptherm)
+{
+ return nvkm_therm_new_(&gf100_therm, device, index...
2017 Nov 17
0
[PATCH 03/32] therm: Split return code and value in nvkm_get_temp
...VAL;
if (therm->mode == mode)
diff --git a/drm/nouveau/nvkm/subdev/therm/g84.c b/drm/nouveau/nvkm/subdev/therm/g84.c
index 96f8da40..81c0bda8 100644
--- a/drm/nouveau/nvkm/subdev/therm/g84.c
+++ b/drm/nouveau/nvkm/subdev/therm/g84.c
@@ -27,14 +27,15 @@
#include <subdev/fuse.h>
int
-g84_temp_get(struct nvkm_therm *therm)
+g84_temp_get(struct nvkm_therm *therm, int *val)
{
struct nvkm_device *device = therm->subdev.device;
- if (nvkm_fuse_read(device->fuse, 0x1a8) == 1)
- return nvkm_rd32(device, 0x20400);
- else
+ if (nvkm_fuse_read(device->fuse, 0x1a8) != 1)
return -ENOD...
2017 Nov 22
0
[PATCH 03/32] therm: Split return code and value in nvkm_get_temp
...dev/therm/g84.c b/drm/nouveau/nvkm/subdev/therm/g84.c
>> index 96f8da40..81c0bda8 100644
>> --- a/drm/nouveau/nvkm/subdev/therm/g84.c
>> +++ b/drm/nouveau/nvkm/subdev/therm/g84.c
>> @@ -27,14 +27,15 @@
>> #include <subdev/fuse.h>
>>
>> int
>> -g84_temp_get(struct nvkm_therm *therm)
>> +g84_temp_get(struct nvkm_therm *therm, int *val)
>> {
>> struct nvkm_device *device = therm->subdev.device;
>>
>> - if (nvkm_fuse_read(device->fuse, 0x1a8) == 1)
>> - return nvkm_rd32(device, 0x20400);
&g...
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
2017 Apr 25
6
[PATCH] drm/nouveau: Add support for clockgating on Fermi+
...v.device, 0x20200 + gate_idx, 0xff, data);
+}
+
+static const struct nvkm_therm_func
+gf100_therm = {
+ .init = gt215_therm_init,
+ .fini = g84_therm_fini,
+ .pwm_ctrl = nv50_fan_pwm_ctrl,
+ .pwm_get = nv50_fan_pwm_get,
+ .pwm_set = nv50_fan_pwm_set,
+ .pwm_clock = nv50_fan_pwm_clock,
+ .temp_get = g84_temp_get,
+ .fan_sense = gt215_therm_fan_sense,
+ .program_alarms = nvkm_therm_program_alarms_polling,
+ .clkgate_engine = gf100_clkgate_engine,
+ .clkgate_set = gf100_clkgate_set,
+};
+
+int
+gf100_therm_new(struct nvkm_device *device, int index,
+ struct nvkm_therm **ptherm)
+{
+ return nvkm_therm_new_(&...
2017 Apr 26
1
[PATCH] drm/nouveau: Add support for clockgating on Fermi+
...+ .init = gt215_therm_init,
> > + .fini = g84_therm_fini,
> > + .pwm_ctrl = nv50_fan_pwm_ctrl,
> > + .pwm_get = nv50_fan_pwm_get,
> > + .pwm_set = nv50_fan_pwm_set,
> > + .pwm_clock = nv50_fan_pwm_clock,
> > + .temp_get = g84_temp_get,
> > + .fan_sense = gt215_therm_fan_sense,
> > + .program_alarms = nvkm_therm_program_alarms_polling,
> > + .clkgate_engine = gf100_clkgate_engine,
> > + .clkgate_set = gf100_clkgate_set,
> > +};
> > +
> > +int
> > +gf100_therm...
2017 Apr 26
0
[PATCH v2] drm/nouveau: Add support for clockgating on Fermi+
...dev.device, 0x20200 + offset, 0xff, data);
+}
+
+static const struct nvkm_therm_func
+gf100_therm = {
+ .init = gt215_therm_init,
+ .fini = g84_therm_fini,
+ .pwm_ctrl = nv50_fan_pwm_ctrl,
+ .pwm_get = nv50_fan_pwm_get,
+ .pwm_set = nv50_fan_pwm_set,
+ .pwm_clock = nv50_fan_pwm_clock,
+ .temp_get = g84_temp_get,
+ .fan_sense = gt215_therm_fan_sense,
+ .program_alarms = nvkm_therm_program_alarms_polling,
+ .clkgate_engine = gf100_clkgate_engine,
+};
+
+int
+gf100_therm_new(struct nvkm_device *device, int index,
+ struct nvkm_therm **ptherm)
+{
+ return nvkm_therm_new_(&gf100_therm, device, index, pthe...
2017 Apr 25
0
[PATCH] drm/nouveau: Add support for clockgating on Fermi+
...nc
> +gf100_therm = {
> + .init = gt215_therm_init,
> + .fini = g84_therm_fini,
> + .pwm_ctrl = nv50_fan_pwm_ctrl,
> + .pwm_get = nv50_fan_pwm_get,
> + .pwm_set = nv50_fan_pwm_set,
> + .pwm_clock = nv50_fan_pwm_clock,
> + .temp_get = g84_temp_get,
> + .fan_sense = gt215_therm_fan_sense,
> + .program_alarms = nvkm_therm_program_alarms_polling,
> + .clkgate_engine = gf100_clkgate_engine,
> + .clkgate_set = gf100_clkgate_set,
> +};
> +
> +int
> +gf100_therm_new(struct nvkm_device *device, int ind...
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
2017 Apr 25
0
[PATCH] drm/nouveau: Add support for clockgating on Fermi+
...+
> +static const struct nvkm_therm_func
> +gf100_therm = {
> + .init = gt215_therm_init,
> + .fini = g84_therm_fini,
> + .pwm_ctrl = nv50_fan_pwm_ctrl,
> + .pwm_get = nv50_fan_pwm_get,
> + .pwm_set = nv50_fan_pwm_set,
> + .pwm_clock = nv50_fan_pwm_clock,
> + .temp_get = g84_temp_get,
> + .fan_sense = gt215_therm_fan_sense,
> + .program_alarms = nvkm_therm_program_alarms_polling,
> + .clkgate_engine = gf100_clkgate_engine,
> + .clkgate_set = gf100_clkgate_set,
> +};
> +
> +int
> +gf100_therm_new(struct nvkm_device *device, int index,
> + struct nvkm_...
2017 Jul 03
0
[PATCH] therm/gm200: Added
...SE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Authors: Karol Herbst
+ */
+#include "priv.h"
+
+static const struct nvkm_therm_func
+gm200_therm = {
+ .init = g84_therm_init,
+ .fini = g84_therm_fini,
+ .temp_get = g84_temp_get,
+ .program_alarms = nvkm_therm_program_alarms_polling,
+};
+
+int
+gm200_therm_new(struct nvkm_device *device, int index,
+ struct nvkm_therm **ptherm)
+{
+ return nvkm_therm_new_(&gm200_therm, device, index, ptherm);
+}
diff --git a/drm/nouveau/nvkm/subdev/therm/priv.h b/drm/nouveau/nvkm/sub...
2018 Jan 26
0
[RFC v3 2/4] drm/nouveau: Add support for BLCG on Kepler1
...it->data);
+ addr += 8;
+ }
+ }
+}
+
+static const struct nvkm_therm_func
+gf100_therm_func = {
+ .init = gt215_therm_init,
+ .fini = g84_therm_fini,
+ .pwm_ctrl = nv50_fan_pwm_ctrl,
+ .pwm_get = nv50_fan_pwm_get,
+ .pwm_set = nv50_fan_pwm_set,
+ .pwm_clock = nv50_fan_pwm_clock,
+ .temp_get = g84_temp_get,
+ .fan_sense = gt215_therm_fan_sense,
+ .program_alarms = nvkm_therm_program_alarms_polling,
+ /* TODO: Fermi clockgating isn't understood fully yet, so we leave it
+ * disabled here */
+};
+
+int
+gf100_therm_new(struct nvkm_device *device, int index,
+ struct nvkm_therm **ptherm)
+{
+ retu...