mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-30 14:46:47 +07:00
[media] m5mols: Change the end of frame v4l2_subdev notification id
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.kim@samsung.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
92e93a1fd0
commit
d5048c9a28
@ -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"
|
||||
@ -138,13 +140,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;
|
||||
|
Loading…
Reference in New Issue
Block a user