search for: pm_runtime_put_noidle

Displaying 20 results from an estimated 24 matches for "pm_runtime_put_noidle".

2019 Aug 07
2
[PATCH 1/2] drm/nouveau/dispnv04: Grab/put runtime PM refs on DPMS on/off
...spnv04/crtc.c > +++ b/drivers/gpu/drm/nouveau/dispnv04/crtc.c > @@ -183,6 +183,10 @@ nv_crtc_dpms(struct drm_crtc *crtc, int mode) > return; > > nv_crtc->last_dpms = mode; > + if (mode == DRM_MODE_DPMS_ON) > + pm_runtime_get_noresume(dev->dev); > + else > + pm_runtime_put_noidle(dev->dev); it's after we filter out duplicate operations, so that part looks good. But not all of nouveau's legacy helper crtc callbacks go throuh ->dpms I think: nv_crtc_disable doesn't, and crtc helpers use that in preference over ->dpms in some cases. I think the only way...
2019 Aug 07
3
[PATCH 0/2] drm/nouveau: CRTC Runtime PM ref tracking fixes
Just some runtime PM fixes for some much less noticeable runtime PM ref tracking issues that I got reminded of when fixing some unrelated issues with nouveau. Lyude Paul (2): drm/nouveau/dispnv04: Grab/put runtime PM refs on DPMS on/off drm/nouveau/dispnv50: Fix runtime PM ref tracking for non-blocking modesets drivers/gpu/drm/nouveau/dispnv04/crtc.c | 18 +++---------
2020 Jul 29
9
[PATCH 0/9] drm/nouveau/kms: A bunch of runtime_pm fixes
While working on refactoring how we handle connector hotplugging/probing + a bunch of misc DP stuff, I found a bunch of runtime_pm errors that were mostly introduced by me at one point. Oops. A lot of these aren't triggered consistently on a lot of systems, so it's not terribly surprising these got swept under the rug. Lyude Paul (9): drm/nouveau/kms: Handle -EINPROGRESS in
2019 Aug 07
0
[PATCH 1/2] drm/nouveau/dispnv04: Grab/put runtime PM refs on DPMS on/off
...b9cd2 100644 --- a/drivers/gpu/drm/nouveau/dispnv04/crtc.c +++ b/drivers/gpu/drm/nouveau/dispnv04/crtc.c @@ -183,6 +183,10 @@ nv_crtc_dpms(struct drm_crtc *crtc, int mode) return; nv_crtc->last_dpms = mode; + if (mode == DRM_MODE_DPMS_ON) + pm_runtime_get_noresume(dev->dev); + else + pm_runtime_put_noidle(dev->dev); if (nv_two_heads(dev)) NVSetOwner(dev, nv_crtc->index); @@ -1045,7 +1049,6 @@ nouveau_crtc_set_config(struct drm_mode_set *set, dev = set->crtc->dev; - /* get a pm reference here */ ret = pm_runtime_get_sync(dev->dev); if (ret < 0 && ret != -EAC...
2019 Aug 07
0
[PATCH 1/2] drm/nouveau/dispnv04: Grab/put runtime PM refs on DPMS on/off
...6 +183,10 @@ nv_crtc_dpms(struct drm_crtc *crtc, int mode) > > return; > > > > nv_crtc->last_dpms = mode; > > + if (mode == DRM_MODE_DPMS_ON) > > + pm_runtime_get_noresume(dev->dev); > > + else > > + pm_runtime_put_noidle(dev->dev); > > it's after we filter out duplicate operations, so that part looks good. > But not all of nouveau's legacy helper crtc callbacks go throuh ->dpms I > think: nv_crtc_disable doesn't, and crtc helpers use that in preference > over ->dpms in some cases...
2018 Aug 16
0
[PATCH] drm/nouveau: Prevent handling ACPI HPD events too early
...; + } else if (ret == 0) { + /* This may be the only indication we receive + * of a connector hotplug on a runtime + * suspended GPU, schedule hpd_work to check. + */ + NV_DEBUG(drm, "ACPI requested connector reprobe\n"); + schedule_work(&drm->hpd_work); + pm_runtime_put_noidle(drm->dev->dev); + } else { + NV_WARN(drm, "Dropped ACPI reprobe event due to RPM error: %d\n", + ret); + } /* acpi-video should not generate keypresses for this */ return NOTIFY_BAD; -- 2.17.1
2018 Aug 13
6
[PATCH v7 0/5] Fix connector probing deadlocks from RPM bugs
Latest version of https://patchwork.freedesktop.org/series/46815/ , with one small change re: ilia Lyude Paul (5): drm/nouveau: Fix bogus drm_kms_helper_poll_enable() placement drm/nouveau: Remove duplicate poll_enable() in pmops_runtime_suspend() drm/nouveau: Fix deadlock with fb_helper with async RPM requests drm/nouveau: Use pm_runtime_get_noresume() in connector_detect()
2020 Nov 06
4
[PATCH 0/3] drm/nouveau: extend the lifetime of nouveau_drm
Hi folks, Currently, when the device is removed (or the driver is unbound) the nouveau_drm structure de-allocated. However, it's still accessible from and used by some DRM layer callbacks. For example, file handles can be closed after the device has been removed (physically or otherwise). This series converts the Nouveau device structure to be allocated and de-allocated with the
2019 Aug 07
3
[PATCH v2 0/2] drm/nouveau: CRTC Runtime PM ref tracking fixes
Just some runtime PM fixes for some much less noticeable runtime PM ref tracking issues that I got reminded of when fixing some unrelated issues with nouveau. Changes since v1: * Don't fix CRTC RPM code in dispnv04, because it's not actually doing anything in the first place. Just get rid of it. - imirkin Lyude Paul (2): drm/nouveau/dispnv04: Remove runtime PM drm/nouveau/dispnv50:
2018 Aug 15
5
[PATCH v8 0/5] Fix connector probing deadlocks from RPM bugs
Next version of https://patchwork.freedesktop.org/series/46815/ Same as previous version, but some small changes made to commit messages and acks/rbs have been added Lyude Paul (5): drm/nouveau: Fix bogus drm_kms_helper_poll_enable() placement drm/nouveau: Remove duplicate poll_enable() in pmops_runtime_suspend() drm/nouveau: Fix deadlock with fb_helper with async RPM requests
2018 Aug 13
6
[PATCH v6 0/5] Fix connector probing deadlocks from RPM bugs
Latest version of https://patchwork.freedesktop.org/series/46815/ with some significant improvements: - I finally figured out a clean way to do this entirely with runtime PM helpers, no avoiding grabbing refs required! - Since this new method removes the need for a lot of the other changes I made (although we probably still want those changes, but not for fixing these deadlocks)
2018 Aug 13
0
[PATCH v7 3/5] drm/nouveau: Fix deadlock with fb_helper with async RPM requests
...+ * deadlock the runtime pmops since they wait for us to + * finish. So, just defer this event for when we runtime + * resume again. It will be handled by fbcon_work. + */ + NV_DEBUG(drm, "fbcon HPD event deferred until runtime resume\n"); + fbcon->hotplug_waiting = true; + pm_runtime_put_noidle(drm->dev->dev); + } else { + DRM_WARN("fbcon HPD event lost due to RPM failure: %d\n", + ret); + } + + mutex_unlock(&fbcon->hotplug_lock); +} + +void +nouveau_fbcon_hotplug_resume(struct nouveau_fbdev *fbcon) +{ + struct nouveau_drm *drm; + + if (!fbcon) + return; + drm...
2018 Aug 13
0
[PATCH v6 3/5] drm/nouveau: Fix deadlock with fb_helper with async RPM requests
...+ * deadlock the runtime pmops since they wait for us to + * finish. So, just defer this event for when we runtime + * resume again. It will be handled by fbcon_work. + */ + NV_DEBUG(drm, "fbcon HPD event deferred until runtime resume\n"); + fbcon->hotplug_waiting = true; + pm_runtime_put_noidle(drm->dev->dev); + } else { + DRM_WARN("fbcon HPD event lost due to RPM failure: %d\n", + ret); + } + + mutex_unlock(&fbcon->hotplug_lock); +} + +void +nouveau_fbcon_hotplug_resume(struct nouveau_fbdev *fbcon) +{ + struct nouveau_drm *drm; + + if (!fbcon) + return; + drm...
2023 Jan 09
1
[PATCH] drm/nouveau: Remove file nouveau_fbcon.c
...- * deadlock the runtime pmops since they wait for us to - * finish. So, just defer this event for when we runtime - * resume again. It will be handled by fbcon_work. - */ - NV_DEBUG(drm, "fbcon HPD event deferred until runtime resume\n"); - fbcon->hotplug_waiting = true; - pm_runtime_put_noidle(drm->dev->dev); - } else { - DRM_WARN("fbcon HPD event lost due to RPM failure: %d\n", - ret); - } - - mutex_unlock(&fbcon->hotplug_lock); -} - -void -nouveau_fbcon_hotplug_resume(struct nouveau_fbdev *fbcon) -{ - struct nouveau_drm *drm; - - if (!fbcon) - return; - drm...
2023 Jan 09
1
[PATCH] drm/nouveau: Remove file nouveau_fbcon.c
...his event for when we runtime > - * resume again. It will be handled by fbcon_work. > - */ > - NV_DEBUG(drm, "fbcon HPD event deferred until runtime resume\n"); > - fbcon->hotplug_waiting = true; > - pm_runtime_put_noidle(drm->dev->dev); > - } else { > - DRM_WARN("fbcon HPD event lost due to RPM failure: %d\n", > - ret); > - } > - > - mutex_unlock(&fbcon->hotplug_lock); > -} > - > -void > -nouveau_fbcon_hotplu...
2023 Jan 09
1
[PATCH] drm/nouveau: Remove file nouveau_fbcon.c
...e runtime >> - * resume again. It will be handled by fbcon_work. >> - */ >> - NV_DEBUG(drm, "fbcon HPD event deferred until runtime resume\n"); >> - fbcon->hotplug_waiting = true; >> - pm_runtime_put_noidle(drm->dev->dev); >> - } else { >> - DRM_WARN("fbcon HPD event lost due to RPM failure: %d\n", >> - ret); >> - } >> - >> - mutex_unlock(&fbcon->hotplug_lock); >> -} >> - >&...
2023 Jan 10
1
[PATCH v2] drm/nouveau: Remove file nouveau_fbcon.c
...- * deadlock the runtime pmops since they wait for us to - * finish. So, just defer this event for when we runtime - * resume again. It will be handled by fbcon_work. - */ - NV_DEBUG(drm, "fbcon HPD event deferred until runtime resume\n"); - fbcon->hotplug_waiting = true; - pm_runtime_put_noidle(drm->dev->dev); - } else { - DRM_WARN("fbcon HPD event lost due to RPM failure: %d\n", - ret); - } - - mutex_unlock(&fbcon->hotplug_lock); -} - -void -nouveau_fbcon_hotplug_resume(struct nouveau_fbdev *fbcon) -{ - struct nouveau_drm *drm; - - if (!fbcon) - return; - drm...
2018 Aug 14
1
[PATCH v7 3/5] drm/nouveau: Fix deadlock with fb_helper with async RPM requests
...ht pm_runtime_get() never fails, and you need one of the other variants if you want special behaviour here? Like pm_runtime_get_noresume(). Otherwise lgtm. -Daniel > + NV_DEBUG(drm, "fbcon HPD event deferred until runtime resume\n"); > + fbcon->hotplug_waiting = true; > + pm_runtime_put_noidle(drm->dev->dev); > + } else { > + DRM_WARN("fbcon HPD event lost due to RPM failure: %d\n", > + ret); > + } > + > + mutex_unlock(&fbcon->hotplug_lock); > +} > + > +void > +nouveau_fbcon_hotplug_resume(struct nouveau_fbdev *fbcon) > +{ >...
2020 Aug 25
22
[RFC v4 00/20] drm/dp, i915, nouveau: Cleanup nouveau HPD and add DP features from i915
Most of the reason I'm asking for an RFC here is because this code pulls a lot of code out of i915 and into shared DP helpers. Anyway-nouveau's HPD related code has been collecting dust for a while. Other then the occasional runtime PM related and MST related fixes, we're missing a lot of nice things that have been added to DRM since this was originally written. Additionally, the code
2020 Aug 20
22
[RFC v2 00/20] drm/dp, i915, nouveau: Cleanup nouveau HPD and add DP features from i915
To start off: this patch series is less work to review then it looks - most (but not all) of the nouveau related work has already been reviewed elsewhere. Most of the reason I'm asking for an RFC here is because this code pulls a lot of code out of i915 and into shared DP helpers. Anyway-nouveau's HPD related code has been collecting dust for a while. Other then the occasional runtime PM