1. 19 Dec, 2014 1 commit
  2. 17 Dec, 2014 5 commits
    • Geert Uytterhoeven's avatar
      i2c: sh_mobile: I2C_SH_MOBILE should depend on HAS_DMA · f16ea4f0
      Geert Uytterhoeven authored
      If NO_DMA=y:
      
      drivers/built-in.o: In function `sh_mobile_i2c_dma_unmap':
      i2c-sh_mobile.c:(.text+0x60de42): undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `sh_mobile_i2c_xfer_dma':
      i2c-sh_mobile.c:(.text+0x60df22): undefined reference to `dma_map_single'
      i2c-sh_mobile.c:(.text+0x60df2e): undefined reference to `dma_mapping_error'
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      f16ea4f0
    • Wolfram Sang's avatar
      i2c: sh_mobile: rework deferred probing · 55f5f986
      Wolfram Sang authored
      DMA is opt-in for this driver. So, we can't use deferred probing for
      requesting DMA channels in probe, because our driver would get endlessly
      deferred if DMA support is compiled in AND the DMA driver is missing.
      Because we can't know when the DMA driver might show up, we always try
      again when a DMA transfer would be possible. The downside is that there
      is more overhead for setting up PIO transfers under the above scenario.
      But well, having DMA enabled and the proper DMA driver missing looks
      like a broken or test config anyhow.
      Reported-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Signed-off-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      55f5f986
    • Wolfram Sang's avatar
      i2c: sh_mobile: refactor DMA setup · e844a799
      Wolfram Sang authored
      Refactor DMA setup to keep the errno so we can implement better
      deferred probe support in the next step.
      Signed-off-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      e844a799
    • Thomas Petazzoni's avatar
      i2c: mv64xxx: rework offload support to fix several problems · 00d8689b
      Thomas Petazzoni authored
      Originally, the I2C controller supported by the i2c-mv64xxx driver
      requires a lot of software support: an interrupt is generated at each
      step of an I2C transaction (after the start bit, after sending the
      address, etc.) and the driver is in charge of re-programming the I2C
      controller to do the next step of the I2C transaction. This explains
      the fairly complex state machine that the driver has.
      
      On Marvell Armada XP and later processors (Armada 375, 38x, etc.), the
      I2C controller was extended with a part called the "I2C Bridge", which
      allows to offload the I2C transaction completely to the
      hardware. Initial support for this mechanism was added in commit
      930ab3d4 ("i2c: mv64xxx: Add I2C Transaction Generator support").
      
      However, the implementation done in this commit has two related
      issues, which this commit fixes by completely changing how the offload
      implementation is done:
      
       * SMBus read transfers, where there is one write to select the
         register immediately followed in the same transaction by one read,
         were making the processor hang. This was easier visible on the
         Marvell Armada XP WRT1900AC platform using a driver for an I2C LED
         controller, or on other Armada XP platforms by using a simple
         'i2cget' command to read an I2C EEPROM.
      
       * The implementation was based on the fact that the offload engine
         was re-programmed to transfer each message of an I2C xfer: this
         meant that each message sent with the offload engine was starting
         with a normal I2C start sequence. However, the I2C subsystem
         assumes that all messages belonging to the same xfer will use the
         so-called "repeated start" so that the entire I2C xfer is seen as
         one transfer by the I2C devices and cannot be interrupt by other
         I2C masters on the same bus.
      
      In fact, the "I2C Bridge" allows to offload three types of xfer:
      
       - xfer of one write message
       - xfer of one read message
       - xfer of one write message followed by one read message
      
      For all other situations, we have to fallback to not using the "I2C
      Bridge" in order to get proper I2C semantics.
      
      Therefore, this commit reworks the offload implementation to put it
      not at the message level, but at the xfer level: in the
      mv64xxx_i2c_xfer() function, we decide if the transaction can be
      offloaded (in which case it is handled by the
      mv64xxx_i2c_offload_xfer() function), or otherwise it is handled by
      the slow path (implemented in the existing mv64xxx_i2c_execute_msg()).
      
      This allows to simplify the state machine, which no longer needs to
      have any state related to the offload implementation: the offload
      implementation is now completely separated from the slow path (with
      the exception of the interrupt handler, of course).
      
      In summary:
      
       - mv64xxx_i2c_can_offload() will analyze an I2C xfer and decided of
         the "I2C Bridge" can be used to offload it or not.
      
       - mv64xxx_i2c_offload_xfer() will actually program the "I2C Bridge"
         to offload one xfer (of either one or two messages), and block
         using mv64xxx_i2c_wait_for_completion() until the xfer completes.
      
       - The interrupt handler mv64xxx_i2c_intr() is modified to push the
         offload related code to a separate function,
         mv64xxx_i2c_intr_offload(). It will take care of reading the
         received data if needed.
      
      This commit was tested on:
      
       - Armada XP OpenBlocks AX3-4 (EEPROM on I2C and RTC on I2C)
       - Armada XP WRT1900AC (LED controller on I2C)
       - Armada XP GP (EEPROM on I2C)
      
      Fixes: 930ab3d4 ("i2c: mv64xxx: Add I2C Transaction Generator support")
      Cc: <stable@vger.kernel.org> # v3.12+
      Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      [wsa: fixed checkpatch warnings]
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      00d8689b
    • Thomas Petazzoni's avatar
  3. 16 Dec, 2014 26 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 603ba7e4
      Linus Torvalds authored
      Pull vfs pile #2 from Al Viro:
       "Next pile (and there'll be one or two more).
      
        The large piece in this one is getting rid of /proc/*/ns/* weirdness;
        among other things, it allows to (finally) make nameidata completely
        opaque outside of fs/namei.c, making for easier further cleanups in
        there"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        coda_venus_readdir(): use file_inode()
        fs/namei.c: fold link_path_walk() call into path_init()
        path_init(): don't bother with LOOKUP_PARENT in argument
        fs/namei.c: new helper (path_cleanup())
        path_init(): store the "base" pointer to file in nameidata itself
        make default ->i_fop have ->open() fail with ENXIO
        make nameidata completely opaque outside of fs/namei.c
        kill proc_ns completely
        take the targets of /proc/*/ns/* symlinks to separate fs
        bury struct proc_ns in fs/proc
        copy address of proc_ns_ops into ns_common
        new helpers: ns_alloc_inum/ns_free_inum
        make proc_ns_operations work with struct ns_common * instead of void *
        switch the rest of proc_ns_operations to working with &...->ns
        netns: switch ->get()/->put()/->install()/->inum() to working with &net->ns
        make mntns ->get()/->put()/->install()/->inum() work with &mnt_ns->ns
        common object embedded into various struct ....ns
      603ba7e4
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 31f48fc8
      Linus Torvalds authored
      Pull isofs and reiserfs fixes from Jan Kara:
       "A reiserfs and an isofs fix.  They arrived after I sent you my first
        pull request and I don't want to delay them unnecessarily till rc2"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        isofs: Fix infinite looping over CE entries
        reiserfs: destroy allocated commit workqueue
      31f48fc8
    • Linus Torvalds's avatar
      Merge branch 'for-3.19' of git://linux-nfs.org/~bfields/linux · 0b233b7c
      Linus Torvalds authored
      Pull nfsd updates from Bruce Fields:
       "A comparatively quieter cycle for nfsd this time, but still with two
        larger changes:
      
         - RPC server scalability improvements from Jeff Layton (using RCU
           instead of a spinlock to find idle threads).
      
         - server-side NFSv4.2 ALLOCATE/DEALLOCATE support from Anna
           Schumaker, enabling fallocate on new clients"
      
      * 'for-3.19' of git://linux-nfs.org/~bfields/linux: (32 commits)
        nfsd4: fix xdr4 count of server in fs_location4
        nfsd4: fix xdr4 inclusion of escaped char
        sunrpc/cache: convert to use string_escape_str()
        sunrpc: only call test_bit once in svc_xprt_received
        fs: nfsd: Fix signedness bug in compare_blob
        sunrpc: add some tracepoints around enqueue and dequeue of svc_xprt
        sunrpc: convert to lockless lookup of queued server threads
        sunrpc: fix potential races in pool_stats collection
        sunrpc: add a rcu_head to svc_rqst and use kfree_rcu to free it
        sunrpc: require svc_create callers to pass in meaningful shutdown routine
        sunrpc: have svc_wake_up only deal with pool 0
        sunrpc: convert sp_task_pending flag to use atomic bitops
        sunrpc: move rq_cachetype field to better optimize space
        sunrpc: move rq_splice_ok flag into rq_flags
        sunrpc: move rq_dropme flag into rq_flags
        sunrpc: move rq_usedeferral flag to rq_flags
        sunrpc: move rq_local field to rq_flags
        sunrpc: add a generic rq_flags field to svc_rqst and move rq_secure to it
        nfsd: minor off by one checks in __write_versions()
        sunrpc: release svc_pool_map reference when serv allocation fails
        ...
      0b233b7c
    • Linus Torvalds's avatar
      Merge tag 'iommu-config-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 6f51ee70
      Linus Torvalds authored
      Pull ARM SoC/iommu configuration update from Arnd Bergmann:
       "The iomm-config branch contains work from Will Deacon, quoting his
        description:
      
          This series adds automatic IOMMU and DMA-mapping configuration for
          OF-based DMA masters described using the generic IOMMU devicetree
          bindings. Although there is plenty of future work around splitting up
          iommu_ops, adding default IOMMU domains and sorting out automatic IOMMU
          group creation for the platform_bus, this is already useful enough for
          people to port over their IOMMU drivers and start using the new probing
          infrastructure (indeed, Marek has patches queued for the Exynos IOMMU).
      
        The branch touches core ARM and IOMMU driver files, and the respective
        maintainers (Russell King and Joerg Roedel) agreed to have the
        contents merged through the arm-soc tree.
      
        The final version was ready just before the merge window, so we ended
        up delaying it a bit longer than the rest, but we don't expect to see
        regressions because this is just additional infrastructure that will
        get used in drivers starting in 3.20 but is unused so far"
      
      * tag 'iommu-config-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        iommu: store DT-probed IOMMU data privately
        arm: dma-mapping: plumb our iommu mapping ops into arch_setup_dma_ops
        arm: call iommu_init before of_platform_populate
        dma-mapping: detect and configure IOMMU in of_dma_configure
        iommu: fix initialization without 'add_device' callback
        iommu: provide helper function to configure an IOMMU for an of master
        iommu: add new iommu_ops callback for adding an OF device
        dma-mapping: replace set_arch_dma_coherent_ops with arch_setup_dma_ops
        iommu: provide early initialisation hook for IOMMU drivers
      6f51ee70
    • Linus Torvalds's avatar
      Merge tag 'dt2-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 205dc205
      Linus Torvalds authored
      Pull ARM SoC DT updates part 2 from Arnd Bergmann:
       "This is a follow-up to the early ARM SoC DT changes, with additional
        content that has external dependencies:
      
         - The Tegra IOMMU DT support depends on changes from the iommu tree,
           plus the contents of the arm-soc drivers branch
         - The MVEBU PHY support depends on changes from the phy tree
         - The AT91 DT support depends on changes from the RTC and DMA-slave
           trees
      
        All of these changes just enable additional devices for existing
        platforms"
      
      * tag 'dt2-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: tegra: Enable IOMMU for display controllers on Tegra124
        ARM: tegra: Enable IOMMU for display controllers on Tegra114
        ARM: tegra: Enable IOMMU for display controllers on Tegra30
        ARM: tegra: Add memory controller support for Tegra124
        ARM: tegra: Add memory controller support for Tegra114
        ARM: tegra: Add memory controller support for Tegra30
        ARM: tegra: Add APB_MISC_GP as a MIPI pad control bank
        ARM: mvebu: add PHY support to the dts for the USB controllers on Armada 375
        ARM: mvebu: add Device Tree description of USB cluster controller on Armada 375
        ARM: at91/dt: at91sam9g45: add ISI node
        ARM: at91/dt: enable the RTT block on the at91sam9m10g45ek board
        ARM: at91/dt: enable the RTT block on the sam9g20ek board
        ARM: at91/dt: add GPBR nodes
        ARM: at91/dt: add RTT nodes to at91 dtsis
        ARM: at91/dt: at91sam9rl: add rtc
        ARM: at91: fix GPLv2 wording
        ARM: at91/dt: sama5d4: add DMA support
        ARM: at91/dt: sama5d4: use macro instead of numeric value
      205dc205
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 94bbdb63
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "Here are the first arm-soc bug fixes.  Most of these are OMAP related
        fixes for regressions or minor bugs.  Aside from that, there are a few
        defconfig changes for various platforms"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        iommu/exynos: Fix arm64 allmodconfig build
        ARM: defconfigs: use CONFIG_CPUFREQ_DT
        ARM: omap2plus_defconfig: Enable AHCI_PLATFORM driver
        ARM: dts: am437x-sk-evm.dts: fix LCD timings
        ARM: dts: dra7-evm: Update SMPS7 (VDD_CORE) max voltage to match DM
        ARM: dts: dra7-evm: Fix typo in SMPS6 (VDD_GPU) max voltage
        ARM: OMAP2+: AM43x: Add ID for ES1.2
        ARM: dts: am437x-sk: fix lcd enable pin mux data
        ARM: dts: Fix gpmc regression for omap 2430sdp smc91x
        Revert "ARM: shmobile: multiplatform: add Audo DMAC peri peri support on defconfig"
        ARM: dts: dra7: fix DSS PLL clock mux registers
        ARM: dts: DRA7: wdt: Fix compatible property for watchdog node
        ARM: OMAP2+: clock: remove unused function prototype
      94bbdb63
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 36c0a48f
      Linus Torvalds authored
      Pull arm64 fixes from Will Deacon:
       "Given that my availability next week is likely to be poor, here are
        three arm64 fixes to resolve some issues introduced by features merged
        last week.  I was going to wait until -rc1, but it doesn't make much
        sense to sit on fixes.
      
        Fix some fallout introduced during the merge window:
      
         - Build failure when PM_SLEEP is disabled but CPU_IDLE is enabled
         - Compiler warning from page table dumper w/ 48-bit VAs
         - Erroneous page table truncation in reported dump"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: mm: dump: don't skip final region
        arm64: mm: dump: fix shift warning
        arm64: psci: Fix build breakage without PM_SLEEP
      36c0a48f
    • Linus Torvalds's avatar
      Merge tag 'xtensa-next-20141215' of git://github.com/czankel/xtensa-linux · a643fc72
      Linus Torvalds authored
      Pull Xtensa fixes from Chris Zankel:
       - fix nommu support
       - remove s6000 variant and s6105 platform
       - fix permissions for kmapped pages so that copy_to_user_page works with them
       - add power management menu to Kconfig to allow use of runtime PM
       - disable linker optimizations because of a linker bug
       - fix sparse error
      
      * tag 'xtensa-next-20141215' of git://github.com/czankel/xtensa-linux:
        xtensa: disable link optimization
        xtensa/uaccess: fix sparse errors
        xtensa: fix kmap_prot definition
        xtensa: add power management menu to Kconfig
        xtensa: remove s6000 variant and s6105 platform
        xtensa: make PLATFORM_DEFAULT_MEM parameters configurable
        xtensa: nommu: clean up memory map dump
        xtensa: nommu: reserve memory below PLATFORM_DEFAULT_MEM_START
        xtensa: nommu: set up cache and atomctl in initialize_mmu
        xtensa: move vecbase SR initialization to _startup
        xtensa: nommu: fix uImage load address
        xtensa: nommu: fix load address definitions
        xtensa: nommu: fix Image.elf reset code and ld script
        xtensa: nommu: add MMU dependency to DEBUG_TLB_SANITY
        xtensa: nommu: don't build most of the cache flushing code
        xtensa: nommu: don't provide arch_get_unmapped_area
        xtensa: nommu: provide MAP_UNINITIALIZED definition
        xtensa: nommu: provide _PAGE_CHG_MASK definition
        xtensa: nommu: provide __invalidate_dcache_page_alias stub
        xtensa: nommu: move init_mmu stub to nommu_context.h
      a643fc72
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile · 0db2812a
      Linus Torvalds authored
      Pull arch/tile updates from Chris Metcalf:
       "Note that one of the changes converts my old cmetcalf@tilera.com email
        in MAINTAINERS to the cmetcalf@ezchip.com email that you see on this
        email"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
        arch/tile: update MAINTAINERS email to EZchip
        tile: avoid undefined behavior with regs[TREG_TP] etc
        arch: tile: kernel: kgdb.c: Use memcpy() instead of pointer copy one by one
        tile: Use the more common pr_warn instead of pr_warning
        arch: tile: gxio: Export symbols for module using in 'mpipe.c'
        arch: tile: kernel: signal.c: Use __copy_from/to_user() instead of __get/put_user()
      0db2812a
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-3.19-rc0b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · eb64c3c6
      Linus Torvalds authored
      Pull additional xen update from David Vrabel:
       "Xen: additional features for 3.19-rc0
      
         - Linear p2m for x86 PV guests which simplifies the p2m code,
           improves performance and will allow for > 512 GB PV guests in the
           future.
      
        A last-minute, configuration specific issue was discovered with this
        change which is why it was not included in my previous pull request.
        This is now been fixed and tested"
      
      * tag 'stable/for-linus-3.19-rc0b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen: switch to post-init routines in xen mmu.c earlier
        Revert "swiotlb-xen: pass dev_addr to swiotlb_tbl_unmap_single"
        xen: annotate xen_set_identity_and_remap_chunk() with __init
        xen: introduce helper functions to do safe read and write accesses
        xen: Speed up set_phys_to_machine() by using read-only mappings
        xen: switch to linear virtual mapped sparse p2m list
        xen: Hide get_phys_to_machine() to be able to tune common path
        x86: Introduce function to get pmd entry pointer
        xen: Delay invalidating extra memory
        xen: Delay m2p_override initialization
        xen: Delay remapping memory of pv-domain
        xen: use common page allocation function in p2m.c
        xen: Make functions static
        xen: fix some style issues in p2m.c
      eb64c3c6
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-3.19-rc1' of... · 61de8e53
      Linus Torvalds authored
      Merge tag 'linux-kselftest-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull kselftest update from Shuah Khan:
       "kselftest updates for 3.19-rc1:
      
         - kcmp test include file cleanup
         - kcmp change to build on all architectures
         - A light weight kselftest framework that provides a set of
           interfaces for tests to use to report results.  In addition,
           several tests are updated to use the framework.
         - A new runtime system size test that prints the amount of RAM that
           the currently running system is using"
      
      * tag 'linux-kselftest-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        selftest: size: Add size test for Linux kernel
        selftests/kcmp: Always try to build the test
        selftests/kcmp: Don't include kernel headers
        kcmp: Move kcmp.h into uapi
        selftests/timers: change test to use ksft framework
        selftests/kcmp: change test to use ksft framework
        selftests/ipc: change test to use ksft framework
        selftests/breakpoints: change test to use ksft framework
        selftests: add kselftest framework for uniform test reporting
        selftests/user: move test out of Makefile into a shell script
        selftests/net: move test out of Makefile into a shell script
      61de8e53
    • Linus Torvalds's avatar
      Merge tag 'trace-3.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · a7c180aa
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
       "As the merge window is still open, and this code was not as complex as
        I thought it might be.  I'm pushing this in now.
      
        This will allow Thomas to debug his irq work for 3.20.
      
        This adds two new features:
      
        1) Allow traceopoints to be enabled right after mm_init().
      
           By passing in the trace_event= kernel command line parameter,
           tracepoints can be enabled at boot up.  For debugging things like
           the initialization of interrupts, it is needed to have tracepoints
           enabled very early.  People have asked about this before and this
           has been on my todo list.  As it can be helpful for Thomas to debug
           his upcoming 3.20 IRQ work, I'm pushing this now.  This way he can
           add tracepoints into the IRQ set up and have users enable them when
           things go wrong.
      
        2) Have the tracepoints printed via printk() (the console) when they
           are triggered.
      
           If the irq code locks up or reboots the box, having the tracepoint
           output go into the kernel ring buffer is useless for debugging.
           But being able to add the tp_printk kernel command line option
           along with the trace_event= option will have these tracepoints
           printed as they occur, and that can be really useful for debugging
           early lock up or reboot problems.
      
        This code is not that intrusive and it passed all my tests.  Thomas
        tried them out too and it works for his needs.
      
         Link: http://lkml.kernel.org/r/20141214201609.126831471@goodmis.org"
      
      * tag 'trace-3.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Add tp_printk cmdline to have tracepoints go to printk()
        tracing: Move enabling tracepoints to just after rcu_init()
      a7c180aa
    • Arnd Bergmann's avatar
      Merge tag 'renesas-defconfig-fixes-for-v3.19' of... · 5f1b2953
      Arnd Bergmann authored
      Merge tag 'renesas-defconfig-fixes-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into fixes
      
      Pull "Renesas ARM Based SoC Defconfig Fixes for v3.19" from Simon Horman:
      
      * Revert change enabling RCAR_AUDMAC_PP in shmobile_defconfig
      
        Unfortunately enabling RCAR_AUDMAC_PP support this patch breaks dmaengine
        support on R-Car Gen2 boards. This should be resolved by driver updates
        in v3.20. But v3.19 was too early for this defconfig change.
      
      * tag 'renesas-defconfig-fixes-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
        Revert "ARM: shmobile: multiplatform: add Audo DMAC peri peri support on defconfig"
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      5f1b2953
    • Mark Brown's avatar
      iommu/exynos: Fix arm64 allmodconfig build · 20911ce6
      Mark Brown authored
      The Exynos IOMMU driver uses the ARM specific dmac_flush_range() and
      outer_flush_range() functions. This breaks the build on arm64 allmodconfig
      in -next since support has been merged for some Exynos ARMv8 SoCs. Add a
      dependency on ARM to keep things building until either the driver has the
      ARM dependencies removed or the ARMv8 architecture code implements these
      ARM specific APIs.
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      20911ce6
    • Chris Zankel's avatar
      xtensa: disable link optimization · 1f2fdbd0
      Chris Zankel authored
      The default linker behavior is to optimize identical literal values
      and remove unnecessary overhead. However, because of a bug in the
      linker, this currently results in an error ('call target out of range').
      
      Disable link-time optimizations per default until there is a fix
      for the linker and add the option to iss_defconfig.
      Signed-off-by: default avatarChris Zankel <chris@zankel.net>
      1f2fdbd0
    • Michael S. Tsirkin's avatar
      xtensa/uaccess: fix sparse errors · 4255a8e1
      Michael S. Tsirkin authored
      virtio wants to read bitwise types from userspace using get_user.  At the
      moment this triggers sparse errors, since the value is passed through an
      integer.
      
      Fix that up using __force.
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarChris Zankel <chris@zankel.net>
      4255a8e1
    • Chris Zankel's avatar
      Merge tag 'xtensa-for-next-20141213' of git://github.com/jcmvbkbc/linux-xtensa into for_next · 2cb54e84
      Chris Zankel authored
      Xtensa improvements for 3.19:
      
      - fix permissions for kmapped pages so that copy_to_user_page works with
        them;
      - add power management menu to Kconfig to allow use of runtime PM.
      2cb54e84
    • Chris Zankel's avatar
      Merge tag 'v3.18' into for_next · 865566ed
      Chris Zankel authored
      Linux 3.18
      865566ed
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds · 2dbfca5a
      Linus Torvalds authored
      Pull LED subsystem update from Bryan Wu:
       "We got some cleanup and driver for LP8860 as well as some patches for
        LED Flash Class"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds:
        leds: lp8860: Fix module dependency
        leds: lp8860: Introduce TI lp8860 4 channel LED driver
        leds: Add support for setting brightness in a synchronous way
        leds: implement sysfs interface locking mechanism
        leds: syscon: handle multiple syscon instances
        leds: delete copy/paste mistake
        leds: regulator: Convert to devm_regulator_get_exclusive
      2dbfca5a
    • Linus Torvalds's avatar
      Merge tag 'staging-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · dab363f9
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here's the big staging tree pull request for 3.19-rc1.
      
        We continued to delete more lines than were added, always a good
        thing, but not at a huge rate this release, only about 70k lines
        removed overall mostly from removing the horrid bcm driver.
      
        Lots of normal staging driver cleanups and fixes all over the place,
        well over a thousand of them, the shortlog shows all the horrid
        details.
      
        The "contentious" thing here is the movement of the Android binder
        code out of staging into the "real" part of the kernel.  This is code
        that has been stable for a few years now and is working as-is in the
        tens of millions of devices with no issues.  Yes, the code is horrid,
        and the userspace api leaves a lot to be desired, but it's not going
        to change due to legacy issues that we have no control over.  Because
        so many devices and companies rely on this, and the code is stable,
        might as well promote it out of staging.
      
        This was all discussed at the Linux Plumbers conference, and everyone
        participating agreed that this was the best way forward.
      
        There is work happening to replace the binder code with something new
        that is happening right now, but I don't expect to see the results of
        that work for another year at the earliest.  If that ever happens, and
        Android switches over to it, I'll gladly remove this version.
      
        As for maintainers, I'll be glad to maintain this code, I've been
        doing it for the past few years with no problems.  I'll send a
        MAINTAINERS entry for it before 3.19-final is out, still need to talk
        to the Google developers about if they are willing to help with it or
        not, last I checked they were, which was good.
      
        All of these patches have been in linux-next for a while with no
        reported issues"
      
      * tag 'staging-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1382 commits)
        Staging: slicoss: Fix long line issues in slicoss.c
        staging: rtl8712: remove unnecessary else after return
        staging: comedi: change some printk calls to pr_err
        staging: rtl8723au: hal: Removed the extra semicolon
        lustre: Deletion of unnecessary checks before three function calls
        staging: lustre: fix sparse warnings: static function declaration
        staging: lustre: fixed sparse warnings related to static declarations
        staging: unisys: remove duplicate header
        staging: unisys: remove unneeded structure
        staging: ft1000 : replace __attribute ((__packed__) with __packed
        drivers: staging: rtl8192e: Include "asm/unaligned.h" instead of "access_ok.h" in "rtl819x_BAProc.c"
        Drivers:staging:rtl8192e: Fixed checkpatch warning
        Drivers:staging:clocking-wizard: Added a newline
        staging: clocking-wizard: check for a valid clk_name pointer
        staging: rtl8723au: Hal_InitPGData() avoid unnecessary typecasts
        staging: rtl8723au: _DisableAnalog(): Avoid zero-init variables unnecessarily
        staging: rtl8723au: Remove unnecessary wrapper _ResetDigitalProcedure1()
        staging: rtl8723au: _ResetDigitalProcedure1_92C() reduce code obfuscation
        staging: rtl8723au: Remove unnecessary wrapper _DisableRFAFEAndResetBB()
        staging: rtl8723au: _DisableRFAFEAndResetBB8192C(): Reduce code obfuscation
        ...
      dab363f9
    • Linus Torvalds's avatar
      Merge tag 'firewire-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394 · a68db9cb
      Linus Torvalds authored
      Pull firewire updates from Stefan Richter:
       "IEEE 1394 subsystem updates:
         - clean up firewire-ohci's longlived vm-mapping
         - use target instance lock instead of core lock in firewire-sbp2"
      
      * tag 'firewire-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
        firewire: sbp2: replace card lock by target lock
        firewire: sbp2: replace some spin_lock_irqsave by spin_lock_irq
        firewire: sbp2: protect a reference counter properly
        firewire: core: document fw_csr_string's truncation of long strings
        firewire: ohci: replace vm_map_ram() with vmap()
      a68db9cb
    • Linus Torvalds's avatar
      Merge tag 'for-v3.19' of git://git.infradead.org/battery-2.6 · 7051d8e6
      Linus Torvalds authored
      Pull power supply updates from Sebastian Reichel::
       "Power supply and reset changes for the v3.19 series
      
         - update power/reset drivers to use kernel restart handler
         - add power off driver for i.mx6
         - add DT support for gpio-charger"
      
      * tag 'for-v3.19' of git://git.infradead.org/battery-2.6:
        power: reset: adjust priority of simple syscon reboot driver
        power: ds2782_battery: Simplify the PM hooks
        power/reset: brcmstb: Register with kernel restart handler
        power/reset: hisi: Register with kernel restart handler
        power/reset: keystone: Register with kernel restart handler
        power/reset: axxia: Register with kernel restart handler
        power/reset: xgene: Register with kernel restart handler
        power/reset: xgene: Use mdelay instead of jiffies based timeout
        power/reset: xgene: Use local variable dev instead of pdev->dev
        power/reset: xgene: Drop devm_kfree
        power/reset: xgene: Return -ENOMEM if out of memory
        power/reset: vexpress: Register with kernel restart handler
        power: reset: imx-snvs-poweroff: add power off driver for i.mx6
        power: gpio-charger: add device tree support
        dt-bindings: document gpio-charger bindings
      7051d8e6
    • Linus Torvalds's avatar
      Merge tag 'hsi-for-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi · d3255ec4
      Linus Torvalds authored
      Pull HSI update from Sebastian Reichel:
       "Misc fixes in omap-ssi and nokia-modem drivers"
      
      * tag 'hsi-for-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
        HSI: nokia-modem: fix error handling of irq_of_parse_and_map
        HSI: nokia-modem: setup default value for pm parameter
        HSI: omap_ssi_port: Don't print uninitialized err
        HSI: remove deprecated IRQF_DISABLED
      d3255ec4
    • Linus Torvalds's avatar
      Merge branch 'irq-irqdomain-arm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 60d7ef3f
      Linus Torvalds authored
      Pull irq domain ARM updates from Thomas Gleixner:
       "This set of changes make use of hierarchical irqdomains to provide:
      
         - MSI/ITS support for GICv3
         - MSI support for GICv2m
         - Interrupt polarity extender for GICv1
      
        Marc has come more cleanups for the existing extension hooks of GIC in
        the pipeline, but they are going to be 3.20 material"
      
      * 'irq-irqdomain-arm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
        irqchip: gicv3-its: Fix ITT allocation
        irqchip: gicv3-its: Move some alloc/free code to activate/deactivate
        irqchip: gicv3-its: Fix domain free in multi-MSI case
        irqchip: gic: Remove warning by including linux/irqdomain.h
        irqchip: gic-v2m: Add DT bindings for GICv2m
        irqchip: gic-v2m: Add support for ARM GICv2m MSI(-X) doorbell
        irqchip: mtk-sysirq: dt-bindings: Add bindings for mediatek sysirq
        irqchip: mtk-sysirq: Add sysirq interrupt polarity support
        irqchip: gic: Support hierarchy irq domain.
        irqchip: GICv3: Binding updates for ITS
        irqchip: GICv3: ITS: enable compilation of the ITS driver
        irqchip: GICv3: ITS: plug ITS init into main GICv3 code
        irqchip: GICv3: ITS: DT probing and initialization
        irqchip: GICv3: ITS: MSI support
        irqchip: GICv3: ITS: device allocation and configuration
        irqchip: GICv3: ITS: tables allocators
        irqchip: GICv3: ITS: LPI allocator
        irqchip: GICv3: ITS: irqchip implementation
        irqchip: GICv3: ITS command queue
        irqchip: GICv3: rework redistributor structure
        ...
      60d7ef3f
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 9b8ec916
      Linus Torvalds authored
      Pull core block fix from Jens Axboe:
       "Jan reported a problem this morning with a crash in blk-mq, and after
        looking over the recent changes, it's obvious that the blk-mq-tag
        waitqueue handling change is buggy.  We could end up _not_ doing
        finish_wait() before switching to a new waitqueue, thus corrupting the
        wait task list"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        Revert "blk-mq: Micro-optimize bt_get()"
      9b8ec916
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-3.19-next' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/rpmsg · 27cb8823
      Linus Torvalds authored
      Pull rpmsg update from Ohad Ben-Cohen:
       "A single patch from Suman Anna which makes rpmsg use less buffers when
        small vrings are being used"
      
      * tag 'rpmsg-3.19-next' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/rpmsg:
        rpmsg: use less buffers when vrings are small
      27cb8823
  4. 15 Dec, 2014 8 commits
    • Linus Torvalds's avatar
      Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux · 988adfdf
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "Highlights:
      
         - AMD KFD driver merge
      
           This is the AMD HSA interface for exposing a lowlevel interface for
           GPGPU use.  They have an open source userspace built on top of this
           interface, and the code looks as good as it was going to get out of
           tree.
      
         - Initial atomic modesetting work
      
           The need for an atomic modesetting interface to allow userspace to
           try and send a complete set of modesetting state to the driver has
           arisen, and been suffering from neglect this past year.  No more,
           the start of the common code and changes for msm driver to use it
           are in this tree.  Ongoing work to get the userspace ioctl finished
           and the code clean will probably wait until next kernel.
      
         - DisplayID 1.3 and tiled monitor exposed to userspace.
      
           Tiled monitor property is now exposed for userspace to make use of.
      
         - Rockchip drm driver merged.
      
         - imx gpu driver moved out of staging
      
        Other stuff:
      
         - core:
              panel - MIPI DSI + new panels.
              expose suggested x/y properties for virtual GPUs
      
         - i915:
              Initial Skylake (SKL) support
              gen3/4 reset work
              start of dri1/ums removal
              infoframe tracking
              fixes for lots of things.
      
         - nouveau:
              tegra k1 voltage support
              GM204 modesetting support
              GT21x memory reclocking work
      
         - radeon:
              CI dpm fixes
              GPUVM improvements
              Initial DPM fan control
      
         - rcar-du:
              HDMI support added
              removed some support for old boards
              slave encoder driver for Analog Devices adv7511
      
         - exynos:
              Exynos4415 SoC support
      
         - msm:
              a4xx gpu support
              atomic helper conversion
      
         - tegra:
              iommu support
              universal plane support
              ganged-mode DSI support
      
         - sti:
              HDMI i2c improvements
      
         - vmwgfx:
              some late fixes.
      
         - qxl:
              use suggested x/y properties"
      
      * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (969 commits)
        drm: sti: fix module compilation issue
        drm/i915: save/restore GMBUS freq across suspend/resume on gen4
        drm: sti: correctly cleanup CRTC and planes
        drm: sti: add HQVDP plane
        drm: sti: add cursor plane
        drm: sti: enable auxiliary CRTC
        drm: sti: fix delay in VTG programming
        drm: sti: prepare sti_tvout to support auxiliary crtc
        drm: sti: use drm_crtc_vblank_{on/off} instead of drm_vblank_{on/off}
        drm: sti: fix hdmi avi infoframe
        drm: sti: remove event lock while disabling vblank
        drm: sti: simplify gdp code
        drm: sti: clear all mixer control
        drm: sti: remove gpio for HDMI hot plug detection
        drm: sti: allow to change hdmi ddc i2c adapter
        drm/doc: Document drm_add_modes_noedid() usage
        drm/i915: Remove '& 0xffff' from the mask given to WA_REG()
        drm/i915: Invert the mask and val arguments in wa_add() and WA_REG()
        drm: Zero out DRM object memory upon cleanup
        drm/i915/bdw: Fix the write setting up the WIZ hashing mode
        ...
      988adfdf
    • Linus Torvalds's avatar
      x86: mm: consolidate VM_FAULT_RETRY handling · 26178ec1
      Linus Torvalds authored
      The VM_FAULT_RETRY handling was confusing and incorrect for the case of
      returning to kernel mode.  We need to handle the exception table fixup
      if we return to kernel mode due to a fatal signal - it will basically
      look to the kernel user mode access like the access failed due to the VM
      going away from udner it.  Which is correct - the process is dying - and
      avoids the whole "repeat endless kernel page faults" case.
      
      Handling the VM_FAULT_RETRY early and in just one place also simplifies
      the mmap_sem handling, since once we've taken care of VM_FAULT_RETRY we
      know that we can just drop the lock.  The remaining accounting and
      possible error handling is thread-local and does not need the mmap_sem.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      26178ec1
    • Linus Torvalds's avatar
      x86: mm: move mmap_sem unlock from mm_fault_error() to caller · 7fb08eca
      Linus Torvalds authored
      This replaces four copies in various stages of mm_fault_error() handling
      with just a single one.  It will also allow for more natural placement
      of the unlocking after some further cleanup.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7fb08eca
    • Kevin Hilman's avatar
      Merge tag 'omap-for-v3.19/fixes-for-merge-window' of... · 1888d2fa
      Kevin Hilman authored
      Merge tag 'omap-for-v3.19/fixes-for-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
      
      From: Tony Lindgren <tony@atomide.com>
      Subject: [GIT PULL] few fixes for the v3.19 merge window
      
      Fixes for a few issues found that would be good to get
      into -rc1:
      
      - Update SoC revision detection for am43x es1.2
      
      - Fix regression with GPMC timings on 2430sdp for some versions
        of u-boot
      
      - Fix dra7 watchdog compatible property
      
      - Fix am437x-sk-evm LCD timings
      
      - Fix dra7 DSS clock muxing
      
      - Fix dra7-evm voltages
      
      - Remove a unused function prototype for am33xx_clk_init
      
      - Enable AHCI in the omap2plus_defconfig
      
      * tag 'omap-for-v3.19/fixes-for-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (1601 commits)
        ARM: omap2plus_defconfig: Enable AHCI_PLATFORM driver
        ARM: dts: am437x-sk-evm.dts: fix LCD timings
        ARM: dts: dra7-evm: Update SMPS7 (VDD_CORE) max voltage to match DM
        ARM: dts: dra7-evm: Fix typo in SMPS6 (VDD_GPU) max voltage
        ARM: OMAP2+: AM43x: Add ID for ES1.2
        ARM: dts: am437x-sk: fix lcd enable pin mux data
        ARM: dts: Fix gpmc regression for omap 2430sdp smc91x
        hwmon: (tmp401) Detect TMP435 on all addresses it supports
        mfd: rtsx: Add func to split u32 into register
        mmc: sdhci-msm: Convert to mmc_send_tuning()
        mmc: sdhci-esdhc-imx: Convert to mmc_send_tuning()
        mmc: core: Let mmc_send_tuning() to take struct mmc_host* as parameter
        nios2: Make NIOS2_CMDLINE_IGNORE_DTB depend on CMDLINE_BOOL
        nios2: Add missing NR_CPUS to Kconfig
        nios2: asm-offsets: Remove unused definition TI_TASK
        nios2: Remove write-only struct member from nios2_timer
        nios2: Remove unused extern declaration of shm_align_mask
        nios2: include linux/type.h in io.h
        nios2: move include asm-generic/io.h to end of file
        nios2: remove include asm-generic/iomap.h from io.h
        ...
      1888d2fa
    • Viresh Kumar's avatar
      ARM: defconfigs: use CONFIG_CPUFREQ_DT · 9d312cd1
      Viresh Kumar authored
      CONFIG_GENERIC_CPUFREQ_CPU0 disappeared with commit bbcf0719
      ("cpufreq: cpu0: rename driver and internals to 'cpufreq_dt'") and some
      defconfigs are still using it instead of the new one.
      
      Use the renamed CONFIG_CPUFREQ_DT generic driver.
      
      Cc: <stable@vger.kernel.org>        # 3.18
      Reported-by: default avatarNishanth Menon <nm@ti.com>
      Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarKevin Hilman <khilman@linaro.org>
      9d312cd1
    • David Vrabel's avatar
    • Jens Axboe's avatar
      Revert "blk-mq: Micro-optimize bt_get()" · 35d37c66
      Jens Axboe authored
      This reverts commit 52f7eb94.
      
      The optimization is only really safe for a single queue, otherwise
      'bs' and 'bt' can indeed change, and if we don't do a finish_wait()
      for each loop, we'll potentially change the wait structure and
      corrupt task wait list.
      Reported-by: default avatarJan Kara <jack@suse.cz>
      35d37c66
    • Steven Rostedt (Red Hat)'s avatar
      tracing: Add tp_printk cmdline to have tracepoints go to printk() · 0daa2302
      Steven Rostedt (Red Hat) authored
      Add the kernel command line tp_printk option that will have tracepoints
      that are active sent to printk() as well as to the trace buffer.
      
      Passing "tp_printk" will activate this. To turn it off, the sysctl
      /proc/sys/kernel/tracepoint_printk can have '0' echoed into it. Note,
      this only works if the cmdline option is used. Echoing 1 into the sysctl
      file without the cmdline option will have no affect.
      
      Note, this is a dangerous option. Having high frequency tracepoints send
      their data to printk() can possibly cause a live lock. This is another
      reason why this is only active if the command line option is used.
      
      Link: http://lkml.kernel.org/r/alpine.DEB.2.11.1412121539300.16494@nanosSuggested-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Tested-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Acked-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      0daa2302