1. 17 Nov, 2014 5 commits
    • Archit Taneja's avatar
      dmaengine: qcom_bam_dma: Generalize BAM register offset calculations · fb93f520
      Archit Taneja authored
      The BAM DMA IP comes in different versions. The register offset layout varies
      among these versions. The layouts depend on which generation/family of SoCs they
      belong to.
      
      The current SoCs(like 8084, 8074) have a layout where the Top level registers
      come in the beginning of the address range, followed by pipe and event
      registers. The BAM revision numbers fall above 1.4.0.
      
      The older SoCs (like 8064, 8960) have a layout where the pipe registers come
      first, and the top level come later. These have BAM revision numbers lesser than
      1.4.0.
      
      It isn't suitable to have macros provide the register offsets with the layouts
      changed. Future BAM revisions may have different register layouts too. The
      register addresses are now calculated by referring a table which contains a base
      offset and multipliers for pipe/evnt/ee registers.
      
      We have a common function bam_addr() which computes addresses for all the
      registers. When computing address of top level/ee registers, we pass 0 to the
      pipe argument in addr() since they don't have any multiple instances.
      
      Some of the unused register definitions are removed. We can add new registers as
      we need them.
      Reviewed-by: default avatarKumar Gala <galak@codeaurora.org>
      Reviewed-by: default avatarAndy Gross <agross@codeaurora.org>
      Signed-off-by: default avatarArchit Taneja <architt@codeaurora.org>
      Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
      fb93f520
    • Chen-Yu Tsai's avatar
      dmaengine: sun6i: Add support for Allwinner A23 (sun8i) variant · 0b04ddf8
      Chen-Yu Tsai authored
      The A23 SoC has the same dma engine as the A31 (sun6i), with a
      reduced amount of endpoints and physical channels. Add the proper
      config data and compatible string to support it.
      
      A slight difference in sun8i is an undocumented register needs
      to be toggled for dma to function.
      Signed-off-by: default avatarChen-Yu Tsai <wens@csie.org>
      Acked-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
      Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
      0b04ddf8
    • Chen-Yu Tsai's avatar
      dmaengine: sun6i: support parameterized compatible strings · 25a37c2f
      Chen-Yu Tsai authored
      This patch adds support for hardware parameters tied to compatible
      strings, so similar hardware can reuse the driver.
      Signed-off-by: default avatarChen-Yu Tsai <wens@csie.org>
      Acked-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
      Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
      25a37c2f
    • Jingoo Han's avatar
      dma: imx-sdma: remove incorrect __init annotation from sdma_init() · 19bfc772
      Jingoo Han authored
      When platform_driver_probe() is not used, sdma_probe() can be called
      by bind/unbind via sysfs. In addition, sdma_init() can be called by
      sdma_probe(). Thus, __init annotation should be removed from sdma_init(),
      Also, this patch fixes section mismatch warning.
      
      WARNING: drivers/dma/built-in.o(.text+0xd6e4): Section mismatch in reference from the function sdma_probe() to the function
      .init.text:sdma_init()
      The function sdma_probe() references
      the function __init sdma_init().
      This is often because sdma_probe lacks a __init
      annotation or the annotation of sdma_init is wrong.
      Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
      Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
      19bfc772
    • Andrew Jackson's avatar
      dmaengine: pl330: Correct device assignment. · cee42392
      Andrew Jackson authored
      Commit f6f2421c removed pl330_info structure by embedding it into
      pl330_dmac structure, but did not ensure that the dmac->ddma.dev
      pointer gets initialised before use. When dma_alloc_coherent() gets
      called on arm64 a WARN() gets triggered due to dev being NULL.
      
      ------------[ cut here ]------------
      WARNING: CPU: 1 PID: 1 at arch/arm64/mm/dma-mapping.c:49 __dma_alloc_coherent+0xd0/0xe0()
      Use an actual device structure for DMA allocation
      Modules linked in:
      CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.17.0+ #5
      Call trace:
      [<ffffffc000087f24>] dump_backtrace+0x0/0x130
      [<ffffffc000088064>] show_stack+0x10/0x1c
      [<ffffffc0004e8af8>] dump_stack+0x74/0xb8
      [<ffffffc0000aa444>] warn_slowpath_common+0x8c/0xb4
      [<ffffffc0000aa4b8>] warn_slowpath_fmt+0x4c/0x58
      [<ffffffc000092580>] __dma_alloc_coherent+0xcc/0xe0
      [<ffffffc000092734>] __dma_alloc_noncoherent+0x64/0x158
      [<ffffffc000312cd8>] pl330_probe+0x650/0x8f0
      [<ffffffc00030e1d4>] amba_probe+0xa0/0xc8
      [<ffffffc000350240>] really_probe+0xc4/0x22c
      [<ffffffc0003504b4>] __driver_attach+0xa0/0xa8
      [<ffffffc00034e5fc>] bus_for_each_dev+0x54/0x98
      [<ffffffc00034fd8c>] driver_attach+0x1c/0x28
      [<ffffffc00034fa08>] bus_add_driver+0x14c/0x204
      [<ffffffc000350b84>] driver_register+0x64/0x130
      [<ffffffc00030dcf8>] amba_driver_register+0x50/0x5c
      [<ffffffc0006a60d0>] pl330_driver_init+0x10/0x1c
      [<ffffffc0000814ac>] do_one_initcall+0x88/0x19c
      [<ffffffc00068dab8>] kernel_init_freeable+0x140/0x1e0
      [<ffffffc0004e5e18>] kernel_init+0x10/0xd4
      ---[ end trace 76f2d47a444e523e ]---
      (NULL device *): dmac_alloc_resources:1821 Can't allocate memory!
      (NULL device *): Unable to create channels for DMAC
      
      This patch will also ensure that any dev_err messages are printed
      with the appropriate device name.
      Signed-off-by: default avatarLiviu Dudau <Liviu.Dudau@arm.com>
      Signed-off-by: default avatarAndrew Jackson <Andrew.Jackson@arm.com>
      Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
      cee42392
  2. 06 Nov, 2014 22 commits
  3. 02 Nov, 2014 13 commits
    • Linus Torvalds's avatar
      Linux 3.18-rc3 · 0df1f248
      Linus Torvalds authored
      0df1f248
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20141102' of git://git.infradead.org/linux-mtd · 81d92dc1
      Linus Torvalds authored
      Pull MTD fixes from Brian Norris:
       "Three main MTD fixes for 3.18:
      
         - A regression from 3.16 which was noticed in 3.17.  With the
           restructuring of the m25p80.c driver and the SPI NOR library
           framework, we omitted proper listing of the SPI device IDs.  This
           means m25p80.c wouldn't auto-load (modprobe) properly when built as
           a module.  For now, we duplicate the device IDs into both modules.
      
         - The OMAP / ELM modules were depending on an implicit link ordering.
           Use deferred probing so that the new link order (in 3.18-rc) can
           still allow for successful probing.
      
         - Fix suspend/resume support for LH28F640BF NOR flash"
      
      * tag 'for-linus-20141102' of git://git.infradead.org/linux-mtd:
        mtd: cfi_cmdset_0001.c: fix resume for LH28F640BF chips
        mtd: omap: fix mtd devices not showing up
        mtd: m25p80,spi-nor: Fix module aliases for m25p80
        mtd: spi-nor: make spi_nor_scan() take a chip type name, not spi_device_id
        mtd: m25p80: get rid of spi_get_device_id
      81d92dc1
    • Linus Torvalds's avatar
      Merge tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · ad2be379
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "This is a set of six patches consisting of:
         - two MAINTAINER updates
         - two scsi-mq fixs for the old parallel interface (not every request
           is tagged and we need to set the right flags to populate the SPI
           tag message)
         - a fix for a memory leak in scatterlist traversal caused by a
           preallocation update in 3.17
         - an ipv6 fix for cxgbi"
      
      [ The scatterlist fix also came in separately through the block layer tree ]
      
      * tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        MAINTAINERS: ufs - remove self
        MAINTAINERS: change hpsa and cciss maintainer
        libcxgbi : support ipv6 address host_param
        scsi: set REQ_QUEUE for the blk-mq case
        Revert "block: all blk-mq requests are tagged"
        lib/scatterlist: fix memory leak with scsi-mq
      ad2be379
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 12267166
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Nothing too astounding or major: radeon, i915, vmwgfx, armada and
        exynos.
      
        Biggest ones:
         - vmwgfx has one big locking regression fix
         - i915 has come displayport fixes
         - radeon has some stability and a memory alloc failure
         - armada and exynos have some vblank fixes"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (24 commits)
        drm/exynos: correct connector->dpms field before resuming
        drm/exynos: enable vblank after DPMS on
        drm/exynos: init kms poll at the end of initialization
        drm/exynos: propagate plane initialization errors
        drm/exynos: vidi: fix build warning
        drm/exynos: remove explicit encoder/connector de-initialization
        drm/exynos: init vblank with real number of crtcs
        drm/vmwgfx: Filter out modes those cannot be supported by the current VRAM size.
        drm/vmwgfx: Fix hash key computation
        drm/vmwgfx: fix lock breakage
        drm/i915/dp: only use training pattern 3 on platforms that support it
        drm/radeon: remove some buggy dead code
        drm/i915: Ignore VBT backlight check on Macbook 2, 1
        drm/radeon: remove invalid pci id
        drm/radeon: dpm fixes for asrock systems
        radeon: clean up coding style differences in radeon_get_bios()
        drm/radeon: Use drm_malloc_ab instead of kmalloc_array
        drm/radeon/dpm: disable ulv support on SI
        drm/i915: Fix GMBUSFREQ on vlv/chv
        drm/i915: Ignore long hpds on eDP ports
        ...
      12267166
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · 3c43de0f
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       - add the new bpf syscall to ARM.
       - drop a redundant return statement in __iommu_alloc_remap()
       - fix a performance issue noticed by Thomas Petazzoni with
         kmap_atomic().
       - fix an issue with the L2 cache OF parsing code which caused it to
         incorrectly print warnings on each boot, and make the warning text
         more consistent with the rest of the code
      
      * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        ARM: 8180/1: mm: implement no-highmem fast path in kmap_atomic_pfn()
        ARM: 8183/1: l2c: Improve l2c310_of_parse() error message
        ARM: 8181/1: Drop extra return statement
        ARM: 8182/1: l2c: Make l2x0_cache_size_of_parse() return 'int'
        ARM: enable bpf syscall
      3c43de0f
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 7501a533
      Linus Torvalds authored
      Pull kvm fixes from Paolo Bonzini:
       "A small set of x86 fixes.  The most serious is an SRCU lockdep fix.
      
        A bit late - needed some time to test the SRCU fix, which only came in
        on Friday"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: vmx: defer load of APIC access page address during reset
        KVM: nVMX: Disable preemption while reading from shadow VMCS
        KVM: x86: Fix far-jump to non-canonical check
        KVM: emulator: fix execution close to the segment limit
        KVM: emulator: fix error code for __linearize
      7501a533
    • Dave Airlie's avatar
      Merge branch 'exynos-drm-fixes' of... · 66338fee
      Dave Airlie authored
      Merge branch 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-fixes
      
      This pull-request includes some bug fixes and code cleanups.
      Especially, this fixes the bind failure issue occurred when it tries
      to re-bind Exynos drm driver after unbound, and the modetest failure
      issue incurred by not having a pair to vblank on and off requests.
      
      * 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos:
        drm/exynos: correct connector->dpms field before resuming
        drm/exynos: enable vblank after DPMS on
        drm/exynos: init kms poll at the end of initialization
        drm/exynos: propagate plane initialization errors
        drm/exynos: vidi: fix build warning
        drm/exynos: remove explicit encoder/connector de-initialization
        drm/exynos: init vblank with real number of crtcs
      66338fee
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 7e05b807
      Linus Torvalds authored
      Pull VFS fixes from Al Viro:
       "A bunch of assorted fixes, most of them followups to overlayfs merge"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        ovl: initialize ->is_cursor
        Return short read or 0 at end of a raw device, not EIO
        isofs: don't bother with ->d_op for normal case
        isofs_cmp(): we'll never see a dentry for . or ..
        overlayfs: fix lockdep misannotation
        ovl: fix check for cursor
        overlayfs: barriers for opening upper-layer directory
        rcu: Provide counterpart to rcu_dereference() for non-RCU situations
        staging: android: logger: Fix log corruption regression
      7e05b807
    • Linus Torvalds's avatar
      irda: stop calling sk_prot->disconnect() on connection failure · 4cb8c359
      Linus Torvalds authored
      The sk_prot is irda's own set of protocol handlers, so irda should
      statically know what that function is anyway, without using an indirect
      pointer.  And as it happens, we know *exactly* what that pointer is
      statically: it's NULL, because irda doesn't define a disconnect
      operation.
      
      So calling that function is doubly wrong, and will just cause an oops.
      Reported-by: default avatarMartin Lang <mlg.hessigheim@gmail.com>
      Cc: Samuel Ortiz <samuel@sortiz.org>
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4cb8c359
    • Andrzej Hajda's avatar
      drm/exynos: correct connector->dpms field before resuming · 74cfe07a
      Andrzej Hajda authored
      During system suspend after connector switch off its dpms field
      is set to connector previous dpms state. To properly resume dpms field
      should be set to its actual state (off) before resuming to previous dpms state.
      Signed-off-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      74cfe07a
    • Andrzej Hajda's avatar
      drm/exynos: enable vblank after DPMS on · d6948b2f
      Andrzej Hajda authored
      Before DPMS off driver disables vblank.
      It should be balanced by vblank enable after DPMS on.
      The patch fixes issue with page_flip ioctl not being able
      to acquire vblank counter introduced by patch:
      drm: Always reject drm_vblank_get() after drm_vblank_off()
      Signed-off-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      d6948b2f
    • Andrzej Hajda's avatar
      drm/exynos: init kms poll at the end of initialization · 3cb6830a
      Andrzej Hajda authored
      HPD events can be generated by components even if drm_dev is not fully
      initialized, to skip such events kms poll initialization should
      be performed at the end of load callback followed directly by forced
      connection detection.
      Signed-off-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      3cb6830a
    • Andrzej Hajda's avatar
      drm/exynos: propagate plane initialization errors · 64f7aed8
      Andrzej Hajda authored
      In case of error during plane initialization load callback
      incorrectly return success, this patch fixes it.
      Signed-off-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      64f7aed8