Displaying 20 results from an estimated 38 matches for "nouveau_hwmon_fini".
2015 Nov 07
1
[PATCH] drm: fix issue by messing up runpm usage_counter
...,7 +481,8 @@ nouveau_drm_unload(struct drm_device *dev)
{
struct nouveau_drm *drm = nouveau_drm(dev);
- pm_runtime_get_sync(dev->dev);
+ if (atomic_read(&dev->dev->power.usage_count) == 0)
+ pm_runtime_get_sync(dev->dev);
nouveau_fbcon_fini(dev);
nouveau_accel_fini(drm);
nouveau_hwmon_fini(dev);
--
2.6.3
2016 Oct 25
1
[PATCH 3/3] hwmon: expose power_max and power_crit
...if (iccsense->power_w_max && iccsense->power_w_crit) {
> + ret = sysfs_create_group(&hwmon_dev->kobj,
> + &hwmon_power_caps_attrgroup);
> + if (ret)
> + goto error;
> + }
> }
>
> hwmon->hwmon = hwmon_dev;
> @@ -759,6 +802,7 @@ nouveau_hwmon_fini(struct drm_device *dev)
> sysfs_remove_group(&hwmon->hwmon->kobj, &hwmon_fan_rpm_attrgroup);
> sysfs_remove_group(&hwmon->hwmon->kobj, &hwmon_in0_attrgroup);
> sysfs_remove_group(&hwmon->hwmon->kobj, &hwmon_power_attrgroup);
> + sysfs_...
2016 May 27
2
[PATCH 1/9] drm/nouveau: Don't leak runtime pm ref on driver unload
...d(struct drm_device *dev)
> {
> struct nouveau_drm *drm = nouveau_drm(dev);
>
> - pm_runtime_get_sync(dev->dev);
> + if (nouveau_runtime_pm != 0) {
> + pm_runtime_get_sync(dev->dev);
> + }
> +
> nouveau_fbcon_fini(dev);
> nouveau_accel_fini(drm);
> nouveau_hwmon_fini(dev);
> --
> 2.8.1
>
> _______________________________________________
> Nouveau mailing list
> Nouveau at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/nouveau
--
Kind regards,
Peter Wu
https://lekensteyn.nl
2016 May 24
5
[PATCH 0/9] Fix runtime pm ref leaks
In preparation for runtime pm on muxed dual GPU laptops,
I've fixed all runtime pm ref leaks I could find in nouveau,
radeon and amdgpu.
To ease reviewing, I've pushed this series to GitHub:
https://github.com/l1k/linux/commits/drm_runpm_fixes_v1
@Alex Deucher: I do not have an AMD GPU so couldn't test this
beyond verifying that it compiles. Please double-check the patches
and test
2016 May 24
0
[PATCH 1/9] drm/nouveau: Don't leak runtime pm ref on driver unload
...au/nouveau_drm.c
@@ -498,7 +498,10 @@ nouveau_drm_unload(struct drm_device *dev)
{
struct nouveau_drm *drm = nouveau_drm(dev);
- pm_runtime_get_sync(dev->dev);
+ if (nouveau_runtime_pm != 0) {
+ pm_runtime_get_sync(dev->dev);
+ }
+
nouveau_fbcon_fini(dev);
nouveau_accel_fini(drm);
nouveau_hwmon_fini(dev);
--
2.8.1
2016 Oct 24
0
[PATCH 3/3] hwmon: expose power_max and power_crit
...group);
+
if (ret)
goto error;
+
+ if (iccsense->power_w_max && iccsense->power_w_crit) {
+ ret = sysfs_create_group(&hwmon_dev->kobj,
+ &hwmon_power_caps_attrgroup);
+ if (ret)
+ goto error;
+ }
}
hwmon->hwmon = hwmon_dev;
@@ -759,6 +802,7 @@ nouveau_hwmon_fini(struct drm_device *dev)
sysfs_remove_group(&hwmon->hwmon->kobj, &hwmon_fan_rpm_attrgroup);
sysfs_remove_group(&hwmon->hwmon->kobj, &hwmon_in0_attrgroup);
sysfs_remove_group(&hwmon->hwmon->kobj, &hwmon_power_attrgroup);
+ sysfs_remove_group(&hw...
2018 Apr 22
0
[PATCH] drm/nouveau: fix temp/pwm visibility, skip hwmon when no sensors exist
...device *hwmon_dev;
int ret = 0;
int i = 0;
+ if (!iccsense && !therm && !volt) {
+ NV_DEBUG(drm, "Skipping hwmon registration\n");
+ return 0;
+ }
+
hwmon = drm->hwmon = kzalloc(sizeof(*hwmon), GFP_KERNEL);
if (!hwmon)
return -ENOMEM;
@@ -749,6 +756,9 @@ nouveau_hwmon_fini(struct drm_device *dev)
#if defined(CONFIG_HWMON) || (defined(MODULE) && defined(CONFIG_HWMON_MODULE))
struct nouveau_hwmon *hwmon = nouveau_hwmon(dev);
+ if (!hwmon)
+ return;
+
if (hwmon->hwmon)
hwmon_device_unregister(hwmon->hwmon);
--
2.16.1
2016 Feb 20
0
[PATCH v4 4/6] hwmon: add power consumption
...u_hwmon_init(struct drm_device *dev)
goto error;
}
+ if (iccsense && iccsense->rail_count) {
+ ret = sysfs_create_group(&hwmon_dev->kobj,
+ &hwmon_power_attrgroup);
+ if (ret)
+ goto error;
+ }
+
hwmon->hwmon = hwmon_dev;
return 0;
@@ -688,6 +726,7 @@ nouveau_hwmon_fini(struct drm_device *dev)
sysfs_remove_group(&hwmon->hwmon->kobj, &hwmon_pwm_fan_attrgroup);
sysfs_remove_group(&hwmon->hwmon->kobj, &hwmon_fan_rpm_attrgroup);
sysfs_remove_group(&hwmon->hwmon->kobj, &hwmon_in0_attrgroup);
+ sysfs_remove_group(&...
2016 Aug 22
10
[PATCH v2] drm/nouveau: add a LED driver for the NVIDIA logo
...(nouveau_runtime_pm != 0) {
pm_runtime_use_autosuspend(dev->dev);
@@ -499,6 +501,7 @@ nouveau_drm_unload(struct drm_device *dev)
struct nouveau_drm *drm = nouveau_drm(dev);
pm_runtime_get_sync(dev->dev);
+ nouveau_led_fini(dev);
nouveau_fbcon_fini(dev);
nouveau_accel_fini(drm);
nouveau_hwmon_fini(dev);
@@ -550,6 +553,8 @@ nouveau_do_suspend(struct drm_device *dev, bool runtime)
struct nouveau_cli *cli;
int ret;
+ nouveau_led_suspend(dev);
+
if (dev->mode_config.num_crtc) {
NV_INFO(drm, "suspending console...\n");
nouveau_fbcon_set_suspend(dev, 1);
@@ -638,6 +643,8...
2016 May 29
0
[PATCH 1/9] drm/nouveau: Don't leak runtime pm ref on driver unload
...ct nouveau_drm *drm = nouveau_drm(dev);
> >
> > - pm_runtime_get_sync(dev->dev);
> > + if (nouveau_runtime_pm != 0) {
> > + pm_runtime_get_sync(dev->dev);
> > + }
> > +
> > nouveau_fbcon_fini(dev);
> > nouveau_accel_fini(drm);
> > nouveau_hwmon_fini(dev);
> > --
> > 2.8.1
> >
> > _______________________________________________
> > Nouveau mailing list
> > Nouveau at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/nouveau
>
> --
> Kind regards,
> Peter Wu
> ht...
2016 Aug 23
1
[PATCH v2] drm/nouveau: add a LED driver for the NVIDIA logo
...m_unload(struct drm_device *dev)
>> struct nouveau_drm *drm = nouveau_drm(dev);
>>
>> pm_runtime_get_sync(dev->dev);
>> + nouveau_led_fini(dev);
>> nouveau_fbcon_fini(dev);
>> nouveau_accel_fini(drm);
>> nouveau_hwmon_fini(dev);
>> @@ -550,6 +553,8 @@ nouveau_do_suspend(struct drm_device *dev, bool runtime)
>> struct nouveau_cli *cli;
>> int ret;
>>
>> + nouveau_led_suspend(dev);
>> +
>> if (dev->mode_config.num_crtc) {
>>...
2015 Nov 09
5
[PATCH v2 0/5] move pstate interface to debugfs
I made a little changes in this series:
1. merge the two last patches together
2. unify the private data interface with the drm debugfs one
now it should be very obvious for a new dev on how to add new files to debugfs
and how to get access to the nouveau structs
Karol Herbst (5):
debugfs: add infrastructure to add files with other fops than only
read
debugfs: rename functions to
2016 Oct 24
7
RFC [PATCH 0/3] Expose power budget cap via hwmon
There is an optinal header field in the power budget table we can use to
read out the power cap of the GPU.
Sadly it is optional and if that field isn't sad, things beome
complicated.
Anyhow, this is good enough for most cards and we can use it later for
capping the power consumption of the GPUs, but first, just export those
values through hwmon.
First design, will change stuff, want
2016 Aug 22
0
[PATCH v2] drm/nouveau: add a LED driver for the NVIDIA logo
...init(dev);
+ nouveau_led_init(dev);
if (nouveau_runtime_pm != 0) {
pm_runtime_use_autosuspend(dev->dev);
@@ -510,6 +512,7 @@ nouveau_drm_unload(struct drm_device *dev)
pm_runtime_forbid(dev->dev);
}
+ nouveau_led_fini(dev);
nouveau_fbcon_fini(dev);
nouveau_accel_fini(drm);
nouveau_hwmon_fini(dev);
@@ -561,6 +564,8 @@ nouveau_do_suspend(struct drm_device *dev, bool runtime)
struct nouveau_cli *cli;
int ret;
+ nouveau_led_suspend(dev);
+
if (dev->mode_config.num_crtc) {
NV_INFO(drm, "suspending console...\n");
nouveau_fbcon_set_suspend(dev, 1);
@@ -649,6 +654,8...
2016 May 03
0
[PATCH] drm/nouveau: add a LED driver for the NVIDIA logo
...t; @@ -499,6 +501,7 @@ nouveau_drm_unload(struct drm_device *dev)
> struct nouveau_drm *drm = nouveau_drm(dev);
>
> pm_runtime_get_sync(dev->dev);
> + nouveau_led_fini(dev);
> nouveau_fbcon_fini(dev);
> nouveau_accel_fini(drm);
> nouveau_hwmon_fini(dev);
> @@ -550,6 +553,8 @@ nouveau_do_suspend(struct drm_device *dev, bool runtime)
> struct nouveau_cli *cli;
> int ret;
>
> + nouveau_led_suspend(dev);
> +
> if (dev->mode_config.num_crtc) {
> NV_INFO(drm, "suspending...
2016 Aug 23
0
[PATCH v2] drm/nouveau: add a LED driver for the NVIDIA logo
...t; @@ -499,6 +501,7 @@ nouveau_drm_unload(struct drm_device *dev)
> struct nouveau_drm *drm = nouveau_drm(dev);
>
> pm_runtime_get_sync(dev->dev);
> + nouveau_led_fini(dev);
> nouveau_fbcon_fini(dev);
> nouveau_accel_fini(drm);
> nouveau_hwmon_fini(dev);
> @@ -550,6 +553,8 @@ nouveau_do_suspend(struct drm_device *dev, bool runtime)
> struct nouveau_cli *cli;
> int ret;
>
> + nouveau_led_suspend(dev);
> +
> if (dev->mode_config.num_crtc) {
> NV_INFO(drm, "suspending...
2016 May 07
0
[PATCH] drm/nouveau: add a LED driver for the NVIDIA logo
...t; @@ -499,6 +501,7 @@ nouveau_drm_unload(struct drm_device *dev)
> struct nouveau_drm *drm = nouveau_drm(dev);
>
> pm_runtime_get_sync(dev->dev);
> + nouveau_led_fini(dev);
> nouveau_fbcon_fini(dev);
> nouveau_accel_fini(drm);
> nouveau_hwmon_fini(dev);
> @@ -550,6 +553,8 @@ nouveau_do_suspend(struct drm_device *dev, bool runtime)
> struct nouveau_cli *cli;
> int ret;
>
> + nouveau_led_suspend(dev);
> +
> if (dev->mode_config.num_crtc) {
> NV_INFO(drm, "suspending...
2017 Jan 23
3
[PATCH v4 0/3] Expose power budget cap via hwmon
There is an optinal header field in the power budget table we can use to
read out the power cap of the GPU.
The meaning of this header field was confirmed with nvidia-smi -q:
The rows "Min Power Limit", "Power Limit" and "Max Power Limit" are set
to the "min", "avg" and "max" values from the referenced power budget
entry respectively.
2016 May 30
2
[PATCH 1/9] drm/nouveau: Don't leak runtime pm ref on driver unload
...> >
> > > - pm_runtime_get_sync(dev->dev);
> > > + if (nouveau_runtime_pm != 0) {
> > > + pm_runtime_get_sync(dev->dev);
> > > + }
> > > +
> > > nouveau_fbcon_fini(dev);
> > > nouveau_accel_fini(drm);
> > > nouveau_hwmon_fini(dev);
> > > --
> > > 2.8.1
> > >
> > > _______________________________________________
> > > Nouveau mailing list
> > > Nouveau at lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/nouveau
2016 Nov 12
4
[PATCH 0/3] Expose power budget cap via hwmon
There is an optinal header field in the power budget table we can use to
read out the power cap of the GPU.
We should have this in the kernel before actually using it to catch errors
and see how reliable this is, but as it seems it works on all GPUs as
expected on Kepler und Maxwells with the power cap field set in the vbios.
This series keeps things really simple for now until we figure out