Revert "drm: crc: Wait for a frame before returning from open()"
authorMahesh Kumar <mahesh1.kumar@intel.com>
Tue, 21 Aug 2018 08:38:57 +0000 (14:08 +0530)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Wed, 22 Aug 2018 16:50:16 +0000 (09:50 -0700)
This reverts commit e8fa5671183c80342d520ad81d14fa79a9d4a680.

Don't wait for first CRC during crtc_crc_open. It avoids one frame wait
during open. If application want to wait after read call, it can use
poll/read blocking read() call.

Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Mahesh Kumar <mahesh1.kumar@intel.com>
Cc: dri-devel@lists.freedesktop.org
Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180821083858.26275-4-mahesh1.kumar@intel.com
drivers/gpu/drm/drm_debugfs_crc.c

index 3e0a2cf..00e7431 100644 (file)
@@ -228,24 +228,8 @@ static int crtc_crc_open(struct inode *inode, struct file *filep)
        if (ret)
                goto err;
 
-       spin_lock_irq(&crc->lock);
-       /*
-        * Only return once we got a first frame, so userspace doesn't have to
-        * guess when this particular piece of HW will be ready to start
-        * generating CRCs.
-        */
-       ret = wait_event_interruptible_lock_irq(crc->wq,
-                                               crtc_crc_data_count(crc),
-                                               crc->lock);
-       spin_unlock_irq(&crc->lock);
-
-       if (ret)
-               goto err_disable;
-
        return 0;
 
-err_disable:
-       crtc->funcs->set_crc_source(crtc, NULL);
 err:
        spin_lock_irq(&crc->lock);
        crtc_crc_cleanup(crc);