Lyude Paul
d297ce4b5d
drm/nouveau/kms: Only use hpd_work for reprobing in HPD paths
...
Currently we perform both short IRQ handling for DP, and connector
reprobing in the HPD IRQ handler. However since we need to grab
connection_mutex in order to reprobe a connector, in theory we could
accidentally block ourselves from handling any short IRQs until after a
modeset completes if a connector hotplug happens to occur in parallel
with a modeset.
I haven't seen this actually happen yet, but since we're cleaning up
nouveau's hotplug handling code anyway and we already have a hpd worker,
we can simply fix this by only relying on the HPD worker to actually
reprobe connectors when we receive a HPD IRQ. We also add a mask to
nouveau_drm to keep track of which connectors are waiting to be reprobed
in response to an HPD IRQ.
Signed-off-by: Lyude Paul <lyude@redhat.com >
Reviewed-by: Ben Skeggs <bskeggs@redhat.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20200826182456.322681-13-lyude@redhat.com
2020-08-31 19:10:08 -04:00
..
2020-08-31 12:41:50 +10:00
2020-06-10 09:02:03 +02:00
2020-08-18 15:26:32 +02:00
2020-06-24 15:45:51 +10:00
2020-07-24 08:48:05 +10:00
2020-08-19 09:14:40 +02:00
2020-07-02 20:25:51 +02:00
2020-08-11 11:58:31 +10:00
2020-08-29 23:02:34 +02:00
2020-07-23 15:28:10 +10:00
2020-08-18 14:14:25 +02:00
2020-08-08 09:06:33 +02:00
2020-08-19 15:49:10 +02:00
2020-08-30 20:35:55 -04:00
2020-08-06 14:27:31 -07:00
2020-07-20 09:34:24 +02:00
2020-08-31 19:10:08 -04:00
2020-08-12 20:42:08 +02:00
2020-07-30 18:19:57 +02:00
2020-08-11 11:58:31 +10:00
2020-08-15 12:14:18 +02:00
2020-08-08 09:06:33 +02:00
2020-07-24 08:48:05 +10:00
2020-08-27 11:17:52 +02:00
2020-08-18 14:14:25 +02:00
2020-07-28 17:21:58 +02:00
2020-08-31 19:10:08 -04:00
2020-08-21 15:15:11 +03:00
2020-08-30 00:10:44 +02:00
2020-08-18 14:14:25 +02:00
2020-07-23 10:06:22 +02:00
2020-08-24 17:00:48 +10:00
2020-04-03 17:11:41 +02:00
2020-08-31 12:42:40 +10:00
2020-08-12 20:42:08 +02:00
2020-08-18 14:14:25 +02:00
2020-08-06 11:55:43 -07:00
2020-06-23 15:57:30 +02:00
2020-06-10 09:05:18 +02:00
2020-08-18 14:14:25 +02:00
2020-07-08 11:47:01 +02:00
2020-08-27 17:55:50 +02:00
2020-08-12 20:42:08 +02:00
2020-08-21 15:17:05 +03:00
2020-07-14 10:32:33 +02:00
2020-06-24 09:17:34 +02:00
2020-08-24 17:06:08 +10:00
2020-06-10 09:06:11 +02:00
2020-06-10 10:17:21 +02:00
2020-08-10 15:32:00 +02:00
2020-07-16 22:12:50 +02:00
2020-07-07 10:51:58 +02:00
2020-08-10 15:31:02 +02:00
2020-01-31 12:16:36 -08:00
2020-08-31 08:55:02 +02:00
2020-08-30 09:27:06 -04:00
2020-08-24 17:00:48 +10:00
2020-08-14 13:34:37 -07:00
2020-08-01 01:56:10 +00:00
2020-08-06 14:27:31 -07:00
2020-06-23 19:53:27 +02:00
2020-07-02 20:25:51 +02:00
2020-07-02 15:26:00 +02:00
2020-07-02 15:26:00 +02:00
2020-06-15 14:49:50 +01:00
2020-05-14 02:10:52 +03:00
2020-08-26 19:11:41 +02:00
2020-06-23 19:53:27 +02:00
2020-07-02 15:26:00 +02:00
2020-05-27 14:31:42 +03:00
2020-05-26 13:31:01 +02:00
2020-08-11 14:06:04 +02:00
2020-03-16 09:23:55 +01:00
2020-07-13 13:29:20 -04:00
2020-07-02 15:26:00 +02:00
2020-03-18 17:53:28 +01:00
2020-07-02 15:26:00 +02:00
2020-01-28 16:49:22 +01:00
2020-06-25 15:47:14 -07:00
2020-04-03 17:11:41 +02:00
2020-01-09 18:07:46 -05:00
2020-08-11 14:06:04 +02:00
2020-08-31 19:10:08 -04:00
2020-07-27 22:06:13 +02:00
2020-08-05 19:50:06 -07:00
2020-06-19 09:20:21 +02:00
2020-04-21 08:15:03 +02:00
2020-08-11 11:58:31 +10:00
2020-07-02 15:26:00 +02:00
2020-05-26 13:33:08 +02:00
2020-06-19 13:33:40 +01:00
2020-07-02 15:26:00 +02:00
2020-07-20 09:34:24 +02:00
2020-05-19 22:31:31 +01:00
2020-06-16 19:11:51 +02:00
2020-05-19 22:31:31 +01:00
2020-08-24 17:00:48 +10:00
2020-08-11 12:00:30 +10:00
2020-05-05 14:01:53 -04:00
2020-07-16 18:16:31 -04:00
2020-07-02 15:26:00 +02:00
2020-06-24 15:45:51 +10:00
2020-05-29 12:58:11 +02:00
2020-07-02 15:26:00 +02:00
2020-07-02 15:26:00 +02:00
2020-05-18 16:27:54 +01:00
2020-08-11 11:58:31 +10:00
2020-07-10 20:21:45 +02:00
2020-06-23 15:46:40 +02:00
2020-07-02 15:26:00 +02:00
2020-05-05 10:51:56 +02:00
2020-07-20 11:47:28 +02:00
2020-08-11 11:58:31 +10:00
2020-08-04 11:45:23 +02:00
2020-08-16 17:12:18 +02:00
2020-07-02 15:26:00 +02:00
2020-07-02 15:26:00 +02:00
2020-07-02 15:26:00 +02:00
2020-07-31 14:42:37 +10:00
2020-06-02 10:59:11 -07:00
2020-03-06 09:24:29 +01:00
2020-08-02 15:22:31 +02:00
2020-06-03 10:24:23 +02:00
2020-08-06 11:55:43 -07:00
2020-07-21 11:08:35 -04:00
2020-06-24 15:45:51 +10:00
2020-05-20 20:03:45 +02:00
2020-07-18 02:59:16 +03:00
2020-07-23 15:31:38 +10:00