Displaying 19 results from an estimated 19 matches for "nouveau_accel_fini".
2015 Nov 07
1
[PATCH] drm: fix issue by messing up runpm usage_counter
...uveau/nouveau_drm.c
@@ -481,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 May 27
2
[PATCH 1/9] drm/nouveau: Don't leak runtime pm ref on driver unload
...8,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
>
> _______________________________________________
> 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
...+++ b/drivers/gpu/drm/nouveau/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 Aug 22
10
[PATCH v2] drm/nouveau: add a LED driver for the NVIDIA logo
...veau_led_init(dev);
if (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_suspen...
2016 May 29
0
[PATCH 1/9] drm/nouveau: Don't leak runtime pm ref on driver unload
...e *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
>
> --
>...
2016 Aug 23
1
[PATCH v2] drm/nouveau: add a LED driver for the NVIDIA logo
...v);
>> @@ -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->m...
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 Aug 22
0
[PATCH v2] drm/nouveau: add a LED driver for the NVIDIA logo
...init(drm);
nouveau_fbcon_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_suspen...
2016 May 03
0
[PATCH] drm/nouveau: add a LED driver for the NVIDIA logo
...ntime_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) {
>...
2016 Aug 23
0
[PATCH v2] drm/nouveau: add a LED driver for the NVIDIA logo
...ntime_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) {
>...
2016 May 07
0
[PATCH] drm/nouveau: add a LED driver for the NVIDIA logo
...ntime_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) {
>...
2013 Aug 27
0
[PATCH 5/9] drm/nouveau: Add install/remove semantics for event handlers
...m->vblank[i]);
+ }
+
nouveau_vga_init(drm);
nouveau_agp_init(drm);
@@ -404,6 +411,8 @@ static int
nouveau_drm_unload(struct drm_device *dev)
{
struct nouveau_drm *drm = nouveau_drm(dev);
+ struct nouveau_disp *disp = nouveau_disp(drm->device);
+ int i;
nouveau_fbcon_fini(dev);
nouveau_accel_fini(drm);
@@ -420,6 +429,10 @@ nouveau_drm_unload(struct drm_device *dev)
nouveau_agp_fini(drm);
nouveau_vga_fini(drm);
+ for (i = 0; i < ARRAY_SIZE(drm->vblank); i++)
+ nouveau_event_handler_remove(disp->vblank, i,
+ &drm->vblank[i]);
+
nouveau_cli_destroy(&drm-&g...
2016 May 30
2
[PATCH 1/9] drm/nouveau: Don't leak runtime pm ref on driver unload
...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/mai...
2014 Feb 15
3
[RFC PATCH] drm/nouveau: split off nvc0 compilation
...nv50_fence_create(drm);
else if (device->card_type < NV_C0) ret = nv84_fence_create(drm);
+#ifdef CONFIG_DRM_NOUVEAU_NVC0
else ret = nvc0_fence_create(drm);
+#endif
if (ret) {
NV_ERROR(drm, "failed to initialise sync subsystem, %d\n", ret);
nouveau_accel_fini(drm);
diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.h b/drivers/gpu/drm/nouveau/nouveau_fbcon.h
index fdfc0c9..b4ff8d5 100644
--- a/drivers/gpu/drm/nouveau/nouveau_fbcon.h
+++ b/drivers/gpu/drm/nouveau/nouveau_fbcon.h
@@ -51,10 +51,26 @@ int nv50_fbcon_copyarea(struct fb_info *info, const stru...
2016 Jun 08
8
[PATCH v2 00/15] Runtime pm ref leak bonanza
Second iteration of my endeavour to rid nouveau, radeon and amdgpu of
runtime pm ref leaks.
Patches 1 to 8 are identical to v1.
Patch 9 of v1 modified the DRM core to turn off all CRTCs on driver
unload. Based on feedback by Daniel Vetter, I've replaced this with
a helper to turn off all CRTCs, which is called by nouveau, radeon
and amdgpu on unload. In other words, this is now opt-in.
So
2014 Feb 15
0
[RFC PATCH] drm/nouveau: split off nvc0 compilation
...ret = nv84_fence_create(drm);
> +#ifdef CONFIG_DRM_NOUVEAU_NVC0
> else ret = nvc0_fence_create(drm);
> +#endif
> if (ret) {
> NV_ERROR(drm, "failed to initialise sync subsystem, %d\n", ret);
> nouveau_accel_fini(drm);
> diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.h b/drivers/gpu/drm/nouveau/nouveau_fbcon.h
> index fdfc0c9..b4ff8d5 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_fbcon.h
> +++ b/drivers/gpu/drm/nouveau/nouveau_fbcon.h
> @@ -51,10 +51,26 @@ int nv50_fbcon_copyarea(struct...
2014 Mar 23
0
[PATCH] drm/nouveau: allow nv04/nv50/nvc0+ parts of the driver to be separated
...= nv84_fence_create(drm);
- else ret = nvc0_fence_create(drm);
+ else
+#endif
+#ifdef CONFIG_DRM_NOUVEAU_NVC0
+ ret = nvc0_fence_create(drm);
+#else
+ ret = -ENODEV;
+#endif
if (ret) {
NV_ERROR(drm, "failed to initialise sync subsystem, %d\n", ret);
nouveau_accel_fini(drm);
diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.h b/drivers/gpu/drm/nouveau/nouveau_fbcon.h
index fdfc0c9..5365332 100644
--- a/drivers/gpu/drm/nouveau/nouveau_fbcon.h
+++ b/drivers/gpu/drm/nouveau/nouveau_fbcon.h
@@ -41,20 +41,58 @@ struct nouveau_fbdev {
void nouveau_fbcon_restore(voi...
2013 Aug 27
11
[PATCH 0/9] drm/nouveau: Cleanup event/handler design
This series was originally motivated by a deadlock, introduced in
commit 1d7c71a3e2f77336df536855b0efd2dc5bdeb41b
'drm/nouveau/disp: port vblank handling to event interface',
due to inverted lock order between nouveau_drm_vblank_enable()
and nouveau_drm_vblank_handler() (the complete
lockdep report is included in the patch 4/5 changelog).
Because this series fixes the vblank event