search for: drm_mode_set

Displaying 20 results from an estimated 34 matches for "drm_mode_set".

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 +++---------
2018 Dec 10
2
[PATCH 4/7] drm: Move the legacy kms disable_all helper to crtc helpers
...m_atomic_helper_shutdown(adev->ddev); } diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index f660819d406e..7dabbaf033a1 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -104,37 +104,6 @@ int drm_crtc_force_disable(struct drm_crtc *crtc) return drm_mode_set_config_internal(&set); } -/** - * drm_crtc_force_disable_all - Forcibly turn off all enabled CRTCs - * @dev: DRM device whose CRTCs to turn off - * - * Drivers may want to call this on unload to ensure that all displays are - * unlit and the GPU is in a consistent, low power state. Takes mod...
2018 Dec 11
1
[PATCH 4/7] drm: Move the legacy kms disable_all helper to crtc helpers
...t amd.com> > > > +{ > > + struct drm_crtc *crtc; > > + int ret = 0; > > + > > + drm_modeset_lock_all(dev); > > + drm_for_each_crtc(crtc, dev) > > + if (crtc->enabled) { > > + struct drm_mode_set set = { > > + .crtc = crtc, > > + }; > > + > > + ret = drm_mode_set_config_internal(&set); > > + if (ret) > > + goto out; > > +...
2019 Aug 07
0
[PATCH 1/2] drm/nouveau/dispnv04: Grab/put runtime PM refs on DPMS on/off
...*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 != -EACCES) return ret; @@ -1061,19 +1064,6 @@ nouveau_crtc_set_config(struct drm_mode_set *set, } pm_runtime_mark_last_busy(dev->dev); - /*...
2016 May 24
4
[PATCH 9/9] drm: Turn off crtc before tearing down its data structure
...y of the caller. > + * this is the responsibility of the caller. If @crtc is currently enabled, > + * it is turned off first. > */ > void drm_crtc_cleanup(struct drm_crtc *crtc) > { > struct drm_device *dev = crtc->dev; > > + if (crtc->enabled) { > + struct drm_mode_set modeset = { > + .crtc = crtc, > + }; > + > + drm_modeset_lock_all(dev); > + drm_mode_set_config_internal(&modeset); > + drm_modeset_unlock_all(dev); > + } > + > kfree(crtc->gamma_store); > crtc->gamma_store = NULL; > > -- > 2.8.1 > &...
2014 Feb 11
2
[PATCH] drm/nouveau: handle -EACCES runtime PM return code
On Mon, Feb 10, 2014 at 9:34 PM, Thierry Reding <thierry.reding at gmail.com> wrote: > On Mon, Feb 10, 2014 at 02:58:12PM +0900, Alexandre Courbot wrote: >> pm_runtime_get*() may return -EACCESS to indicate a device does not have > > s/-EACCESS/-EACCES/ Oops. >> runtime PM enabled. This is the case when the nouveau.runpm parameter is >> set to 0, and is not an
2018 Dec 10
0
[PATCH 4/7] drm: Move the legacy kms disable_all helper to crtc helpers
...} > diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c > index f660819d406e..7dabbaf033a1 100644 > --- a/drivers/gpu/drm/drm_crtc.c > +++ b/drivers/gpu/drm/drm_crtc.c > @@ -104,37 +104,6 @@ int drm_crtc_force_disable(struct drm_crtc *crtc) > return drm_mode_set_config_internal(&set); > } > > -/** > - * drm_crtc_force_disable_all - Forcibly turn off all enabled CRTCs > - * @dev: DRM device whose CRTCs to turn off > - * > - * Drivers may want to call this on unload to ensure that all displays are > - * unlit and the GPU is in a...
2018 Dec 17
0
[PATCH 4/7] drm: Move the legacy kms disable_all helper to crtc helpers
...p;afbdev->helper); if (afb->obj) { diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index f660819d406e..7dabbaf033a1 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -104,37 +104,6 @@ int drm_crtc_force_disable(struct drm_crtc *crtc) return drm_mode_set_config_internal(&set); } -/** - * drm_crtc_force_disable_all - Forcibly turn off all enabled CRTCs - * @dev: DRM device whose CRTCs to turn off - * - * Drivers may want to call this on unload to ensure that all displays are - * unlit and the GPU is in a consistent, low power state. Takes mod...
2009 Aug 17
5
[PATCH 1/6] drm/i2c/ch7006: Fix some sparse warnings.
--- drivers/gpu/drm/i2c/ch7006_drv.c | 2 +- drivers/gpu/drm/i2c/ch7006_mode.c | 2 +- drivers/gpu/drm/i2c/ch7006_priv.h | 5 ++--- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/i2c/ch7006_drv.c b/drivers/gpu/drm/i2c/ch7006_drv.c index c2594a1..7df4b86 100644 --- a/drivers/gpu/drm/i2c/ch7006_drv.c +++ b/drivers/gpu/drm/i2c/ch7006_drv.c @@ -351,7 +351,7
2019 Jan 17
2
[PATCH] drm: Split out drm_probe_helper.h
...> include/drm/drm_crtc_helper.h | 16 ----------- > > The list of include files in this file could be dropped and replaced by: > struct drm_connector; > struct drm_device; > struct drm_display_mode; > struct drm_encoder; > struct drm_framebuffer; > struct drm_mode_set; > struct drm_modeset_acquire_ctx; > > I tried to do so on top of your patch. > But there were too many build errros and I somehow lost the motivation. Yeah the drm_crtc_helper.h header is a bit the miniature drmP.h for legacy kms drivers. Just removing it from all the atomic drivers...
2009 Aug 17
5
[PATCHv2 1/6] drm/i2c/ch7006: Fix some sparse warnings.
Signed-off-by: Francisco Jerez <currojerez at riseup.net> --- drivers/gpu/drm/i2c/ch7006_drv.c | 2 +- drivers/gpu/drm/i2c/ch7006_mode.c | 2 +- drivers/gpu/drm/i2c/ch7006_priv.h | 5 ++--- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/i2c/ch7006_drv.c b/drivers/gpu/drm/i2c/ch7006_drv.c index c2594a1..7df4b86 100644 ---
2019 Aug 07
2
[PATCH 1/2] drm/nouveau/dispnv04: Grab/put runtime PM refs on DPMS on/off
...d I think would leak your runtime PM reference here. At least temporarily. No idea how to best fix that. Aside from "use atomic" :-) Cheers, Daniel > > 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 != -EACCES) > return ret; > @@ -1061,19 +1064,6 @@ nouveau_crtc_set_config(struct drm_mode_set *set, > } >...
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 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
2016 May 24
0
[PATCH 9/9] drm: Turn off crtc before tearing down its data structure
...ructure itself, - * this is the responsibility of the caller. + * this is the responsibility of the caller. If @crtc is currently enabled, + * it is turned off first. */ void drm_crtc_cleanup(struct drm_crtc *crtc) { struct drm_device *dev = crtc->dev; + if (crtc->enabled) { + struct drm_mode_set modeset = { + .crtc = crtc, + }; + + drm_modeset_lock_all(dev); + drm_mode_set_config_internal(&modeset); + drm_modeset_unlock_all(dev); + } + kfree(crtc->gamma_store); crtc->gamma_store = NULL; -- 2.8.1
2019 Jan 16
0
[PATCH] drm: Split out drm_probe_helper.h
...infrastructure, but it is not in use. > include/drm/drm_crtc_helper.h | 16 ----------- The list of include files in this file could be dropped and replaced by: struct drm_connector; struct drm_device; struct drm_display_mode; struct drm_encoder; struct drm_framebuffer; struct drm_mode_set; struct drm_modeset_acquire_ctx; I tried to do so on top of your patch. But there were too many build errros and I somehow lost the motivation. > include/drm/drm_probe_helper.h | 27 +++++++++++++++++++ This on the other hand is fine - as expected as this is a new file. But th...
2019 Jan 17
0
[PATCH] drm: Split out drm_probe_helper.h
...| 16 ----------- > > > > The list of include files in this file could be dropped and replaced by: > > struct drm_connector; > > struct drm_device; > > struct drm_display_mode; > > struct drm_encoder; > > struct drm_framebuffer; > > struct drm_mode_set; > > struct drm_modeset_acquire_ctx; > > > > I tried to do so on top of your patch. > > But there were too many build errros and I somehow lost the motivation. > > Yeah the drm_crtc_helper.h header is a bit the miniature drmP.h for legacy > kms drivers. Just remov...
2014 Feb 01
0
[RFC 01/16] drm/nouveau: handle -EACCES runtime PM return code
...nsertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/nouveau/dispnv04/crtc.c b/drivers/gpu/drm/nouveau/dispnv04/crtc.c index 0e3270c..1caef1f 100644 --- a/drivers/gpu/drm/nouveau/dispnv04/crtc.c +++ b/drivers/gpu/drm/nouveau/dispnv04/crtc.c @@ -1048,7 +1048,7 @@ nouveau_crtc_set_config(struct drm_mode_set *set) /* get a pm reference here */ ret = pm_runtime_get_sync(dev->dev); - if (ret < 0) + if (ret < 0 && ret != -EACCES) return ret; ret = drm_crtc_helper_set_config(set); diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connec...
2014 Feb 12
0
[PATCH v2] drm/nouveau: handle -EACCES runtime PM return code
...+), 4 deletions(-) diff --git a/drivers/gpu/drm/nouveau/dispnv04/crtc.c b/drivers/gpu/drm/nouveau/dispnv04/crtc.c index 0e3270c3ffd2..1caef1fd139e 100644 --- a/drivers/gpu/drm/nouveau/dispnv04/crtc.c +++ b/drivers/gpu/drm/nouveau/dispnv04/crtc.c @@ -1048,7 +1048,7 @@ nouveau_crtc_set_config(struct drm_mode_set *set) /* get a pm reference here */ ret = pm_runtime_get_sync(dev->dev); - if (ret < 0) + if (ret < 0 && ret != -EACCES) return ret; ret = drm_crtc_helper_set_config(set); diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connec...
2016 May 25
0
[PATCH 9/9] drm: Turn off crtc before tearing down its data structure
...sponsibility of the caller. If @crtc is currently enabled, > > + * it is turned off first. > > */ > > void drm_crtc_cleanup(struct drm_crtc *crtc) > > { > > struct drm_device *dev = crtc->dev; > > > > + if (crtc->enabled) { > > + struct drm_mode_set modeset = { > > + .crtc = crtc, > > + }; > > + > > + drm_modeset_lock_all(dev); > > + drm_mode_set_config_internal(&modeset); > > + drm_modeset_unlock_all(dev); > > + } > > + > > kfree(crtc->gamma_store); > > crtc->gamm...