Age | Commit message (Collapse) | Author |
|
fix camera preview failure when using double buffer mode for frame
buffer
Signed-off-by: Yuxi Sun <b36102@freescale.com>
|
|
1. move videobuf_mmap_free to mxc_vout_release.
2. call videobuf_queue_cancel in mxc_vout_release if no streamon called.
3. correct return value of G_CROP for support_window case.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
only check pos when fb is unblank
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
make could_finish to volatile.
do_exit in split_task_thread instead of kthread_stop.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
Signed-off-by: Jason Chen <Jason.chen@linaro.org>
Signed-off-by: Eric Miao <eric.miao@linaro.org>
|
|
BugLink: http://launchpad.net/bugs/893653
Signed-off-by: Eric Miao <eric.miao@linaro.org>
|
|
BugLink: http://bugs.launchpad.net/bugs/882723
There are cases where there is no working codec on the soc-audio
devices,
and snd_soc_suspend() will skip such device when suspending. Yet its
counterpart snd_soc_resume() does not check this, causing complaints
about spinlock lockup:
[ 176.726087] BUG: spinlock lockup on CPU#0, kworker/0:2/1067, d8ab82a8
[ 176.732539] [<80014a14>] (unwind_backtrace+0x0/0xec) from [<805b3fc8>] (dump_stack+0x20/0x24)
[ 176.741082] [<805b3fc8>] (dump_stack+0x20/0x24) from [<80322208>] (do_raw_spin_lock+0x118/0x158)
[ 176.749882] [<80322208>] (do_raw_spin_lock+0x118/0x158) from [<805b7874>] (_raw_spin_lock_irqsave+0x5c/0x68)
[ 176.759723] [<805b7874>] (_raw_spin_lock_irqsave+0x5c/0x68) from [<8002a020>] (__wake_up+0x2c/0x5c)
[ 176.768781] [<8002a020>] (__wake_up+0x2c/0x5c) from [<804a6de8>] (soc_resume_deferred+0x3c/0x2b0)
[ 176.777666] [<804a6de8>] (soc_resume_deferred+0x3c/0x2b0) from [<8004ee20>] (process_one_work+0x2e8/0x50c)
[ 176.787334] [<8004ee20>] (process_one_work+0x2e8/0x50c) from [<8004fd08>] (worker_thread+0x1c8/0x2e0)
[ 176.796566] [<8004fd08>] (worker_thread+0x1c8/0x2e0) from [<80053ec8>] (kthread+0xa4/0xb0)
[ 176.804843] [<80053ec8>] (kthread+0xa4/0xb0) from [<8000ea70>] (kernel_thread_exit+0x0/0x8)
Signed-off-by: Eric Miao <eric.miao@linaro.org>
|
|
BugLink: http://bugs.launchpad.net/bugs/882723
Disabling/re-enabling clocks is not necessary as it's done in *_startup()
and *_shutdown() functions, and shall be performed during suspend/resume.
This is causing warnings of un-matched clk_enable()/clk_disable()
Signed-off-by: Eric Miao <eric.miao@linaro.org>
|
|
fb set var will check the window position with window size, so the
correct way is setting position before fb_set_var.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
if play video with split mode, there is chance to see jitter of split stripe.
fix it by correct sync method of split mode kthreads.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
adding support of set crop during streamon.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
In mxc_vout, ioctl S_CROP should call before S_FMT, for fist time S_CROP,
will not check ipu task, it actually will check in S_FMT, after S_FMT,
S_CROP should check ipu task too.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
run test like:
/unit_tests//mxc_v4l2_output.out -iw 1280 -ih 720 -cr 1024 700 40 0 -ow 1024
-oh 700 /unit_tests/720p.yuv
Under IPU IC bypass mode, the output color is not correct.
And sometimes come out tearing issue.
Fix them by modify fb driver adding xpanstep support and set vb->state to DONE
after it finish show.
When previous videobuf finish show and next videobuf ready to show, set
VIDEOBUF_DONE state to avoid tearing issue, which make sure showing buffer will
not be dequeue to write new data. It also bring side-effect that the last buffer
can not be dequeue correctly, app need take care about it.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
To avoid CROP width=0 or height=0 case.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
Signed-off-by: Jason Chen <jason.chen@linaro.org>
|
|
In IPU split mode, if deinterlace is enable, there are obvious line
between up and down stripe, it is cause by VDIC module. Fix it.
Signed-off-by: Sandor YU <r01008@freescale.com>
|
|
vpu unit test failed because it need phys offset of each buffer allocated by
v4l2 output driver.
videobuf dma contig method only allocate real dma buffer when user call mmap.
Fix this issue by adding code to querybuf ioctl, return real phys after
buffer mmaped.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
Repeat play with below cmdline:
/unit_tests/mxc_v4l2_output.out -iw 1280 -ih 720 -ow 1280 -oh
720 -fr 10 -l 1 /unit_tests/720p.yuv
Found the ipu update offset function cause this issue, it can be
work-around by setting it only when value changed.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
This new v4l2 output driver is based on videobuf, using dma contig alloc method.
It creates video dev node for each display framebuffer begin from /dev/video16
by default.
If need post-processing, this driver will do it by ipu pp driver which support:
- resizing
- CSC
- rotate
- deinterlacing
If no need post-processing, the IPU IC will be bypassed as old driver, the
buf will be set to fb buffer directly by crack fb smem_start.
The user should do setting before streamon like below:
1. set output crop
2. set ctrl like rotate/vflip/hflip/deinterlacing motion
3. set fmt
4. reqbuf
The new features compare to old driver:
- support multi-instance
- support user point buffer
- runtime suspend/resume
For suspend/resume, still has chance to meet issue on mx6q, will fix later.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
This new v4l2 output driver is based on videobuf, using dma contig alloc method.
It creates video dev node for each display framebuffer begin from /dev/video16
by default.
If need post-processing, this driver will do it by ipu pp driver which support:
- resizing
- CSC
- rotate
- deinterlacing
If no need post-processing, the IPU IC will be bypassed as old driver, the
buf will be set to fb buffer directly by crack fb smem_start.
The user should do setting before streamon like below:
1. set output crop
2. set ctrl like rotate/vflip/hflip/deinterlacing motion
3. set fmt
4. reqbuf
The new features compare to old driver:
- support multi-instance
- support user point buffer
- runtime suspend/resume
For suspend/resume, still has chance to meet issue on mx6q, will fix later.
This patch for head file.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
1. use late suspend early resume
2. disable/enable clk when suspend/resume with clk on.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
1. add timestamp for userpoint buffer
2. use pgprot_writecombine for mmap
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
1. no dma alloc for rot buf every time which will cost time.
2. fix split mode condition.
3. export some functions.
This patch for driver file.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
1. no dma alloc for rot buf every time which will cost time.
2. fix split mode condition.
3. export some functions.
This patch for MSL file.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
1. no dma alloc for rot buf every time which will cost time.
2. fix split mode condition.
3. export some functions.
This patch for common head file.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
Enable ipu clk when try get rate
Signed-off-by: Yuxi Sun <b36102@freescale.com>
|
|
Currently we do not support split mode with rotation.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
Currently we do not support split mode with rotation.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
BugLink: http://bugs.launchpad.net/bugs/880632
The S/PDIF block's DPLL recovers the clock from the input
bitstream.
Signed-off-by: Alan Tull <alan.tull@freescale.com>
Signed-off-by: Eric Miao <eric.miao@linaro.org>
|
|
through HW
BugLink: http://bugs.launchpad.net/bugs/856933
When recording mono wav, SSI's network mode should be closed, or it will
influence the internal freq config, making recording fail.
Signed-off-by: Lionel Xu <Lionel.Xu@freescale.com>
Signed-off-by: Eric Miao <eric.miao@linaro.org>
|
|
BugLink: http://bugs.launchpad.net/bugs/878701
Adjust to use spin_lock_irqsave()/spin_lock_irqresotre(), so to
make it safe when called from interrupt context.
Signed-off-by: Haitao Zhang <haitao.zhang@linaro.org>
Signed-off-by: Eric Miao <eric.miao@linaro.org>
|
|
if there are two ipu, they will use same pixel look up table.
which will confuse get_clk
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
for driver files.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
for arch/arm/plat-mxc/include/mach/ipu-v3.h
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
for include/linux/ipu.h.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
there is chance channel already quit busy before wait disable
irq in ipu_disable_channel, so add check during irq wait.
this patch also comments f_calc and m_calc fix build warning.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
sometimes update to cpmem may not correct.
make ipu_get_soc more robust.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
keep spin lock for irq function, but use mutex replace other
splin lock to provide better sync method.
Add _ipu_get/put function to check clock enable.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
commit ad19aef4a80094221b1b826185aea924627e8642
ENGR00155140 ipuv3: add support of power suspend/resume
add support of power suspend/resume.
because IPU has issue of restore current buffer register,
this code only work for single buffer mode.
Signed-off-by: Jason Chen <b02280@freescale.com>
|
|
BugLink: http://bugs.launchpad.net/bugs/877165
imx_pcm_new() calls imx_pcm_preallocate_dma_buffer() to allocate dma
buffers according _only_ to cpu_dai parameters, and this is not true.
A better way is to check out both cpu_dai and codec_dai.
Signed-off-by: Eric Miao <eric.miao@linaro.org>
|
|
BugLink: http://bugs.launchpad.net/bugs/855281
Playback/capture rates should be configured before the SPDIF codec
DAI is registered, according to the parameters that passed in by
the platform data. And this caused pulseaudio not working with the
SPDIF sound card.
Signed-off-by: Eric Miao <eric.miao@linaro.org>
|
|
BugLink: http://bugs.launchpad.net/bugs/857057
After adding support for S/PDIF audio output routing to HDMI, the
SGTL5000 became card #1, which was no longer #0, thus making it no
longer the default ALSA card.
imx_sgtl5000_init() doesn't need to be late_initcall(), module_init()
works just all right.
Signed-off-by: Eric Miao <eric.miao@linaro.org>
|
|
BugLink: http://bugs.launchpad.net/bugs/837155
S/PDIF tx and rx using ASoC layer.
Signed-off-by: Alan Tull <alan.tull@freescale.com>
Signed-off-by: Eric Miao <eric.miao@linaro.org>
|
|
BugLink: http://bugs.launchpad.net/bugs/837155
S/PDIF tx and rx using ASoC layer.
Signed-off-by: Alan Tull <alan.tull@freescale.com>
Signed-off-by: Eric Miao <eric.miao@linaro.org>
|
|
BugLink: http://bugs.launchpad.net/bugs/837797
Audio capture not support in 2.6.38 kernel, it is caused
by not setting ssi correctly in clock and sync method.
Original patch: ENGR00154526 MX5x, SSI: audio capture not supported
Signed-off-by: Zeng Zhaoming <b32542@freescale.com>
Signed-off-by: Lionel Xu <Lionel.Xu@freescale.com>
Signed-off-by: Eric Miao <eric.miao@linaro.org>
|
|
BugLink: http://bugs.launchpad.net/bugs/837797
There is no sound in the recorded wav, to enable recording, the VAG
should be powered up, and the mic bias resistor should be setup with
proper value.
Original patch subject: ENGR00156813 MX53 ALSA: Recording no sound
Signed-off-by: Lionel Xu <lionel.xu@freescale.com>
Signed-off-by: Eric Miao <eric.miao@linaro.org>
|
|
Signed-off-by: Eric Miao <eric.miao@linaro.org>
|
|
Linux 2.6.38 kernel bootup slow, it stopped at sdma firmware
loading for about one minute.
It is caused by firmware store on rootfs lib/firmware directory,
while sdma initialization happens before rootfs mounted.
To fix it, we have to build firmware in kernel image.
Signed-off-by: Zeng Zhaoming <b32542@freescale.com>
Signed-off-by: Eric Miao <eric.miao@linaro.org>
|
|
Signed-off-by: Richard Zhu <richard.zhu@linaro.org>
Signed-off-by: Eric Miao <eric.miao@linaro.org>
|