18 Jul, 2014
2 commits
-
Move wl_surface_commit to work thread.
Fix memory leak in wl_egl_window_resize.Date: Jul 10, 2014
Signed-off-by Yong Gan
Acked-by: Jason Liu
(cherry picked from commit c114ec8a4c74fc2a2d0f64c60031c66d2225ff83) -
Vivante patch name:
fix_fsl_2d_base_on_p13.v2.rls.diff-Updated the outstanding request limit to 12.
-Refined the 2D chip feature check.
-Refine the 2D cache flush operation
(avoid FE and PE access memory through the same port).
-Enable cache flush for filterblt.
-Dynamic enabling SPLIT_RECT by checking chip feature(disable for us)
-Use brush stretch blt for clear operation.
-Enable SplitFilterBlit to workaround the 2d hang issue in filterblit case.
-Refine 2d line operation.Date: May 05, 2014
Signed-off-by: Loren Huang
Acked-by: Shawn Guo
(cherry picked from commit 479b9125caefc45451aa1c4a1b7f2704b57831fa)
04 Apr, 2014
1 commit
-
This reverts commit 563931094bf096da2ce6f2cc40387f9e726b3342.
That patch causes wrong blitting and will block GA release
Date: Apr 04, 2014
Signed-off-by: Loren Huang
Acked-by: Shawn Guo
03 Apr, 2014
5 commits
-
During hdmi hotplug test, there's a possibility that X-server unblanks
the frame buffer while HDMI-audio just gets the signal to start playback.
Then audio would get an unblanked state right before the playback and
bypassed the DMA enabling code. So this issue is caused by the race
between unblank and set_cable_state().This patch sets the hdmi cable state a bit earilier so as to let audio
play first. If unblank happens later, the hdmi core and hdmi audio would
be robust enough to handle that case as long as it's not racing with the
other parts.Acked-by: Sandor Yu
Signed-off-by: Nicolin Chen -
After change the pointer, ALSA lib would re-copy the initial data to
DMA buffer because the pointer is pointing the zero position at the
beginning, which results an audiable duplicated playback at the first
eight periods.Even though dropping this patch would cause pointer being incorrectly
estimated. But to maintain the sanity of basic playback, we revert
the previous patch.This reverts commit 5d0d4e1558fa0c235691436e1c5d26d9c8950775.
Acked-by: Wang Shengjiu
Signed-off-by: Nicolin Chen -
eLCDIF did not support stride buffer, check the xres_virtual
in function mxfb_check_var, return false
if the value larger than xres.Signed-off-by: Sandor Yu
-
CAAM depends on the clock used by WEIM interface. This patch supplied by
Haung Shijie corrects the issue by adding the clock as a resource for
the CAAM driver.Signed-off-by: Dan Douglass
-
CAAM depends on the clock used by WEIM interface. This patch supplied by
Haung Shijie corrects the issue by adding the clock to the device tree
entry for CAAM.Signed-off-by: Dan Douglass
02 Apr, 2014
7 commits
-
Commit 14318efb(ARM: 7587/1: implement optimized percpu variable access)
introduces arm's __my_cpu_offset to optimize percpu vaiable access,
which really works well on hackbench, but will cause __my_cpu_offset
to return garbage value before it is initialized in cpu_init() called
by setup_arch, so accessing percpu variable before setup_arch may cause
kernel hang. But generic __my_cpu_offset always returns zero before
percpu area is brought up, and won't hang kernel.So the patch tries to clear __my_cpu_offset on boot CPU early
to avoid boot hang.At least now percpu variable is accessed by lockdep before
setup_arch(), and enabling CONFIG_LOCK_STAT or CONFIG_DEBUG_LOCKDEP
can trigger kernel hang.Signed-off-by: Ming Lei
Signed-off-by: Russell King
(cherry picked from commit 9394c1c65e61eb6f4c1c99f342b49e451ec337b6) -
commit afa31d8eb86fc2f25083e675d57ac8173a98f999 upstream.
The res variable is written before we've finished with the input
operands (namely the lock address), so ensure that we mark it as `early
clobber' to avoid unintended register sharing.Signed-off-by: Will Deacon
Signed-off-by: Russell King
Cc: Wang Weidong
Signed-off-by: Greg Kroah-Hartman -
commit 00efaa0250939dc148e2d3104fb3c18395d24a2d upstream.
Commit 15e7e5c1ebf5 ("ARM: 7749/1: spinlock: retry trylock operation if
strex fails on free lock") modifying our arch_spin_trylock to retry the
acquisition if the lock appeared uncontended, but the strex failed.This patch does the same for rwlocks, which were missed by the original
patch.Signed-off-by: Will Deacon
Signed-off-by: Russell King
Cc: Li Zefan
Signed-off-by: Greg Kroah-Hartman -
commit 15e7e5c1ebf556cd620c9b091e121091ac760f6d upstream.
An exclusive store instruction may fail for reasons other than lock
contention (e.g. a cache eviction during the critical section) so, in
line with other architectures using similar exclusive instructions
(alpha, mips, powerpc), retry the trylock operation if the lock appears
to be free but the strex reported failure.Reported-by: Tony Thompson
Signed-off-by: Will Deacon
Signed-off-by: Russell King
Cc: Li Zefan
Signed-off-by: Greg Kroah-Hartman -
commit 39544ac9df20f73e49fc6b9ac19ff533388c82c0 upstream.
Add DSB after icache flush to complete the cache maintenance operation.
Signed-off-by: Vinayak Kale
Acked-by: Catalin Marinas
Signed-off-by: Russell King
Signed-off-by: Greg Kroah-Hartman -
commit bae0ca2bc550d1ec6a118fb8f2696f18c4da3d8e upstream.
During __v{6,7}_setup, we invalidate the TLBs since we are about to
enable the MMU on return to head.S. Unfortunately, without a subsequent
dsb instruction, the invalidation is not guaranteed to have completed by
the time we write to the sctlr, potentially exposing us to junk/stale
translations cached in the TLB.This patch reworks the init functions so that the dsb used to ensure
completion of cache/predictor maintenance is also used to ensure
completion of the TLB invalidation.Reported-by: Albin Tonnerre
Signed-off-by: Will Deacon
Signed-off-by: Russell King
Signed-off-by: Greg Kroah-Hartman -
Due to incorrect placement of the clock gate cell in the ldb_di[x]_clk tree,
the glitchy parent mux of ldb_di[x]_clk can cause a glitch to enter the
ldb_di_ipu_div divider. If the divider gets locked up, no ldb_di[x]_clk is
generated, and the LVDS display will hang when the ipu_di_clk is sourced from
ldb_di_clk.To fix the problem, both the new and current parent of the ldb_di_clk should
be disabled before the switch. This patch ensures that correct steps are
followed when ldb_di_clk parent is switched in the beginning of boot.Signed-off-by: Ranjani Vaidyanathan
Signed-off-by: Fabio Estevam
01 Apr, 2014
2 commits
-
These are Category B, hence workaround is essential.
Signed-off-by: Nitin Garg
-
This issue happens when multiple thread is trying to idle GPU at the
same time, root cause is some wrong logic related with powerMutex which
cause cpu still access GPU AHB register after GPU is suspend(clock off),
that cause the bus lockup and make the whole system hang.Signed-off-by: Richard Liu
Acked-by: Jason Liu
(cherry picked from commit d48e52700c4177e94695cdbdb480cb38a88a5ddc)
27 Mar, 2014
5 commits
-
We might not be able to get appl_ptr, so we estimated it by using hw_ptr,
while the distance between then should not be 2 * priv->period_bytes
initially but 8 * priv->period_bytes as we pri-filled one entire buffer
size at the beginning. The driver's memory access might be overlapped
with ALSA's buffer updating. So this patch fixes this inaccurate distance.Acked-by: Wang Shengjiu
Signed-off-by: Nicolin Chen -
Use neon data copy function as default to improve data copy performance so that
we can prevent some noise issue happening to HDMI audio due to the performance
issue.Acked-by: Wang Shengjiu
Signed-off-by: Nicolin Chen -
Vivante patch name:
cl17466.17776.rls.lockup.2dhang(clear.blit)-Updated the outstanding request limit to 12.
-Refined the 2D chip feature check.
-Refine the 2D cache flush operation
(avoid FE and PE access memory through the same port).
-Enable cache flush for filterblt.
-Dynamic enabling SPLIT_RECT by checking chip feature(disable for us)
-Use brush stretch blt for clear operation.Date: Mar 26, 2014
Signed-off-by: Loren Huang
Acked-by: Shawn Guo -
2G above address will cause system reboot and fixed in original patch,
error check code is added based on the original logic.Signed-off-by: Xianzhong
Acked-by: Jason Liu
(cherry picked from commit 7d85c98bf781eb047c2000bd82ea7559c24a2446)
(cherry picked from commit 04911cf737a4a40e7914ad94fd58bf92dcfa4a92) -
Set the correct permissions of the fsl_disp_property sysfs entry.
Acked-by: Liu Ying
Signed-off-by: Julien Olivain
(cherry picked from commit 9db2d982c90b6edb3dfebe03a68f50f381bb99bb)
25 Mar, 2014
1 commit
-
The HDMI IP in i.MX6DQ has a bug that it limits the dma period size within 8K.
Patch 'ENGR00300188-1 ASoC: imx-hdmi-dma: Double the buffer and period sizes'
doubled the period size which works great with Dual Lite but broke the HDMI
audio function on DQ. Thus fix it for 6DQ case.Acked-by: Wang Shengjiu
Signed-off-by: Nicolin Chen
21 Mar, 2014
1 commit
-
The optimal resize ratio should be used if the downscaler is not needed. This
will fix a vertical line in the center for some scaling ratios.Signed-off-by: Oliver Brown
18 Mar, 2014
3 commits
-
For HSIC operation at imx6sl, it needs host quirk too.
Signed-off-by: Peter Chen
-
This flag is not only used for mxs phy's bug, but also
for speical routine for other imx host operations.Signed-off-by: Peter Chen
-
This reverts commit 6cf1375d32049b7d852131d232ec97e76535a2e0
in order to avoid system hang access portsc without PHY clock.
See: http://marc.info/?l=linux-arm-kernel&m=139350618732108&w=2Signed-off-by: Peter Chen
17 Mar, 2014
8 commits
-
The mipi csi2 code is ugly present in the capture pipeline setup/disable
routions with '#ifdef CONFIG_MXC_MIPI_CSI2/#endif' protected. Whenever
it finds mipi_csi2_info is not gotten correctly, it will return error to
callers. This breaks the normally routines in which mipi csi2 is not used
and mipi csi2 driver is disabled in its devicetree node(but with the
Kconfig CONFIG_MXC_MIPI_CSI2 defined). A real example is the capture
feature on the MX6 Sabreauto platforms. We have only parallel CSI input
on it and the mipi csi2 driver is disabled in its devicetree node but with
the Kconfig CONFIG_MXC_MIPI_CSI2 defined. So, a reasonable choice at present
is not to return error if mipi_csi2_info cannot be gotten, though we could
eventually re-organize the capture code for a better total solution in the
future.Signed-off-by: Liu Ying
(cherry picked from commit 8133b7fd26e8b068fa8ab9cd62eae090c76080be) -
xserver will read default video mode in command line by sysfs node
/sys/class/graphics/fb0/mode, but the sysfs node is not initialized
when system bootup without hdmi cable plugin
or frame buffer register in blank state.
Fixed:
- Remove unused previous_mode
- Add default_mode, initialize in disp_init function.
- Initialize fbi->mode in disp_init function and hdmi_setup function.Signed-off-by: Sandor Yu
-
commit f8e1a3bb62eecf93a31a51c4dbe08a0214fa1d57 introduced an
annoying kernel log by changing a pure debug info to error level.
This patch reverts that change.Conflicts:
drivers/media/video/mxc/capture/mxc_v4l2_capture.c
Signed-off-by: Liu Ying
(cherry picked from commit b635fadfdff01d0f6112956ac903d80c62fd648b) -
commit f8e1a3bb62eecf93a31a51c4dbe08a0214fa1d57 added a hard
coding for csi_parma.mclk setting to 27MHz. The comment added by
that commit is totally wrong by telling that csi_param.mclk
would be a kind of 'pixel clock' set in 'csi_data_dest' register.
This patch removes the unnecessary mclk setting for csi_param.mclk
variable, since it is only valid for CSI test mode.Conflicts:
drivers/media/video/mxc/capture/mxc_v4l2_capture.c
Signed-off-by: Liu Ying
(cherry picked from commit bb5afd554c50b639f1e1b94481b24f35ae8c4dc5) -
This patch removes test mode clock setting in function
ipu_csi_init_interface(), since the setting is only
necessary for function _ipu_csi_set_test_generator().
This unnecessary setting is added wrongly by commit
f8e1a3bb62eecf93a31a51c4dbe08a0214fa1d57.Signed-off-by: Liu Ying
(cherry picked from commit 0f395a7aecfd2845df384c7a5a0045c86c3a2e20) -
We reversed CCIR code1/2 setting before, which may brings
captured frame quality issue(jaggy edge can be seen). This
patch revert that change.Signed-off-by: Liu Ying
(cherry picked from commit a4c2228f5428af02b9be87114d096340f9b58083) -
As the sabreauto CPU board schematics mentions, the MIPI connector
isn't mechanically compatible with Freescale MIPI display and camera
board, then we have no way to support MIPI features currently on
this platform. So, let's disable MIPI CSI.Signed-off-by: Liu Ying
(cherry picked from commit 453d409281228429270b9f294728e5cad1c63ee0) -
As the sabreauto CPU board schematics mentions, the MIPI connector
isn't mechanically compatible with Freescale MIPI display and camera
board, then we have only the parallel CSI video input that is supported
by the v4l2_cap_0 node. So, let's remove the orphan one - v4l2_cap_1.Signed-off-by: Liu Ying
(cherry picked from commit 1396bc28eac7e968e278a9ce36cdc7a44b0417bd)
14 Mar, 2014
2 commits
-
The following error was reported.
-----------------------------------------------------------
root@imx6qdlsolo:~# /unit_tests/mxc_v4l2_capture.out -d /dev/video1 1.yuv
in_width = 176, in_height = 144
out_width = 176, out_height = 144
top = 0, left = 0
mipi csi2 can not receive sensor clk!
sensor chip is ov5640_mipi_camera
sensor supported frame size:
640x480
320x240
720x480
720x576
1280x720
1920x1080
2592x1944
176x144
1024x768
sensor frame format: UYVY
sensor frame format: UYVY
sensor frame format: UYVY
sensor frame format: UYVY
sensor frame format: UYVY
sensor frame format: UYVY
sensor frame format: UYVY
sensor frame format: UYVY
sensor frame format: UYVY
mipi csi2 can not receive sensor clk!
mxc_v4l2_s_param: vidioc_int_s_parm returned an error -1
VIDIOC_S_PARM failed
get format failed-----------------------------------------------------------
Root cause analysis:
It only happens when HDMI is not used/enabled. There is a clock named
video_27m which are needed by HDMI (as isfrclk's parent) and MIPI-CSI2 (as
cfg_clk's parent). MIPI-CSI2 driver is lack of enabling this clock before
start to work and only happen to work when HDMI driver enables this clock.Signed-off-by: Robby Cai
(cherry picked from commit a6bbc7d56f261ab84e04071487264c6a519df758) -
MIPI CSI2 depends on this clock to work.
This patch also updates the binding document.Signed-off-by: Robby Cai
(cherry picked from commit 67e7963f6f7ddb6c001bb34c6af71f2330fd0e3f)
12 Mar, 2014
1 commit
-
After change the resolution, the blank state will be changed, the audio will
be triggered to start. which didn't care about the audio is running or not
before changing the resolution.
Add hdmi_abort_state for this special case.Signed-off-by: Shengjiu Wang
11 Mar, 2014
2 commits
-
The offset reflects the current position of DMA access in the ALSA ring buffer.
So we should clear it before re-start DMA engine becasue the DMA access should
re-start its job from the 0 position. If we don't do this, the driver might get
a wrong idea about current position of DMA access. Thus fix it.Acked-by: Wang Shengjiu
Signed-off-by: Nicolin Chen
(cherry picked from commit 8f265543ffda0a19e3f469967a7d61d8b344f080) -
We found HDMI Audio has a performance issue when playback 8 channels 192KHz
files, CPU might lag its interrupt responsing while SDMA continues updating
HDMI internal AHB DMA's address and restarting AHB DMA, which resulted the
noise when AHB DMA access overlaps with the data copy procedures in this
driver.Thus we here double the buffer size and period size of HDMI Audio to chop
the CPU interrupt to its half in the same span of time so that we can keep
the data copy procedures safe and provent it from overlapping access with
AHB DMA.Acked-by: Wang Shengjiu
Signed-off-by: Nicolin Chen
(cherry picked from commit 04af1a351e016f52276ae002fd9f64b6b2962168)