linux/drivers/media/platform/ti-vpe
Benoit Parrot 35be6d865c [media] media: ti-vpe: vpe: Make sure frame size dont exceed scaler capacity
When scaler is to be used we need to make sure that the input and
output frame size do not exceed the maximum frame sizes that the
scaler h/w can handle otherwise streaming stall as the scaler
cannot proceed.

The scaler buffer is limited to 2047 pixels (i.e. 11 bits) when
attempting anything larger (2048 for example) the scaler stalls.

Realistically in an mem2mem device we can only check for this type
of issue when start_streaming is called. We can't do it during the
try_fmt/s_fmt because we do not have all of the info needed at that
point. So instead when start_streaming is called we need to check
that the input and output frames size do not exceed the scaler's
capability. The only time larger frame size are allowed is when
the input frame szie is the same as the output frame size.

Now in the case where we need to fail, start_streaming must return
all previously queued buffer back otherwise the vb2 framework
will issue kernel WARN messages.
In this case we also give an error message.

Signed-off-by: Benoit Parrot <bparrot@ti.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-11-22 08:10:14 -02:00
..
cal_regs.h [media] media: ti-vpe: Add CAL v4l2 camera capture driver 2016-02-01 08:45:26 -02:00
cal.c [media] media: platform: ti-vpe: call of_node_put on non-null pointer 2016-11-18 14:23:33 -02:00
csc.c [media] ti-vpe: fix sparse warnings 2014-11-05 09:09:26 -02:00
csc.h [media] v4l: ti-vpe: Add helper to perform color conversion 2014-01-07 06:57:08 -02:00
Makefile [media] media: ti-vpe: Make scaler library into its own module 2016-11-22 08:09:10 -02:00
sc_coeff.h [media] v4l: ti-vpe: support loading of scaler coefficients 2014-01-07 06:54:48 -02:00
sc.c [media] media: ti-vpe: scaler: Add debug support for multi-instance 2016-11-22 08:09:33 -02:00
sc.h [media] media: ti-vpe: vpe: Make sure frame size dont exceed scaler capacity 2016-11-22 08:10:14 -02:00
vpdma_priv.h [media] media: ti-vpe: vpdma: RGB data type yield inverted data 2016-11-22 08:05:59 -02:00
vpdma.c [media] media: ti-vpe: vpdma: Use bidirectional cached buffers 2016-11-22 08:07:53 -02:00
vpdma.h [media] media: ti-vpe: vpdma: Fix race condition for firmware loading 2016-11-22 08:07:28 -02:00
vpe_regs.h [media] v4l: ti-vpe: create a color space converter block library 2014-01-07 06:56:18 -02:00
vpe.c [media] media: ti-vpe: vpe: Make sure frame size dont exceed scaler capacity 2016-11-22 08:10:14 -02:00