1. 25 Jul, 2014 4 commits
  2. 22 Jul, 2014 1 commit
  3. 21 Jul, 2014 1 commit
  4. 15 Jul, 2014 22 commits
  5. 14 Jul, 2014 6 commits
    • Geert Uytterhoeven's avatar
      dmaengine: Update documentation for inline wrappers · 96cb9898
      Geert Uytterhoeven authored
      During the last few years, several inline wrappers for DMA operations have
      been introduced:
        - commit 16052827 ("dmaengine/dma_slave:
          introduce inline wrappers"),
        - commit a14acb4a ("DMAEngine: add
          dmaengine_prep_interleaved_dma wrapper for interleaved api"),
        - commit 6e3ecaf0 ("dmaengine: add
          wrapper functions for device control functions").
      
      Update the documentation to use the wrappers.
      Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
      96cb9898
    • Joe Perches's avatar
      dmaengine: Use dma_zalloc_coherent · 9f92d223
      Joe Perches authored
      Use the zeroing function instead of dma_alloc_coherent & memset(,0,)
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
      9f92d223
    • Andy Gross's avatar
      dmaengine: qcom_bam_dma: Add descriptor flags · 89751d0a
      Andy Gross authored
      This patch adds support for end of transaction (EOT) and notify when done (NWD)
      hardware descriptor flags.
      
      The EOT flag requests that the peripheral assert an end of transaction interrupt
      when that descriptor is complete.  It also results in special signaling protocol
      that is used between the attached peripheral and the core using the DMA
      controller.  Clients will specify DMA_PREP_INTERRUPT to enable this flag.
      
      The NWD flag requests that the peripheral wait until the data has been fully
      processed by the peripheral before moving on to the next descriptor.  Clients
      will specify DMA_PREP_FENCE to enable this flag.
      Signed-off-by: default avatarAndy Gross <agross@codeaurora.org>
      Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
      89751d0a
    • Hongbo Zhang's avatar
      dmaengine: Freescale: change descriptor release process for supporting async_tx · 43452fad
      Hongbo Zhang authored
      Fix the potential risk when enable config NET_DMA and ASYNC_TX. Async_tx is
      lack of support in current release process of dma descriptor, all descriptors
      will be released whatever is acked or no-acked by async_tx, so there is a
      potential race condition when dma engine is uesd by others clients (e.g. when
      enable NET_DMA to offload TCP).
      
      In our case, a race condition which is raised when use both of talitos and
      dmaengine to offload xor is because napi scheduler will sync all pending
      requests in dma channels, it affects the process of raid operations due to
      ack_tx is not checked in fsl dma. The no-acked descriptor is freed which is
      submitted just now, as a dependent tx, this freed descriptor trigger
      BUG_ON(async_tx_test_ack(depend_tx)) in async_tx_submit().
      
      TASK = ee1a94a0[1390] 'md0_raid5' THREAD: ecf40000 CPU: 0
      GPR00: 00000001 ecf41ca0 ee44/921a94a0 0000003f 00000001 c00593e4 00000000 00000001
      GPR08: 00000000 a7a7a7a7 00000001 045/920000002 42028042 100a38d4 ed576d98 00000000
      GPR16: ed5a11b0 00000000 2b162000 00000200 046/920000000 2d555000 ed3015e8 c15a7aa0
      GPR24: 00000000 c155fc40 00000000 ecb63220 ecf41d28 e47/92f640bb0 ef640c30 ecf41ca0
      NIP [c02b048c] async_tx_submit+0x6c/0x2b4
      LR [c02b068c] async_tx_submit+0x26c/0x2b4
      Call Trace:
      [ecf41ca0] [c02b068c] async_tx_submit+0x26c/0x2b448/92 (unreliable)
      [ecf41cd0] [c02b0a4c] async_memcpy+0x240/0x25c
      [ecf41d20] [c0421064] async_copy_data+0xa0/0x17c
      [ecf41d70] [c0421cf4] __raid_run_ops+0x874/0xe10
      [ecf41df0] [c0426ee4] handle_stripe+0x820/0x25e8
      [ecf41e90] [c0429080] raid5d+0x3d4/0x5b4
      [ecf41f40] [c04329b8] md_thread+0x138/0x16c
      [ecf41f90] [c008277c] kthread+0x8c/0x90
      [ecf41ff0] [c0011630] kernel_thread+0x4c/0x68
      
      Another modification in this patch is the change of completed descriptors,
      there is a potential risk which caused by exception interrupt, all descriptors
      in ld_running list are seemed completed when an interrupt raised, it works fine
      under normal condition, but if there is an exception occured, it cannot work as
      our excepted. Hardware should not be depend on s/w list, the right way is to
      read current descriptor address register to find the last completed descriptor.
      If an interrupt is raised by an error, all descriptors in ld_running should not
      be seemed finished, or these unfinished descriptors in ld_running will be
      released wrongly.
      
      A simple way to reproduce:
      Enable dmatest first, then insert some bad descriptors which can trigger
      Programming Error interrupts before the good descriptors. Last, the good
      descriptors will be freed before they are processsed because of the exception
      intrerrupt.
      
      Note: the bad descriptors are only for simulating an exception interrupt.  This
      case can illustrate the potential risk in current fsl-dma very well.
      Signed-off-by: default avatarHongbo Zhang <hongbo.zhang@freescale.com>
      Signed-off-by: default avatarQiang Liu <qiang.liu@freescale.com>
      Signed-off-by: default avatarIra W. Snyder <iws@ovro.caltech.edu>
      Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
      43452fad
    • Hongbo Zhang's avatar
      dmaengine: Freescale: add suspend resume functions for DMA driver · 14c6a333
      Hongbo Zhang authored
      This patch adds suspend and resume functions for Freescale DMA driver.
      Signed-off-by: default avatarHongbo Zhang <hongbo.zhang@freescale.com>
      Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
      14c6a333
    • Hongbo Zhang's avatar
      dmaengine: Freescale: use spin_lock_bh instead of spin_lock_irqsave · 2baff570
      Hongbo Zhang authored
      The usage of spin_lock_irqsave() is a stronger locking mechanism than is
      required throughout the driver. The minimum locking required should be used
      instead. Interrupts will be turned off and context will be saved, it is
      unnecessary to use irqsave.
      
      This patch changes all instances of spin_lock_irqsave() to spin_lock_bh(). All
      manipulation of protected fields is done using tasklet context or weaker, which
      makes spin_lock_bh() the correct choice.
      Signed-off-by: default avatarHongbo Zhang <hongbo.zhang@freescale.com>
      Signed-off-by: default avatarQiang Liu <qiang.liu@freescale.com>
      Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
      2baff570
  6. 13 Jul, 2014 6 commits
    • Linus Torvalds's avatar
      Linux 3.16-rc5 · 1795cd9b
      Linus Torvalds authored
      1795cd9b
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 18b34d9a
      Linus Torvalds authored
      Pull ext4 bugfixes from Ted Ts'o:
       "More bug fixes for ext4 -- most importantly, a fix for a bug
        introduced in 3.15 that can end up triggering a file system corruption
        error after a journal replay.
      
        It shouldn't lead to any actual data corruption, but it is scary and
        can force file systems to be remounted read-only, etc"
      
      * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: fix potential null pointer dereference in ext4_free_inode
        ext4: fix a potential deadlock in __ext4_es_shrink()
        ext4: revert commit which was causing fs corruption after journal replays
        ext4: disable synchronous transaction batching if max_batch_time==0
        ext4: clarify ext4_error message in ext4_mb_generate_buddy_error()
        ext4: clarify error count warning messages
        ext4: fix unjournalled bg descriptor while initializing inode bitmap
      18b34d9a
    • Linus Torvalds's avatar
      Merge tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mike.turquette/linux · 502fde1a
      Linus Torvalds authored
      Pull clock driver fixes from Mike Turquette:
       "This batch of fixes is for a handful of clock drivers from Allwinner,
        Samsung, ST & TI.  Most of them are of the "this hardware won't work
        without this fix" variety, including patches that fix platforms that
        did not boot under certain configurations.  Other fixes are the result
        of changes to the clock core introduced in 3.15 that had subtle
        impacts on the clock drivers.
      
        There are no fixes to the clock framework core in this pull request"
      
      * tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mike.turquette/linux:
        clk: spear3xx: Set proper clock parent of uart1/2
        clk: spear3xx: Use proper control register offset
        clk: qcom: HDMI source sel is 3 not 2
        clk: sunxi: fix devm_ioremap_resource error detection code
        clk: s2mps11: Fix double free corruption during driver unbind
        clk: ti: am43x: Fix boot with CONFIG_SOC_AM33XX disabled
        clk: exynos5420: Remove aclk66_peric from the clock tree description
        clk/exynos5250: fix bit number for tv sysmmu clock
        clk: s3c64xx: Hookup SPI clocks correctly
        clk: samsung: exynos4: Remove SRC_MASK_ISP gates
        clk: samsung: add more aliases for s3c24xx
        clk: samsung: fix several typos to fix boot on s3c2410
        clk: ti: set CLK_SET_RATE_NO_REPARENT for ti,mux-clock
        clk: ti: am43x: Fix boot with CONFIG_SOC_AM33XX disabled
        clk: ti: dra7: return error code in failure case
        clk: ti: apll: not allocating enough data
      502fde1a
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 2f3870e9
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "This week's arm-soc fixes:
      
         - Another set of OMAP fixes
           * Clock fixes
           * Restart handling
           * PHY regulators
           * SATA hwmod data for DRA7
           + Some trivial fixes and removal of a bit of dead code
         - Exynos fixes
           * A bunch of clock fixes
           * Some SMP fixes
           * Exynos multi-core timer: register as clocksource and fix ftrace.
           + a few other minor fixes
      
        There's also a couple more patches, and at91 fix for USB caused by
        common clock conversion, and more MAINTAINERS entries for shmobile.
      
        We're definitely switching to only regression fixes from here on out,
        we've been a little less strict than usual up until now"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (26 commits)
        ARM: at91: at91sam9x5: add clocks for usb device
        ARM: EXYNOS: Register cpuidle device only on exynos4210 and 5250
        ARM: dts: Add clock property for mfc_pd in exynos5420
        clk: exynos5420: Add IDs for clocks used in PD mfc
        ARM: EXYNOS: Add support for clock handling in power domain
        ARM: OMAP2+: Remove non working OMAP HDMI audio initialization
        ARM: imx: fix shared gate clock
        ARM: dts: Update the parent for Audss clocks in Exynos5420
        ARM: EXYNOS: Update secondary boot addr for secure mode
        ARM: dts: Fix TI CPSW Phy mode selection on IGEP COM AQUILA.
        ARM: dts: am335x-evmsk: Enable the McASP FIFO for audio
        ARM: dts: am335x-evm: Enable the McASP FIFO for audio
        ARM: OMAP2+: Make GPMC skip disabled devices
        ARM: OMAP2+: create dsp device only on OMAP3 SoCs
        ARM: dts: dra7-evm: Make VDDA_1V8_PHY supply always on
        ARM: DRA7/AM43XX: fix header definition for omap44xx_restart
        ARM: OMAP2+: clock/dpll: fix _dpll_test_fint arithmetics overflow
        ARM: DRA7: hwmod: Add SYSCONFIG for usb_otg_ss
        ARM: DRA7: hwmod: Fixup SATA hwmod
        ARM: OMAP3: PRM/CM: Add back macros used by TI DSP/Bridge driver
        ...
      2f3870e9
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · 5fa77b54
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       "Another round of fixes for ARM:
         - a set of kprobes fixes from Jon Medhurst
         - fix the revision checking for the L2 cache which wasn't noticed to
           have been broken"
      
      * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        ARM: l2c: fix revision checking
        ARM: kprobes: Fix test code compilation errors for ARMv4 targets
        ARM: kprobes: Disallow instructions with PC and register specified shift
        ARM: kprobes: Prevent known test failures stopping other tests running
      5fa77b54
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 33fe3aee
      Linus Torvalds authored
      Pull m68k fixes from Geert Uytterhoeven:
       "Summary:
        - Fix for a boot regression introduced in v3.16-rc1,
        - Fix for a build issue in -next"
      
      Christoph Hellwig questioned why mach_random_get_entropy should be
      exported to modules, and Geert explains that random_get_entropy() is
      called by at least the crypto layer and ends up using it on m68k.  On
      most other architectures it just uses get_cycles() (which is typically
      inlined and doesn't need exporting),
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: Export mach_random_get_entropy to modules
        m68k: Fix boot regression on machines with RAM at non-zero
      33fe3aee