search for: gp100_temp_get

Displaying 20 results from an estimated 21 matches for "gp100_temp_get".

2020 Aug 12
6
[PATCH] drm/nouveau: Add fine-grain temperature reporting
...nouveau/nvkm/subdev/therm/gp100.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c index 9f0dea3f61dc..4c3c2895a3cb 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c @@ -24,7 +24,7 @@ #include "priv.h" static int -gp100_temp_get(struct nvkm_therm *therm) +gp100_temp_get_raw(struct nvkm_therm *therm) { struct nvkm_device *device = therm->subdev.device; struct nvkm_subdev *subdev = &therm->subdev; @@ -37,14 +37,35 @@ gp100_temp_get(struct nvkm_therm *therm) /* device valid */ if (tsensor & 0x20000000...
2018 Jan 25
3
[PATCH] drm/nouveau/therm/gp100: Do not report temperature when subdev is shadowed
...deletion(-) diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c index 9f0dea3f61dc..45d0ec632b5a 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c @@ -32,8 +32,10 @@ gp100_temp_get(struct nvkm_therm *therm) u32 inttemp = (tsensor & 0x0001fff8); /* device SHADOWed */ - if (tsensor & 0x40000000) + if (tsensor & 0x40000000) { nvkm_trace(subdev, "reading temperature from SHADOWed sensor\n"); + return -ENODEV; + } /* device valid */ if (tsenso...
2020 Sep 09
0
[PATCH] drm/nouveau: Add fine-grain temperature reporting
...ivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c > index 9f0dea3f61dc..4c3c2895a3cb 100644 > --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c > @@ -24,7 +24,7 @@ > #include "priv.h" > > static int > -gp100_temp_get(struct nvkm_therm *therm) > +gp100_temp_get_raw(struct nvkm_therm *therm) > { > struct nvkm_device *device = therm->subdev.device; > struct nvkm_subdev *subdev = &therm->subdev; > @@ -37,14 +37,35 @@ gp100_temp_get(struct nvkm_therm *therm) > >...
2020 Sep 16
2
[PATCH v2 1/2] drm/nouveau: return temperatures in temp_get() via parameter
...mp_get() function currently returns negative error numbers or a temperature. However, the thermal sensors can (in theory) measure negative temperatures. Some implementations of temp_get() correctly clamp negative temperature readings to 0 so that users do not mistake them for errors, but some, like gp100_temp_get(), do not. Rather than relying on implementations remembering to clamp values, dedicate the function return value to error codes and accept a pointer to an integer where the temperature reading should be stored. Signed-off-by: Jeremy Cline <jcline at redhat.com> --- .../drm/nouveau/include...
2017 Aug 31
4
[RFC PATCH] drm/nouveau/therm: initial implementation of new gp1xx temperature sensor
...(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + * Authors: Rhys Kidd + */ +#include "priv.h" + +static int +gp100_temp_get(struct nvkm_therm *therm) +{ + struct nvkm_device *device = therm->subdev.device; + struct nvkm_subdev *subdev = &therm->subdev; + u32 tsensor = nvkm_rd32(device, 0x20460); + u32 status = (tsensor & 0x60000000) >> 29; + u32 t_f24_8 = (tsensor & 0x0001fff8); + + /* device SH...
2020 Sep 16
2
[PATCH v2 1/2] drm/nouveau: return temperatures in temp_get() via parameter
...tive error numbers or a > > temperature. However, the thermal sensors can (in theory) measure > > negative temperatures. Some implementations of temp_get() correctly > > clamp negative temperature readings to 0 so that users do not mistake > > them for errors, but some, like gp100_temp_get(), do not. > > > > Rather than relying on implementations remembering to clamp values, > > dedicate the function return value to error codes and accept a pointer > > to an integer where the temperature reading should be stored. > > > > Signed-off-by: Jeremy Cline...
2020 Sep 09
2
[PATCH] drm/nouveau: Add fine-grain temperature reporting
...gp100.c > > index 9f0dea3f61dc..4c3c2895a3cb 100644 > > --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c > > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c > > @@ -24,7 +24,7 @@ > > #include "priv.h" > > > > static int > > -gp100_temp_get(struct nvkm_therm *therm) > > +gp100_temp_get_raw(struct nvkm_therm *therm) > > { > > struct nvkm_device *device = therm->subdev.device; > > struct nvkm_subdev *subdev = &therm->subdev; > > @@ -37,14 +37,35 @@ gp100_temp_get(struct nvkm_therm...
2018 Jan 26
2
[PATCH] drm/nouveau/therm/gp100: Do not report temperature when subdev is shadowed
...pu/drm/nouveau/nvkm/subdev/therm/gp100.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c >> index 9f0dea3f61dc..45d0ec632b5a 100644 >> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c >> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c >> @@ -32,8 +32,10 @@ gp100_temp_get(struct nvkm_therm *therm) >> u32 inttemp = (tsensor & 0x0001fff8); >> >> /* device SHADOWed */ >> - if (tsensor & 0x40000000) >> + if (tsensor & 0x40000000) { >> nvkm_trace(subdev, "reading temperatu...
2020 Sep 16
0
[PATCH v2 1/2] drm/nouveau: return temperatures in temp_get() via parameter
...rrently returns negative error numbers or a > temperature. However, the thermal sensors can (in theory) measure > negative temperatures. Some implementations of temp_get() correctly > clamp negative temperature readings to 0 so that users do not mistake > them for errors, but some, like gp100_temp_get(), do not. > > Rather than relying on implementations remembering to clamp values, > dedicate the function return value to error codes and accept a pointer > to an integer where the temperature reading should be stored. > > Signed-off-by: Jeremy Cline <jcline at redhat.com>...
2020 Sep 17
0
[PATCH v2 1/2] drm/nouveau: return temperatures in temp_get() via parameter
...r a > > > temperature. However, the thermal sensors can (in theory) measure > > > negative temperatures. Some implementations of temp_get() correctly > > > clamp negative temperature readings to 0 so that users do not mistake > > > them for errors, but some, like gp100_temp_get(), do not. > > > > > > Rather than relying on implementations remembering to clamp values, > > > dedicate the function return value to error codes and accept a pointer > > > to an integer where the temperature reading should be stored. > > > > > &g...
2017 Nov 22
2
[PATCH 03/32] therm: Split return code and value in nvkm_get_temp
...drm/nouveau/nvkm/subdev/therm/gp100.c b/drm/nouveau/nvkm/subdev/therm/gp100.c > index 9f0dea3f..d8206748 100644 > --- a/drm/nouveau/nvkm/subdev/therm/gp100.c > +++ b/drm/nouveau/nvkm/subdev/therm/gp100.c > @@ -24,7 +24,7 @@ > #include "priv.h" > > static int > -gp100_temp_get(struct nvkm_therm *therm) > +gp100_temp_get(struct nvkm_therm *therm, int *val) > { > struct nvkm_device *device = therm->subdev.device; > struct nvkm_subdev *subdev = &therm->subdev; > @@ -36,9 +36,10 @@ gp100_temp_get(struct nvkm_therm *therm) > nvkm_trace(subd...
2017 Oct 08
1
[RFC PATCH 01/29] therm: split return code and value in nvkm_get_temp
...drm/nouveau/nvkm/subdev/therm/gp100.c b/drm/nouveau/nvkm/subdev/therm/gp100.c > index 9f0dea3f..d8206748 100644 > --- a/drm/nouveau/nvkm/subdev/therm/gp100.c > +++ b/drm/nouveau/nvkm/subdev/therm/gp100.c > @@ -24,7 +24,7 @@ > #include "priv.h" > > static int > -gp100_temp_get(struct nvkm_therm *therm) > +gp100_temp_get(struct nvkm_therm *therm, int *val) > { > struct nvkm_device *device = therm->subdev.device; > struct nvkm_subdev *subdev = &therm->subdev; > @@ -36,9 +36,10 @@ gp100_temp_get(struct nvkm_therm *therm) > nvkm_trace(subd...
2017 Sep 15
0
[RFC PATCH 01/29] therm: split return code and value in nvkm_get_temp
...ERM_THRS_HIGHER && diff --git a/drm/nouveau/nvkm/subdev/therm/gp100.c b/drm/nouveau/nvkm/subdev/therm/gp100.c index 9f0dea3f..d8206748 100644 --- a/drm/nouveau/nvkm/subdev/therm/gp100.c +++ b/drm/nouveau/nvkm/subdev/therm/gp100.c @@ -24,7 +24,7 @@ #include "priv.h" static int -gp100_temp_get(struct nvkm_therm *therm) +gp100_temp_get(struct nvkm_therm *therm, int *val) { struct nvkm_device *device = therm->subdev.device; struct nvkm_subdev *subdev = &therm->subdev; @@ -36,9 +36,10 @@ gp100_temp_get(struct nvkm_therm *therm) nvkm_trace(subdev, "reading temperature...
2017 Nov 22
1
[PATCH 03/32] therm: Split return code and value in nvkm_get_temp
...v/therm/gp100.c >>> index 9f0dea3f..d8206748 100644 >>> --- a/drm/nouveau/nvkm/subdev/therm/gp100.c >>> +++ b/drm/nouveau/nvkm/subdev/therm/gp100.c >>> @@ -24,7 +24,7 @@ >>> #include "priv.h" >>> >>> static int >>> -gp100_temp_get(struct nvkm_therm *therm) >>> +gp100_temp_get(struct nvkm_therm *therm, int *val) >>> { >>> struct nvkm_device *device = therm->subdev.device; >>> struct nvkm_subdev *subdev = &therm->subdev; >>> @@ -36,9 +36,10 @@ gp100_temp_get(s...
2017 Sep 01
0
[PATCH v2] drm/nouveau/therm: initial implementation of new gp1xx temperature sensor
...(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + * Authors: Rhys Kidd + */ +#include "priv.h" + +static int +gp100_temp_get(struct nvkm_therm *therm) +{ + struct nvkm_device *device = therm->subdev.device; + struct nvkm_subdev *subdev = &therm->subdev; + u32 tsensor = nvkm_rd32(device, 0x020460); + u32 inttemp = (tsensor & 0x0001fff8); + + /* device SHADOWed */ + if (tsensor & 0x40000000) + nvkm_info(...
2017 Nov 17
0
[PATCH 03/32] therm: Split return code and value in nvkm_get_temp
...ERM_THRS_HIGHER && diff --git a/drm/nouveau/nvkm/subdev/therm/gp100.c b/drm/nouveau/nvkm/subdev/therm/gp100.c index 9f0dea3f..d8206748 100644 --- a/drm/nouveau/nvkm/subdev/therm/gp100.c +++ b/drm/nouveau/nvkm/subdev/therm/gp100.c @@ -24,7 +24,7 @@ #include "priv.h" static int -gp100_temp_get(struct nvkm_therm *therm) +gp100_temp_get(struct nvkm_therm *therm, int *val) { struct nvkm_device *device = therm->subdev.device; struct nvkm_subdev *subdev = &therm->subdev; @@ -36,9 +36,10 @@ gp100_temp_get(struct nvkm_therm *therm) nvkm_trace(subdev, "reading temperature...
2017 Nov 22
0
[PATCH 03/32] therm: Split return code and value in nvkm_get_temp
...gp100.c b/drm/nouveau/nvkm/subdev/therm/gp100.c >> index 9f0dea3f..d8206748 100644 >> --- a/drm/nouveau/nvkm/subdev/therm/gp100.c >> +++ b/drm/nouveau/nvkm/subdev/therm/gp100.c >> @@ -24,7 +24,7 @@ >> #include "priv.h" >> >> static int >> -gp100_temp_get(struct nvkm_therm *therm) >> +gp100_temp_get(struct nvkm_therm *therm, int *val) >> { >> struct nvkm_device *device = therm->subdev.device; >> struct nvkm_subdev *subdev = &therm->subdev; >> @@ -36,9 +36,10 @@ gp100_temp_get(struct nvkm_therm *th...
2018 Jan 26
0
[PATCH] drm/nouveau/therm/gp100: Do not report temperature when subdev is shadowed
...-git a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c > index 9f0dea3f61dc..45d0ec632b5a 100644 > --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c > @@ -32,8 +32,10 @@ gp100_temp_get(struct nvkm_therm *therm) > u32 inttemp = (tsensor & 0x0001fff8); > > /* device SHADOWed */ > - if (tsensor & 0x40000000) > + if (tsensor & 0x40000000) { > nvkm_trace(subdev, "reading temperature from SHADOWed sensor\n&q...
2018 Jan 26
0
[PATCH] drm/nouveau/therm/gp100: Do not report temperature when subdev is shadowed
...erm/gp100.c >>> b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c >>> index 9f0dea3f61dc..45d0ec632b5a 100644 >>> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c >>> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/gp100.c >>> @@ -32,8 +32,10 @@ gp100_temp_get(struct nvkm_therm *therm) >>> u32 inttemp = (tsensor & 0x0001fff8); >>> >>> /* device SHADOWed */ >>> - if (tsensor & 0x40000000) >>> + if (tsensor & 0x40000000) { >>> nvkm_trace(subdev,...
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,