Change the v4l2_device notifications id to S5P_FIMC_TX_END_NOTIFY.

Moreover, when frame capture fails, send an 'end of frame' notification
with size set to 0 to let the host driver return a buffer back to the
user and prevent applications waiting forever on DQBUF.

The notification is needed only for the s5p-fimc driver.

Acked-by: HeungJun Kim <riverful....@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawro...@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.p...@samsung.com>
---
 drivers/media/video/m5mols/m5mols_capture.c |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/drivers/media/video/m5mols/m5mols_capture.c 
b/drivers/media/video/m5mols/m5mols_capture.c
index 8bb284d..038b349 100644
--- a/drivers/media/video/m5mols/m5mols_capture.c
+++ b/drivers/media/video/m5mols/m5mols_capture.c
@@ -1,3 +1,4 @@
+
 /*
  * The Capture code for Fujitsu M-5MOLS ISP
  *
@@ -25,6 +26,7 @@
 #include <media/v4l2-device.h>
 #include <media/v4l2-subdev.h>
 #include <media/m5mols.h>
+#include <media/s5p_fimc.h>
 
 #include "m5mols.h"
 #include "m5mols_reg.h"
@@ -142,13 +144,20 @@ int m5mols_start_capture(struct m5mols_info *info)
        if (!ret)
                ret = m5mols_write(sd, CAPC_START, REG_CAP_START_MAIN);
        if (!ret) {
+               bool captured = false;
+               unsigned int size;
+
                /* Wait for the capture completion interrupt */
                ret = m5mols_wait_interrupt(sd, REG_INT_CAPTURE, 2000);
                if (!ret) {
+                       captured = true;
                        ret = m5mols_capture_info(info);
-                       if (!ret)
-                               v4l2_subdev_notify(sd, 0, &info->cap.total);
                }
+               size = captured ? info->cap.main : 0;
+               v4l2_dbg(1, m5mols_debug, sd, "%s: size: %d, thumb.: %d B\n",
+                        __func__, size, info->cap.thumb);
+
+               v4l2_subdev_notify(sd, S5P_FIMC_TX_END_NOTIFY, &size);
        }
 
        return ret;
-- 
1.7.8

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to