Age | Commit message (Collapse) | Author |
|
Use ePxP to do the horizontal/vertical flip and rotation support
Signed-off-by: Robby Cai <R63905@freescale.com>
(cherry picked from commit d0b9c741601b766213af1332329963f4267cd0c6)
|
|
- the root cause is pxp input/output buffer for csi post-processing is
same one, some part of content is overridded.
- use S_CROP ioctl to control crop, S_FMT to control output size.
Signed-off-by: Robby Cai <R63905@freescale.com>
(cherry picked from commit 9f3685ea1cd4e56b5d89bfbaf48920ba862edb49)
|
|
ASRC driver allows users to set channel number via PROC interface,
but only passes the total number equal 10.
This's not reasonable because ASRC can use total number lower than 10
if user assure each of them is an even number.
Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
(cherry picked from commit d76d08c93550cf2de9b1eff569ad6c0928ba122c)
|
|
Set ASRC processing clock 56k/76k with the recommended value from spec.
Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
(cherry picked from commit 0519d385f5ed78f3526b72a211ccf22ac77c102e)
|
|
The pair config code was prolix. Actually the three pair could use the same
part of code with different configurations. So remove the prolix code.
Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
(cherry picked from commit feb58d669633b94f97f111d79f81cb4abf1bf2c1)
|
|
There's already a same section of code above the removed one.
Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
(cherry picked from commit b69af65683f17bfa701fdbb2dd3a93f53dc3503b)
|
|
The old req_pair() constrained that only Pair B could afford 6 channels,
while actually not. So rewrite it to be more flexible.
Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
(cherry picked from commit adbc9dbba6ee46c05c0878a8e3bab118981d62c7)
|
|
Added missing clock and revised the clock map for v2
Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
(cherry picked from commit c7e1b9af10cb579efaf7c4644170f6f8bee401e2)
|
|
The comments for the input/output prescaler and divider were swapped,
so reverse them.
Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
(cherry picked from commit bb6347bc5acb1d59e001063968c18d1056807cf9)
|
|
The offset of output clock prescaler and divider were swapped, so reverse them.
Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <b42378@freescale.com>
(cherry picked from commit 4cda1ac12a8fdef84082212fb8fc5590c6c22fe7)
|
|
Some expiring video buffers may have been rendered to
display triple buffers for display. The relevant triple
buffers are set to be ready and depend on the display
hardware engine to switch them to be active on screen in
turn automatically. So, we need to wait for at least 2
vsyncs to make sure all of the expiring video buffers be
shown on display already.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit f7479db43eb2fa9bdb03c1ce99239a3136345105)
|
|
We hope the queued works can be done before streamoff, since the
works will render expiring video buffers to display. But, the
function cancel_work_sync() cannot guarantee this. Instead, it
may cancel some queued works before they starts to work. This
patch removes the function call cancel_work_sync() when streamoff.
We rely on the function flush_workqueue() right after it to make
sure queued works be done before streamoff.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit d88f6f7eaf3b78e667de46aa355cf366a1142e47)
|
|
Need to add timeout for temperature update, otherwise, if suspend
comes during thermal sensor measurement, its power will be turned
off, and after resume, the delay work thread will never get
finish flag and result in thread forever loop, temperature will
never get updated. And if we wait for the measurement finish before
suspend, the time is too long for suspend, as one single measurement
would take as long as 100ms which is not good for suspend, so just
add a timeout.
Signed-off-by: Anson Huang <b20788@freescale.com>
|
|
Add VPU_IOC_LOCK_DEV to lock VPU device
Signed-off-by: Hongzhang Yang <Hongzhang.Yang@freescale.com>
|
|
Picked from 3.5.7 branch and removed linux version check
Bug: VPU can not playback after driver reload
- To reproduce (if VPU is never powered off)
0. Build VPU driver as a loadable module
1. Playback
2. Unload driver
3. Reload driver
4. Playback
VPU was blocked in vpu_DecGetInitialInfo.
Root cause:
VPU is still alive after unload
Solution:
Reset VPU state before unload
Signed-off-by: Hongzhang Yang <Hongzhang.Yang@freescale.com>
|
|
This patch is rewrited by the patch :
"2ccaef0520d18d0 dma: imx-sdma: make channel0 operations atomic"
device_prep_dma_cyclic may be call in audio trigger function which is
atomic context, so we make it atomic too.
- change channel0 lock to spinlock.
- Use polling to wait for channel0 finish running.
Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
Signed-off-by: Huang Shijie <b32955@freescale.com>
|
|
fix the calculate error.
Signed-off-by: Robin Gong <b38343@freescale.com>
|
|
Enable "CONFIG_DMA_API_DEBUG" in kernel, and system generate
warning when run up.
WARNING:
/home/b29397/work/projects/linux-2.6-imx/lib/dma-debug.c:865
check_unmap+0x6f8/0x7d8()
net eth0: DMA-API: device driver tries to free DMA memory it
has not allocated [device address=0x00000000443d7040] [size=2048]
[<80025f60>] (warn_slowpath_common+0x0/0x6c) from [<80026070>]
(warn_slowpath_fmt+0x38/0x40) r9:00000000 r8:00000800 r7:807bfb0c
r6:807a3d48 r5:00000000
It is dma memory map/unmap mismatch issue caused by kernel upgrade.
Signed-off-by: Fugang Duan <B38611@freescale.com>
|
|
Correct bytes per pixel for the Y444 pixel format.
Signed-off-by: Oliver Brown <oliver.brown@freescale.com>
|
|
When HDMI cable plugin, the frame buffer driver will print error
message "can't do pan display when fb is blank", it is cause by
sii902x driver call fb_set_var after fb power down.
sii902x driver should not mangement fb blank state, it should only
care its own power state.
Remove fb_blank function and replace it
with sii902x power management function.
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
Correct HSYNC_PERIOD, VSYNC_PERIOD, HORIZONTAL_WAIT_CNT and
VERTICAL_WAIT_CNT setting.
In MX6SL RM, these parmeters define as followed:
- HSYNC_PERIOD: Total number of CLK_DIS_LCDIFn cycles between
two positive or two negative edges of the HSYNC signal.
- VSYNC_PERIOD: Total number of units between two positive
or two negative edges of the VSYNC signal.
- HORIZONTAL_WAIT_CNT:In the DOTCLK mode, wait for this number
of clocks from falling edge (or rising if HSYNC_POL is 1) of HSYNC
signal to account for horizontal back porch plus the number of
DOTCLKs before the moving picture information begins.
- VERTICAL_WAIT_CNT: In the DOTCLK mode, it accounts for
the veritcal back porch lines plus the number of horizontal lines
before the moving picture begins.
After apply the patch, run HDMI CTS with video mode 480p,720p and 1080p
test case 7-16~7-19, 7-21~7-27 and 7-33 pass.
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
Remove suspend/resume function in i2c driver struct.
Sii902x power management function have implemented by fb interface.
Signed-off-by: Sandor Yu <R01008@freescale.com>
|
|
The patch include HDMI HDCP patch kernel part:
- Add HDMI DDC pin config function.
- Add HDCP enable/disable system file.
- Read EDID via HDMI internal I2C when HDCP enable.
- Add hdcp_enable in the struct of hdmi_data_info.
- Handle HDCP interrupter and set device event
when HDCP state changed.
- Add IOCTL for HDCP application to get HDMI configuration.
Signed-off-by: Sandor <R01008@freescale.com>
|
|
Regarding to the following community commit, remove all the boot
partition access codes added before.
-
371a689f64b0da140c3bcd3f55305ffa1c3a58ef
mmc: MMC boot partitions support.
Allows device MMC boot partitions to be accessed. MMC partitions are
treated effectively as separate block devices on the same MMC card.
-
Boot partition access howto:
-
To enable write access to /dev/mmcblkXbootY, disable the forced
read-only access with:
echo 0 > /sys/block/mmcblkXbootY/force_ro
To re-enable read-only access:
echo 1 > /sys/block/mmcblkXbootY/force_ro
-
Signed-off-by: Richard Zhu <r65037@freescale.com>
|
|
This patch will do the following:
1. For mlb will not be able to know whether the final package is
completely sent, add a delay for final package to be sent.
2. Adjust MLB's iram buffer usage. Old code will add addtional
usage of iram buffer.
3. Code format change.
4. In resume function, calling init function after clock is enabled.
Signed-off-by: Terry Lv <r65388@freescale.com>
|
|
This patch disables framebuffer ywrap flag when we enable overlay,
because the display double buffers are not ywrapped. This may avoid
wrong preview pictures on platforms which use NV12 pixel format for
overlay framebuffer.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
|
|
The clock needs to be off if probe fails.
Signed-off-by: Peter Chen <peter.chen@freescale.com>
|
|
It is the same issue with ENGR00217721, and it is also needed
for normal usb case.
Signed-off-by: Peter Chen <peter.chen@freescale.com>
|
|
add ecb(aes) support for caam algorithm, the caam H/W
support both ecb and cbc, add the algorithm into template.
Signed-off-by: Zhang Jiejing <jiejing.zhang@freescale.com>
|
|
This patch fix the CAAM support for Crypto User Space API support.
in the dma_map_sg_chained() function, the chained mode will loop
until the scatter list end, but when the scatter list end, it will
return null and orignal code will set this to the sg list point
used by dma_sync, so it will panic.
When do chain dma, use a tmp do going through the list.
Signed-off-by Zhang Jiejing <jiejing.zhang@freescale.com>
|
|
sdma: bd is bufferable dma buffer, interrupt handler can not get correct
data after sdma script updated. Which will cause there is no interrupt
after failed period number times in the interrupt handler.
This is a workaround.
Signed-off-by: b02247 <b02247@freescale.com>
|
|
Applied patch from customer to prevent DMA memory
fragmentation. Customer reported system crashes due to running out of
DMA-able memory while playing videos. Reported in CT42391649.
Signed-off-by: Jay Monkman <jay.monkman@freescale.com>
|
|
We currently call cancel_work_sync() to have all left work be done. But,
this is not safe to make sure all left work being done successfully.
Instead, chances are that some work may be cancelled before starting
to be done, which may cause frame lost and make us hang at upcoming
wait_event_interruptible() in videobuf_waiton() called from video buffer
core v1 framework's dqbuf API. This patch replaces the function
call cancel_work_sync() with flush_workqueue() to fix the issue.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
|
|
Users may call VIDIOC_S_CTRL ioctrl to do rotation, such as 90 degree
rotation, when a video is streaming in IC bypass mode. The runtime
rotation setting may make the vout driver lose the track for a previous
video buffer and finally cause the streaming hang. This patch releases
that video buffer in this case and invalidates previous video buffers
when necessary.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
|
|
Add global value gpu3DMinClock so that minimum 3D clock can be change by user.
When gpu min clock is too low, it may cause IPU starvation issue in certain case.
Use echo x > /sys/module/galcore/parameters/gpu3DMinClock to change it.
Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Lily Zhang
|
|
-Remove the __devinit for suspend/resume function.
-Replace __devinit to __devexit for remove function.
Cherry-pick from 3.5.7 branch.
Signed-off-by: Loren HUANG <b02279@freescale.com>
Acked-by: Lily Zhang
|
|
Fix interger overflow and check for invalid zero divider parameter
Signed-off-by: Wayne Zou <b36644@freescale.com>
|
|
Integrate 4.6.9p12 release kernel part code.
Signed-off-by: Loren Huang <b02279@freescale.com>
Acked-by: Lily Zhang
|
|
After enabling runtime pm the suspend/resume entry is changed.
-Add new entry for suspend/resume in runtime pm frame work.
-Add static define for all runtime pm function.
Cherry-pick from 3.5.7 kernel branch.
Signed-off-by: Loren HUANG <b02279@freescale.com>
Acked-by: Lily Zhang
|
|
To avoid NULL interrupt handler being called potentially in the
IPU sync interrupt source handler, this patch adds sanity check
on NULL interrupt handler in the function ipu_request_irq() for
sync interrupts because the callers are likely to request a sync
interrupt without specifying a handler. The error interrupts can
still be enabled by this function without this kind of sanity
check since we simply print out the relevant error interrupt
register values in the IPU error interrupt source's handler.
This patch also corrects _ipu_get() and _ipu_put() function call
in the function ipu_request_irq() to make them be called in pair
when handler has already been registered.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
|
|
To avoid NULL interrupt handler being called potentially in the
IPU sync interrupt source handler, this patch adds sanity check
on NULL interrupt handler in the function ipu_enable_irq() before
the relevant interrupt is enabled in the sync interrupt registers.
The error interrupts can still be enabled by this function without
this kind of sanity check since we simply print out the relevant
error interrupt register values in the IPU error interrupt source's
handler. This patch also makes the function return error code to
it's callers if any error happens.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
|
|
Store SDMA channel and buffer descriptors in IRAM for MX6SL.
This will improve the audio playback power when both the
SDMA and audio buffers are all in IRAM. The DDR will be
self-refresh for longer periods of time.
Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
|
|
fix system hang when thumbnail or playback interlace clips
Signed-off-by: Richard Liu <r66033@freescale.com>
|
|
Remove gpu_regulator since 3.5.7 doesn't need it.
Cherry-pick from 3.5.7 branch.
Signed-off-by: Loren HUANG <b02279@freescale.com>
Acked-by: Lily Zhang
|
|
use new PU power on/off interface in GPU driver
Cherry-pick from 3.5.7 branch.
Signed-off-by: Robin Gong <b38343@freescale.com>
Acked-by: Lily Zhang
|
|
There could be two v4l2 internal master devices with the same name in
the system if the name is in 'mxc_v4l2_cap<csi>' fashion, since there
are two IPUs embedded in i.MX6Q and each IPU has two CSI ports. This
patch changes the name to be in 'mxc_v4l2_cap<pdev->id>' fashion to
fix the naming issue.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
|
|
This patch adds basic 16-bit generic data support for SMFC channel.
Although we didn't verify capturing frames with 16-bit generic
data, this could be a good starting point for developers to go on
with.
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
|
|
Fix potential uninitialized variable in split mode
Signed-off-by: Tristan Lelong <b44337@freescale.com>
Signed-off-by: Wayne Zou <b36644@freescale.com>
|
|
Check invalid parameters for frame width or frame height,
which might be equal to zero.
Signed-off-by: Wayne Zou <b36644@freescale.com>
|
|
Since we move the debounce time into get the PHY out
of low power mode function(f1ac6159, ENGR00261451-3:
mx6-msl: usb: add debounce time for otgsc value),
usb_debounce_id_vbus is useless now.
Signed-off-by: Peter Chen <peter.chen@freescale.com>
|