Change ipu_check_buffer_busy to ipu_check_buffer_ready.
Signed-off-by: Jason Chen <b02280@freescale.com>
(cherry picked from commit 3e60177e176d78e41351c9d51bc4889762c44627)
This patch supports VIDIOC_ENUM_FMT, VIDIOC_ENUM_FRAMESIZES
and VIDIOC_DBG_G_CHIP_IDENT ioctrls.
Signed-off-by: Liu Ying <b17645@freescale.com>
(cherry picked from commit 90fdf1cded2ce26ac6e8c81944a78a3f998ddaf2)
This patch fills black data to overlay fb before preview to get rid
of dirty data splashing the screen.
Signed-off-by: Liu Ying <b17645@freescale.com>
(cherry picked from commit 3dd91a35a55263252ab5d4bb63762713c138b567)
We used to enable mclk in resume function of mxc v4l2 capture
driver even if overlay or catpture is off when entering suspend
mode. This patch disables mclk after resume in this case.
Signed-off-by: Liu Ying <b17645@freescale.com>
1) Remove skip frame support.
2) Add dummy buffer support for CSI_PRP_ENC_MEM and
MEM_ROT_ENC_MEM channel to get rid of lost frame
error.
3) Clear buffer ready bit for one time whenever we fail
to update buffer address.
4) Fix potential tearing issue by sync the working buf
with EOF interrupt.
Signed-off-by: Liu Ying <b17645@freescale.com>
(cherry picked from commit f35a2d44710fe0f73516d52f67f7d063eef87097)
The FG window will go to the left-top corner of the display panel
after preview. So, remove the code to clear FG position when we
stop preview.
Signed-off-by: Liu Ying <b17645@freescale.com>
(cherry picked from commit 29a459e692e4dde9f3dee64aba176a357dfd0062)
drag mxc_ipuv3_fb with it (remove final efikamx specific stuff)
update some IPU stuff and ioctls for it all to interoperate
notes:
that line_length bug is still there, I really can't find why it's 0...
doesn't register because the platform_device isn't in a/a/p-mxc/devices.?
Workaround for imx5x M4IF burst len errata when armv7 neon enabled, use
pgprot_writecombine instead of pgprot_noncached, to avoid burst len > 8.
Signed-off-by: Sammy He <r62914@freescale.com>
As a side effect of not doing this, the V4L driver would happily go off and touch a framebuffer address that was invalid, and there may have been a slight SNAFU with a divide by zero on the VPU framebuffer.
Arnaud Patard from Mandriva noticed these a long while ago, but now here they are.
BUG: these are temporary hacks, let's try and work out why line_length is 0..
If set both double buffer ready for VDI case, there will come out
NFB4EOF error.
Signed-off-by: Jason Chen <b02280@freescale.com>
(cherry picked from commit 24c1d799767732a7d654c1acd526c63acbe397fe)
If do input right-side crop and input/output are in the same size, v4l2
driver will enable ic_bypass, but after enable it, the output is not
correct.
Signed-off-by: Jason Chen <b02280@freescale.com>
1) Add OV3640 camera QXGA configuration at 7.5fps support.
2) Use double buffer to workaround tearing issue when capturing
still image.
Signed-off-by: Liu Ying <b17645@freescale.com>
1)Medium motion and low motion:
Frame(n)'s even field is used for Previous channel,
Frame(n+1)'s odd field is used for Current channel and
Frame(n+1)'s even field is used for Next channel to generate
de-interlaced Frame(n+1).
2)High motion:
Frame(n)'s odd field is used for Current channel to generate
de-interlaced Frame(n).
Signed-off-by: Liu Ying <b17645@freescale.com>
If set crop for input image, and ic bypass mode enabled (after crop,
input and output video have the same size), video will play uncorrect if
input is non-interleaving format. Need set u/v offset for this case.
Signed-off-by: Jason Chen <b02280@freescale.com>
If play a video by using ic bypass mode, and the resolution is
bigger than IC limitation(1024x720), will come out DQUEUE timeout issue.
Signed-off-by: Jason Chen <b02280@freescale.com>
1) Support YUYV for CSI->MEM capture.
2) Support YUYV and UYVY for CSI->PRP_ENC->MEM capture.
3) Support YUYV for still capture.
Signed-off-by: Liu Ying <b17645@freescale.com>
During v4l2 output playback, there is performance issue after below
commit:
UBUNTU: SAUCE: (upstream) netdev/fec: fix performance impact from
mdio poll operation
Use common workqueue cause this issue, so create an own workqueue for
v4l2 output.
Signed-off-by: Jason Chen <b02280@freescale.com>
Uncorrect bits_per_pixel will make wrong fb memaloc size, which will
cause Oops for filling black color operation.
Signed-off-by: Jason Chen <b02280@freescale.com>
Enable fb display channel before buffer select, it avoid display frame
lost for small windows between timming of buffer select and channel
enalbe.
Signed-off-by: Jason Chen <b02280@freescale.com>
For MX23, the maximum down scaling factor is 1/2.
For MX28, it's 1/4.
If the scaling factor is below the factor, PxP may not function as expected.
Signed-off-by: Robby Cai <R63905@freescale.com>
As CSI->MEM channel keeps on writing the buffer which is set to
ready latestly and raising up end of frame interrupts, the current
v4l2 capture realization mechanism is not appropriate for this channel.
This patch will update the idmac buffer to a dummy buffer whenever
there is no buffers queued by the user.
Signed-off-by: Liu Ying <b17645@freescale.com>
To preview with V4L2 overlay and capture at the same time may fail.
This patch implements workaround for this issue by enabling CSI after
PRP channels are setup.
Signed-off-by: Liu Ying <b17645@freescale.com>
There is a short show of previous played frame if not fill black color
to display fb.
Because fb device will unblank ahead of real data come.
Signed-off-by: Jason Chen <b02280@freescale.com>
This change makes us get rid of DIx_SYNC_DISP_ERR. The error sometimes
causes the backgound framebuffer reinitialized automatically, even if
we preview captured video on overlay framebuffer.
Signed-off-by: Liu Ying <b17645@freescale.com>
After TV/LCD switch, PXP uses wrong old FB info to set RGBBUF/RGBSIZE.
This patch fixes this problem by notifying PXP to adjust when FB changed.
Signed-off-by: Robby Cai <R63905@freescale.com>
blank/unblank fb during v4l2 playback, unblank will cause current buffer
of display channel to be 1. This patch make the sequence of select
display buffer correct.
Signed-off-by: Jason Chen <b02280@freescale.com>
To use manually buffer select instead of channel link, which resolve fb
blank during v4l2 running issue.
Signed-off-by: Jason Chen <b02280@freescale.com>
Use DP to do CSC for preview on DPFG instead of using IC channel
so that we can get better performance. This change can make us
get rid of IC channel bandwidth limitation when using IC channel
to do upsizing from low resolution to high resolution and CSC.
This change doesn't touch V4L2 overlay for DPBG, because using DP
to do CSC will change the pixel format for DPBG(usually for GUI).
This change doesn't touch V4L2 capture, because users rarely do
upsizing with high multiple in this case.
Signed-off-by: Liu Ying <b17645@freescale.com>