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)

    Loren Huang
     
  • 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)

    Loren Huang
     

04 Apr, 2014

1 commit


03 Apr, 2014

5 commits


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)

    Ming Lei
     
  • 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

    Will Deacon
     
  • 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

    Will Deacon
     
  • 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

    Will Deacon
     
  • 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

    Vinayak Kale
     
  • 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

    Will Deacon
     
  • 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

    Ranjani Vaidyanathan
     

01 Apr, 2014

2 commits


27 Mar, 2014

5 commits


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

    Nicolin Chen
     

21 Mar, 2014

1 commit


18 Mar, 2014

3 commits


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)

    Liu Ying
     
  • 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

    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)

    Liu Ying
     
  • 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)

    Liu Ying
     
  • 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)

    Liu Ying
     
  • 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)

    Liu Ying
     
  • 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)

    Liu Ying
     
  • 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)

    Liu Ying
     

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)

    Robby Cai
     
  • 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)

    Robby Cai
     

12 Mar, 2014

1 commit


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)

    Nicolin Chen
     
  • 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)

    Nicolin Chen