Displaying 20 results from an estimated 67 matches for "drm_kms_helper_poll_enable".
2018 Aug 01
0
[PATCH v4 1/8] drm/nouveau: Fix bogus drm_kms_helper_poll_enable() placement
Turns out this part is my fault for not noticing when reviewing
9a2eba337cace ("drm/nouveau: Fix drm poll_helper handling"). Currently
we call drm_kms_helper_poll_enable() from nouveau_display_hpd_work().
This makes basically no sense however, because that means we're calling
drm_kms_helper_poll_enable() every time we schedule the hotplug
detection work. This is also against the advice mentioned in
drm_kms_helper_poll_enable()'s documentation:
Note that c...
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 +---
2018 Aug 02
1
[PATCH v4 2/8] drm/nouveau: Enable polling even if we have runtime PM
...uveau_drm.c
> @@ -592,10 +592,11 @@ nouveau_drm_load(struct drm_device *dev, unsigned long flags)
> pm_runtime_allow(dev->dev);
> pm_runtime_mark_last_busy(dev->dev);
> pm_runtime_put(dev->dev);
> - } else {
> - /* enable polling for external displays */
> - drm_kms_helper_poll_enable(dev);
> }
> +
> + /* enable polling for connectors without hpd */
> + drm_kms_helper_poll_enable(dev);
> +
I'm wondering why drm_kms_helper_poll_enable() is called here at all.
Does the invocation in nouveau_display_init() not suffice? Can there
be a situation when nouveau_di...
2017 May 15
1
[PATCH] drm/nouveau: Fix drm poll_helper handling
...-- a/drivers/gpu/drm/nouveau/nouveau_display.c
+++ b/drivers/gpu/drm/nouveau/nouveau_display.c
@@ -360,6 +360,8 @@ nouveau_display_hpd_work(struct work_struct *work)
pm_runtime_get_sync(drm->dev->dev);
drm_helper_hpd_irq_event(drm->dev);
+ /* enable polling for external displays */
+ drm_kms_helper_poll_enable(drm->dev);
pm_runtime_mark_last_busy(drm->dev->dev);
pm_runtime_put_sync(drm->dev->dev);
@@ -413,10 +415,6 @@ nouveau_display_init(struct drm_device *dev)
if (ret)
return ret;
- /* enable polling for external displays */
- if (!dev->mode_config.poll_enabled)
- drm_km...
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 ti...
2017 Jan 12
2
[PATCH v2 1/2] 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 ti...
2018 Aug 07
19
[PATCH v5 00/13] Fix connector probing deadlocks from RPM bugs
This is the latest version of https://patchwork.freedesktop.org/series/46815/
I moved everything out of fb_helper and back into nouveau, because it
seems that other drivers actually do have this handled already as far as
I can tell.
Lyude Paul (13):
drm/nouveau: Fix bogus drm_kms_helper_poll_enable() placement
drm/nouveau: Remove duplicate poll_enable() in pmops_runtime_suspend()
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...
2018 Aug 01
0
[PATCH v4 2/8] drm/nouveau: Enable polling even if we have runtime PM
....c
+++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
@@ -592,10 +592,11 @@ nouveau_drm_load(struct drm_device *dev, unsigned long flags)
pm_runtime_allow(dev->dev);
pm_runtime_mark_last_busy(dev->dev);
pm_runtime_put(dev->dev);
- } else {
- /* enable polling for external displays */
- drm_kms_helper_poll_enable(dev);
}
+
+ /* enable polling for connectors without hpd */
+ drm_kms_helper_poll_enable(dev);
+
return 0;
fail_dispinit:
--
2.17.1
2018 Aug 07
0
[PATCH v5 05/13] drm/nouveau: Remove useless poll_enable() call in drm_load()
Again, this doesn't do anything. drm_kms_helper_poll_enable() will have
already been called in nouveau_display_init()
Signed-off-by: Lyude Paul <lyude at redhat.com>
Cc: Lukas Wunner <lukas at wunner.de>
Cc: Karol Herbst <karolherbst at gmail.com>
[omitting stable Cc, this probably doesn't fix any real bugs]
---
drivers/gpu/drm/nouve...
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 wu...
2018 Aug 01
12
[PATCH v4 0/8] Fix connector probing deadlocks from RPM bugs
...s the latest version of
https://patchwork.freedesktop.org/series/46815/
With a bunch of fixes to the new fb_helper to prevent it from breaking
module loading/unloading with nouveau. Also; lots of documentation
fixes and one fix in response to a kbuild bot.
Lyude Paul (8):
drm/nouveau: Fix bogus drm_kms_helper_poll_enable() placement
drm/nouveau: Enable polling even if we have runtime PM
drm/fb_helper: Introduce suspend/resume_hotplug()
drm/nouveau: Fix deadlock with fb_helper using new helpers
drm/nouveau: Use pm_runtime_get_noresume() in connector_detect()
drm/nouveau: Respond to HPDs by probing one conn...
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
drm/nouveau: Use pm_runtime_get_noresume() in connector_detect()
drm/nouveau: Fix deadlocks in nouveau_connector_detect()
drivers/gpu/drm/nou...
2018 Aug 13
6
[PATCH v6 0/5] Fix connector probing deadlocks from RPM bugs
...lot of the other changes
I made (although we probably still want those changes, but not for
fixing these deadlocks) I've removed those now irrelevant patches from
the series and will resend them on their own to make reviewing this
go faster.
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()
drm/nouveau: Fix deadlocks in nouveau_connector_detect()
drivers/gpu/drm/nou...
2019 Dec 10
2
[PATCH AUTOSEL 5.4 143/350] drm/nouveau: Resume hotplug interrupts earlier
...onn = nouveau_connector(connector);
+ nvif_notify_get(&conn->hpd);
+ }
+ drm_connector_list_iter_end(&conn_iter);
+
ret = disp->init(dev, resume, runtime);
if (ret)
return ret;
@@ -416,14 +427,6 @@ nouveau_display_init(struct drm_device *dev, bool resume, bool runtime)
*/
drm_kms_helper_poll_enable(dev);
- /* enable hotplug interrupts */
- drm_connector_list_iter_begin(dev, &conn_iter);
- nouveau_for_each_non_mst_connector_iter(connector, &conn_iter) {
- struct nouveau_connector *conn = nouveau_connector(connector);
- nvif_notify_get(&conn->hpd);
- }
- drm_connector_list_it...
2018 Feb 14
1
[PATCH v2] drm: Allow determining if current task is output poll worker
...tc_helper.h b/include/drm/drm_crtc_helper.h
index 76e237bd989b..6914633037a5 100644
--- a/include/drm/drm_crtc_helper.h
+++ b/include/drm/drm_crtc_helper.h
@@ -77,5 +77,6 @@ void drm_kms_helper_hotplug_event(struct drm_device *dev);
void drm_kms_helper_poll_disable(struct drm_device *dev);
void drm_kms_helper_poll_enable(struct drm_device *dev);
+bool drm_kms_helper_is_poll_worker(void);
#endif
--
2.15.1
2018 Oct 02
1
[PATCH] qxl: fix null-pointer crash during suspend
...dev);
> @@ -175,14 +166,7 @@ static int qxl_drm_resume(struct drm_device *dev, bool thaw)
> }
>
> qxl_create_monitors_object(qdev);
> - drm_helper_resume_force_mode(dev);
> -
> - console_lock();
> - qxl_fbdev_set_suspend(qdev, 0);
> - console_unlock();
> -
> - drm_kms_helper_poll_enable(dev);
> - return 0;
> + return drm_mode_config_helper_resume(dev);
> }
>
> static int qxl_pm_suspend(struct device *dev)
> --
> 2.18.0
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https:...
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()
drm/nouveau: Fix deadlocks in nouveau_connector_detect()
drivers/gpu/drm/nou...
2018 Feb 11
0
[PATCH 2/5] drm: Allow determining if current task is output poll worker
...tc_helper.h b/include/drm/drm_crtc_helper.h
index 76e237bd989b..6914633037a5 100644
--- a/include/drm/drm_crtc_helper.h
+++ b/include/drm/drm_crtc_helper.h
@@ -77,5 +77,6 @@ void drm_kms_helper_hotplug_event(struct drm_device *dev);
void drm_kms_helper_poll_disable(struct drm_device *dev);
void drm_kms_helper_poll_enable(struct drm_device *dev);
+bool drm_kms_helper_is_poll_worker(void);
#endif
--
2.15.1
2019 Oct 22
0
[PATCH v5 10/14] drm/nouveau: Resume hotplug interrupts earlier
...onn = nouveau_connector(connector);
+ nvif_notify_get(&conn->hpd);
+ }
+ drm_connector_list_iter_end(&conn_iter);
+
ret = disp->init(dev, resume, runtime);
if (ret)
return ret;
@@ -416,14 +427,6 @@ nouveau_display_init(struct drm_device *dev, bool resume, bool runtime)
*/
drm_kms_helper_poll_enable(dev);
- /* enable hotplug interrupts */
- drm_connector_list_iter_begin(dev, &conn_iter);
- nouveau_for_each_non_mst_connector_iter(connector, &conn_iter) {
- struct nouveau_connector *conn = nouveau_connector(connector);
- nvif_notify_get(&conn->hpd);
- }
- drm_connector_list_it...