vkms is missing any kind of HPD (polling/irq), so add polling to handle
hotplug events.

Signed-off-by: Marius Vlad <[email protected]>
---
 drivers/gpu/drm/vkms/vkms_drv.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/vkms/vkms_drv.c b/drivers/gpu/drm/vkms/vkms_drv.c
index e8472d9b6e3b..ec815c42ef04 100644
--- a/drivers/gpu/drm/vkms/vkms_drv.c
+++ b/drivers/gpu/drm/vkms/vkms_drv.c
@@ -198,6 +198,9 @@ static int vkms_create(struct vkms_config *config)
        if (ret)
                goto out_devres;
 
+       /* init kms poll for handling hpd */
+       drm_kms_helper_poll_init(&vkms_device->drm);
+
        drm_client_setup(&vkms_device->drm, NULL);
 
        return 0;
@@ -240,6 +243,7 @@ static void vkms_destroy(struct vkms_config *config)
 
        fdev = config->dev->faux_dev;
 
+       drm_kms_helper_poll_fini(&config->dev->drm);
        drm_dev_unregister(&config->dev->drm);
        drm_atomic_helper_shutdown(&config->dev->drm);
        devres_release_group(&fdev->dev, NULL);
-- 
2.47.2

Reply via email to