Displaying 20 results from an estimated 53 matches for "nouveau_display_resume".
2013 Sep 08
3
3.12rc1-pre Nouveau? oops
...+ nvidia), and the backtrace has
> runtime pm in it, which is something new Dave added for 3.12, adding
> him in explicitly. The simplest explanation is that disp->init is
> NULL. And it seems like there are no outputs from the earlier nouveau
> init prints. I guess that the call to nouveau_display_resume from
> nouveau_pmops_runtime_resume should be guarded by a if
> (dev->mode_config.num_crtc) like it is everywhere else.
>
> -ilia
Your guess was right, this (hopefully attached patch) fixes it for me!
Thanks,
Tobias
2013 Sep 08
3
3.12rc1-pre Nouveau? oops
...s
>>> runtime pm in it, which is something new Dave added for 3.12, adding
>>> him in explicitly. The simplest explanation is that disp->init is
>>> NULL. And it seems like there are no outputs from the earlier nouveau
>>> init prints. I guess that the call to nouveau_display_resume from
>>> nouveau_pmops_runtime_resume should be guarded by a if
>>> (dev->mode_config.num_crtc) like it is everywhere else.
>>>
>>> -ilia
>> Your guess was right, this (hopefully attached patch) fixes it for me!
> Does it look like this one?
>
&...
2018 Jul 31
0
[PATCH 2/2] drm/nouveau: Prevent redundant connector probes from ACPI
...ay_fini(dev, true);
+ nouveau_display_fini(dev, true, runtime);
return 0;
}
- nouveau_display_fini(dev, true);
+ nouveau_display_fini(dev, true, runtime);
list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
struct nouveau_framebuffer *nouveau_fb;
@@ -656,7 +670,7 @@ nouveau_display_resume(struct drm_device *dev, bool runtime)
int ret;
if (drm_drv_uses_atomic_modeset(dev)) {
- nouveau_display_init(dev);
+ nouveau_display_init(dev, runtime);
if (disp->suspend) {
drm_atomic_helper_resume(dev, disp->suspend);
disp->suspend = NULL;
@@ -689,7 +703,7 @@ nouveau_...
2013 Sep 08
0
3.12rc1-pre Nouveau? oops
...have Optimus (intel + nvidia), and the backtrace has
runtime pm in it, which is something new Dave added for 3.12, adding
him in explicitly. The simplest explanation is that disp->init is
NULL. And it seems like there are no outputs from the earlier nouveau
init prints. I guess that the call to nouveau_display_resume from
nouveau_pmops_runtime_resume should be guarded by a if
(dev->mode_config.num_crtc) like it is everywhere else.
-ilia
>
> BUG: unable to handle kernel NULL pointer dereference at (null)
> IP: [< (null)>] (null)
> PGD 24eaa0067 PUD 24e7ac067 PMD 0
>...
2015 Jan 05
2
drm/nouveau: dont switch vt on suspend
Signed-off-by: Maarten Lankhorst <maarten.lankhorst at ubuntu.com>
---
diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.c b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
index 3ed12a8cfc91..a4a586807903 100644
--- a/drivers/gpu/drm/nouveau/nouveau_fbcon.c
+++ b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
@@ -370,6 +370,7 @@ nouveau_fbcon_create(struct drm_fb_helper *helper,
ret = -ENOMEM;
goto
2018 Jul 31
2
[PATCH 1/2] drm/nouveau: Print debug message on ACPI probe event
Signed-off-by: Lyude Paul <lyude at redhat.com>
---
drivers/gpu/drm/nouveau/nouveau_display.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c
index ec7861457b84..b2a93e3fa67b 100644
--- a/drivers/gpu/drm/nouveau/nouveau_display.c
+++ b/drivers/gpu/drm/nouveau/nouveau_display.c
@@ -387,6 +387,7 @@
2013 Oct 03
2
[PATCH] drm/nouveau/fb: fix suspend/resume fbcon
...veau_drm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
@@ -544,7 +544,7 @@ nouveau_do_resume(struct drm_device *dev)
nouveau_pm_resume(dev);
if (dev->mode_config.num_crtc) {
- NV_INFO(drm, "resuming display...\n");
+ NV_INFO(drm, "resuming display and fbcon...\n");
nouveau_display_resume(dev);
}
return 0;
diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.c b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
index b035317..46e37c0 100644
--- a/drivers/gpu/drm/nouveau/nouveau_fbcon.c
+++ b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
@@ -514,10 +514,10 @@ void nouveau_fbcon_set_suspend(struct...
2016 Jul 12
6
[PATCH] drm/nouveau/fbcon: fix deadlock with FBIOPUT_CON2FBMAP
..._fbcon_set_suspend(dev, FBINFO_STATE_SUSPENDED, true);
NV_INFO(drm, "suspending display...\n");
ret = nouveau_display_suspend(dev, runtime);
if (ret)
@@ -635,7 +635,7 @@ nouveau_do_resume(struct drm_device *dev, bool runtime)
NV_INFO(drm, "resuming display...\n");
nouveau_display_resume(dev, runtime);
NV_INFO(drm, "resuming console...\n");
- nouveau_fbcon_set_suspend(dev, 0);
+ nouveau_fbcon_set_suspend(dev, FBINFO_STATE_RUNNING, false);
}
return 0;
diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.h b/drivers/gpu/drm/nouveau/nouveau_drv.h
index 822a021..a743d1...
2016 Nov 16
0
[PATCH] drm/nouveau: Don't enabling polling twice on runtime resume
As it turns out, on cards that actually have CRTCs on them we're already
calling drm_kms_helper_poll_enable(drm_dev) from
nouveau_display_resume() before we call it in
nouveau_pmops_runtime_resume(). This leads us to accidentally trying to
enable polling twice, which results in a potential deadlock between the
RPM locks and drm_dev->mode_config.mutex if we end up trying to enable
polling the second time while output_poll_execute is runni...
2018 Aug 07
0
[PATCH v5 07/13] drm/nouveau: Add missing unroll functions in nouveau_do_suspend()
...spend(dev, runtime);
if (ret)
- return ret;
+ goto fail_fbcon;
}
NV_DEBUG(drm, "evicting buffers...\n");
@@ -719,7 +720,14 @@ nouveau_do_suspend(struct drm_device *dev, bool runtime)
if (dev->mode_config.num_crtc) {
NV_DEBUG(drm, "resuming display...\n");
nouveau_display_resume(dev, runtime);
+
+fail_fbcon:
+ NV_DEBUG(drm, "resuming console...\n");
+ nouveau_fbcon_set_suspend(dev, 0);
}
+
+ nouveau_led_resume(dev);
+
return ret;
}
--
2.17.1
2018 Aug 15
0
[PATCH v3 1/3] drm/nouveau: Remove useless poll_enable() call in switcheroo_set_state()
This doesn't do anything, drm_kms_helper_poll_enable() gets called in
nouveau_pmops_resume()->nouveau_display_resume()->nouveau_display_init()
already.
Signed-off-by: Lyude Paul <lyude at redhat.com>
Reviewed-by: Karol Herbst <kherbst at redhat.com>
Acked-by: Daniel Vetter <daniel at ffwll.ch>
Cc: Lukas Wunner <lukas at wunner.de>
---
drivers/gpu/drm/nouveau/nouveau_vga.c | 1 -
1 fil...
2013 Sep 08
0
3.12rc1-pre Nouveau? oops
...the backtrace has
>> runtime pm in it, which is something new Dave added for 3.12, adding
>> him in explicitly. The simplest explanation is that disp->init is
>> NULL. And it seems like there are no outputs from the earlier nouveau
>> init prints. I guess that the call to nouveau_display_resume from
>> nouveau_pmops_runtime_resume should be guarded by a if
>> (dev->mode_config.num_crtc) like it is everywhere else.
>>
>> -ilia
>
> Your guess was right, this (hopefully attached patch) fixes it for me!
Does it look like this one?
Dave.
-------------- next...
2013 Sep 08
0
3.12rc1-pre Nouveau? oops
...t; runtime pm in it, which is something new Dave added for 3.12, adding
>>>> him in explicitly. The simplest explanation is that disp->init is
>>>> NULL. And it seems like there are no outputs from the earlier nouveau
>>>> init prints. I guess that the call to nouveau_display_resume from
>>>> nouveau_pmops_runtime_resume should be guarded by a if
>>>> (dev->mode_config.num_crtc) like it is everywhere else.
>>>>
>>>> -ilia
>>>
>>> Your guess was right, this (hopefully attached patch) fixes it for me!
>&g...
2014 Jan 23
0
[PATCH] drm/nouveau: resume display if any later suspend bits fail
...ad) {
@@ -537,6 +539,10 @@ fail_client:
nouveau_client_init(&cli->base);
}
+ if (drm->fence && nouveau_fence(drm)->resume)
+ nouveau_fence(drm)->resume(drm);
+
+fail_display:
if (dev->mode_config.num_crtc) {
NV_INFO(drm, "resuming display...\n");
nouveau_display_resume(dev);
--
1.8.3.2
2018 Aug 07
0
[PATCH] drm/nouveau: Don't forget to cancel hpd_work on suspend/unload
...y(struct drm_device *dev);
int nouveau_display_init(struct drm_device *dev);
-void nouveau_display_fini(struct drm_device *dev, bool suspend);
+void nouveau_display_fini(struct drm_device *dev, bool suspend, bool runtime);
int nouveau_display_suspend(struct drm_device *dev, bool runtime);
void nouveau_display_resume(struct drm_device *dev, bool runtime);
int nouveau_display_vblank_enable(struct drm_device *, unsigned int);
diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c
index f5d3158f0378..20d4ab647cf7 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drm.c
+++ b/drivers...
2016 Dec 23
2
[PATCH v4 1/2] drm: Wrap the check for atomic_commit implementation
...ruct nouveau_display *disp = nouveau_display(dev);
struct drm_crtc *crtc;
- if (dev->mode_config.funcs->atomic_commit) {
+ if (drm_drv_uses_atomic_modeset(dev)) {
if (!runtime) {
disp->suspend = nouveau_atomic_suspend(dev);
if (IS_ERR(disp->suspend)) {
@@ -784,7 +784,7 @@ nouveau_display_resume(struct drm_device *dev, bool runtime)
struct drm_crtc *crtc;
int ret;
- if (dev->mode_config.funcs->atomic_commit) {
+ if (drm_drv_uses_atomic_modeset(dev)) {
nouveau_display_init(dev);
if (disp->suspend) {
drm_atomic_helper_resume(dev, disp->suspend);
diff --git a/drive...
2018 Aug 13
3
[PATCH 0/3] Cleanup drm_kms_helper_poll_enable/disable() calls
Does what it says on the label, a lot of these calls are already handled
somewhere else and don't appear to be here for a legitimate reason
anymore.
Lyude Paul (3):
drm/nouveau: Remove useless poll_enable() call in
switcheroo_set_state()
drm/nouveau: Remove useless poll_disable() call in
switcheroo_set_state()
drm/nouveau: Remove useless poll_enable() call in drm_load()
2018 Aug 15
3
[PATCH v3 0/3] Cleanup drm_kms_helper_poll_enable/disable() calls
Next version of https://patchwork.freedesktop.org/series/48131/
Only changes are new A-Bs and R-Bs
Lyude Paul (3):
drm/nouveau: Remove useless poll_enable() call in
switcheroo_set_state()
drm/nouveau: Remove useless poll_disable() call in
switcheroo_set_state()
drm/nouveau: Remove useless poll_enable() call in drm_load()
drivers/gpu/drm/nouveau/nouveau_drm.c | 4 +---
2020 Jan 15
0
[PATCH v2 08/21] drm/nouveau: Convert to struct drm_crtc_helper_funcs.get_scanout_position()
...m/nouveau/nouveau_display.h b/drivers/gpu/drm/nouveau/nouveau_display.h
index 6e8e66882e45..71e2af693f7f 100644
--- a/drivers/gpu/drm/nouveau/nouveau_display.h
+++ b/drivers/gpu/drm/nouveau/nouveau_display.h
@@ -63,7 +63,7 @@ int nouveau_display_suspend(struct drm_device *dev, bool runtime);
void nouveau_display_resume(struct drm_device *dev, bool runtime);
int nouveau_display_vblank_enable(struct drm_device *, unsigned int);
void nouveau_display_vblank_disable(struct drm_device *, unsigned int);
-bool nouveau_display_scanoutpos(struct drm_device *, unsigned int,
+bool nouveau_display_scanoutpos(struct drm_c...
2020 Jan 23
0
[PATCH v4 08/22] drm/nouveau: Convert to struct drm_crtc_helper_funcs.get_scanout_position()
.../nouveau/nouveau_display.h b/drivers/gpu/drm/nouveau/nouveau_display.h
index 6e8e66882e45..26d34f1a77da 100644
--- a/drivers/gpu/drm/nouveau/nouveau_display.h
+++ b/drivers/gpu/drm/nouveau/nouveau_display.h
@@ -63,9 +63,10 @@ int nouveau_display_suspend(struct drm_device *dev, bool runtime);
void nouveau_display_resume(struct drm_device *dev, bool runtime);
int nouveau_display_vblank_enable(struct drm_device *, unsigned int);
void nouveau_display_vblank_disable(struct drm_device *, unsigned int);
-bool nouveau_display_scanoutpos(struct drm_device *, unsigned int,
- bool, int *, int *, ktime_t *,
- kti...