1. 14 Jan, 2015 2 commits
  2. 11 Jan, 2015 4 commits
    • Soren Brinkmann's avatar
      pinctrl: Add driver for Zynq · add958ce
      Soren Brinkmann authored
      This adds a pin-control driver for Zynq.
      
      Changes since v2:
      - driver-specific DT properties are passed to the core in two arrays,
        one for the actual DT parsing one for the debugfs representation.
        Issue a compiler warning when the number of entries is not the same
        for both arrays.
      
      Changes since v1:
       - fix EMIO_SD1_CD pin name
       - add USB to pinmux options
      
      changes since RFCv2:
       - let Zynq select PINCTRL_ZYNQ. Boot hangs when pinctrl information is
         present in DT but no driver available.
       - add #defines to get rid of magical constants
       - add commas at end of initializers
       - separate changes in mach-zynq in separate patch
       - add driver specific io-standard DT property
       - refactored pinconf set function to not require arguments for
         argument-less properties
       - squash other patches in
         - support for IO-standard property
         - support for low-power mode property
         - migration to pinconf_generic_dt_node_to_map_all()
       - use newly created infrastructure to add pass driver-specific DT
         params to pinconf-generic
      
      changes since RFC:
       - use syscon/regmap to access registers in SLCR space
       - rebase to 3.18: rename enable -> set_mux
       - add kernel-doc
       - support pinconf
         - supported attributes
           - pin-bias: pull up, tristate, disable
           - slew-rate: 0 == slow, 1 == fast; generic pinconf does not display
             argument
      Signed-off-by: default avatarSoren Brinkmann <soren.brinkmann@xilinx.com>
      Tested-by: default avatarAndreas Färber <afaerber@suse.de>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      add958ce
    • Soren Brinkmann's avatar
      pinctrl: zynq: Document DT binding · da085a86
      Soren Brinkmann authored
      Add documentation for the devicetree binding for the Zynq pincontroller.
      
      Changes since v1:
       - fix typo
       - add USB related documentation
       - remove 'pinctrl-' prefix for pinctrl sub-nodes
       - update documentation to enforce strict separation of pinmux
         and pinconf nodes
         - update example accordingly
      Signed-off-by: default avatarSoren Brinkmann <soren.brinkmann@xilinx.com>
      Tested-by: default avatarAndreas Färber <afaerber@suse.de>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      da085a86
    • Soren Brinkmann's avatar
      pinctrl: pinconf-generic: Allow driver to specify DT params · dd4d01f7
      Soren Brinkmann authored
      Additionally to the generic DT parameters, allow drivers to provide
      driver-specific DT parameters to be used with the generic parser
      infrastructure.
      
      To achieve this 'struct pinctrl_desc' is extended to pass custom pinconf
      option to the core. In order to pass this kind of information, the
      related data structures - 'struct pinconf_generic_dt_params',
      'pin_config_item' - are moved from pinconf internals to the
      pinconf-generic header.
      
      Additionally pinconfg-generic is refactored to not only iterate over the
      generic pinconf parameters but also take the parameters into account
      that are provided through the driver's 'struct pinctrl_desc'.
      In particular 'pinconf_generic_parse_dt_config()' and
      'pinconf_generic_dump' helpers are split into two parts each. In order
      to have a more generic helper that can be used to process the generic
      parameters as well as the driver-specific ones.
      
      v2:
       - fix typo
       - add missing documentation for @conf_items member in struct
       - rebase to pinctrl/devel: conflict in abx500
       - rename _pinconf_generic_dump() to pinconf_generic_dump_one()
       - removed '_' from _parse_dt_cfg()
       - removed BUG_ONs, error condition is handled in if statements
       - removed pinconf_generic_dump_group() & pinconf_generic_dump_pin
         helpers
         - fixed up corresponding call sites
         - renamed pinconf_generic_dump() to pinconf_generic_dump_pins()
         - added kernel-doc to pinconf_generic_dump_pins()
       - add kernel-doc
       - more verbose commit message
      Signed-off-by: default avatarSoren Brinkmann <soren.brinkmann@xilinx.com>
      Tested-by: default avatarAndreas Färber <afaerber@suse.de>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      dd4d01f7
    • Soren Brinkmann's avatar
      pinctrl: pinconf-generic: Infer map type from DT property · 31c89c95
      Soren Brinkmann authored
      With the new 'groups' property, the DT parser can infer the map type
      from the fact whether 'pins' or 'groups' is used to specify the pin
      group to work on.
      
      To maintain backwards compatibitliy with current usage of the DT
      binding, this is only done when PIN_MAP_TYPE_INVALID is passed to the
      parsing function as type.
      
      Also, a new helper 'pinconf_generic_dt_node_to_map_all()' is introduced,
      which can be used by drivers as generic callback for dt_node_to_map() to
      leverage the new feature.
      
      Changes since v2:
       - rename dt_pin_specifier to subnode_target_type
       - add additional comment in header file explaining passing an invalid
         map type
       - mention map_all() helper in commit message
      Changes since RFC v2:
       - none
      Signed-off-by: default avatarSoren Brinkmann <soren.brinkmann@xilinx.com>
      Tested-by: default avatarAndreas Färber <afaerber@suse.de>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      31c89c95
  3. 10 Jan, 2015 5 commits
  4. 29 Dec, 2014 1 commit
  5. 28 Dec, 2014 4 commits
  6. 27 Dec, 2014 4 commits
  7. 26 Dec, 2014 5 commits
    • Linus Torvalds's avatar
      Merge branch 'parisc-3.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 58628a78
      Linus Torvalds authored
      Pull parisc build fix from Helge Deller:
       "This unbreaks the kernel compilation on parisc with gcc-4.9"
      
      * 'parisc-3.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: fix out-of-register compiler error in ldcw inline assembler function
      58628a78
    • John David Anglin's avatar
      parisc: fix out-of-register compiler error in ldcw inline assembler function · 45db0738
      John David Anglin authored
      The __ldcw macro has a problem when its argument needs to be reloaded from
      memory. The output memory operand and the input register operand both need to
      be reloaded using a register in class R1_REGS when generating 64-bit code.
      This fails because there's only a single register in the class. Instead, use a
      memory clobber. This also makes the __ldcw macro a compiler memory barrier.
      Signed-off-by: default avatarJohn David Anglin <dave.anglin@bell.net>
      Cc: <stable@vger.kernel.org>        [3.13+]
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      45db0738
    • Libin Yang's avatar
      ALSA: hda_intel: apply the Seperate stream_tag for Skylake · d6795827
      Libin Yang authored
      The total stream number of Skylake's input and output stream
      exceeds 15, which will cause some streams do not work because
      of the overflow on SDxCTL.STRM field if using the legacy
      stream tag allocation method.
      
      This patch uses the new stream tag allocation method by add
      the flag AZX_DCAPS_SEPARATE_STREAM_TAG for Skylake platform.
      Signed-off-by: default avatarLibin Yang <libin.yang@intel.com>
      Reviewed-by: default avatarVinod Koul <vinod.koul@intel.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      d6795827
    • Rafal Redzimski's avatar
      ALSA: hda_controller: Separate stream_tag for input and output streams. · 93e3423e
      Rafal Redzimski authored
      Implemented separate stream_tag assignment for input and output streams.
      According to hda specification stream tag must be unique throughout the
      input streams group, however an output stream might use a stream tag
      which is already in use by an input stream. This change is necessary
      to support HW which provides a total of more than 15 stream DMA engines
      which with legacy implementation causes an overflow on SDxCTL.STRM
      field (and the whole SDxCTL register) and as a result usage of
      Reserved value 0 in the SDxCTL.STRM field which confuses HDA controller.
      Signed-off-by: default avatarRafal Redzimski <rafal.f.redzimski@intel.com>
      Signed-off-by: default avatarJayachandran B <jayachandran.b@intel.com>
      Signed-off-by: default avatarLibin Yang <libin.yang@intel.com>
      Reviewed-by: default avatarVinod Koul <vinod.koul@intel.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      93e3423e
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 08b022a9
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Xmas fixes pull:
      
        core:
            one atomic fix, revert the WARN_ON dumb buffers patch.
      
        agp:
            fixup Dave J.
      
        nouveau:
            fix 3.18 regression for old userspace
      
        tegra fixes:
            vblank and iommu fixes
      
        amdkfd:
            fix bugs shown by testing with userspace, init apertures once
      
        msm:
            hdmi fixes and cleanup
      
        i915:
            misc fixes
      
        There is also a link ordering fix that I've asked to be cc'ed to you,
        putting iommu before gpu, it fixes an issue with amdkfd when things
        are all in the kernel, but I didn't like sending it via my tree
        without discussion.
      
        I'll probably be a bit on/off for a few weeks with pulls now, due to
        holidays and LCA, so don't be surprised if stuff gets a bit backed up,
        and things end up a bit large due to lag"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (28 commits)
        Revert "drm/gem: Warn on illegal use of the dumb buffer interface v2"
        agp: Fix up email address & attributions in AGP MODULE_AUTHOR tags
        nouveau: bring back legacy mmap handler
        drm/msm/hdmi: rework HDMI IRQ handler
        drm/msm/hdmi: enable regulators before clocks to avoid warnings
        drm/msm/mdp5: update irqs on crtc<->encoder link change
        drm/msm: block incoming update on pending updates
        drm/atomic: fix potential null ptr on plane enable
        drm/msm: Deletion of unnecessary checks before the function call "release_firmware"
        drm/msm: Deletion of unnecessary checks before two function calls
        drm/tegra: dc: Select root window for event dispatch
        drm/tegra: gem: Use the proper size for GEM objects
        drm/tegra: gem: Flush buffer objects upon allocation
        drm/tegra: dc: Fix a potential race on page-flip completion
        drm/tegra: dc: Consistently use the same pipe
        drm/irq: Add drm_crtc_vblank_count()
        drm/irq: Add drm_crtc_handle_vblank()
        drm/irq: Add drm_crtc_send_vblank_event()
        drm/i915: Disable PSMI sleep messages on all rings around context switches
        drm/i915: Force the CS stall for invalidate flushes
        ...
      08b022a9
  8. 25 Dec, 2014 1 commit
  9. 24 Dec, 2014 3 commits
  10. 23 Dec, 2014 6 commits
    • Richard Guy Briggs's avatar
      audit: restore AUDIT_LOGINUID unset ABI · 041d7b98
      Richard Guy Briggs authored
      A regression was caused by commit 780a7654:
      	 audit: Make testing for a valid loginuid explicit.
      (which in turn attempted to fix a regression caused by e1760bd5)
      
      When audit_krule_to_data() fills in the rules to get a listing, there was a
      missing clause to convert back from AUDIT_LOGINUID_SET to AUDIT_LOGINUID.
      
      This broke userspace by not returning the same information that was sent and
      expected.
      
      The rule:
      	auditctl -a exit,never -F auid=-1
      gives:
      	auditctl -l
      		LIST_RULES: exit,never f24=0 syscall=all
      when it should give:
      		LIST_RULES: exit,never auid=-1 (0xffffffff) syscall=all
      
      Tag it so that it is reported the same way it was set.  Create a new
      private flags audit_krule field (pflags) to store it that won't interact with
      the public one from the API.
      
      Cc: stable@vger.kernel.org # v3.10-rc1+
      Signed-off-by: default avatarRichard Guy Briggs <rgb@redhat.com>
      Signed-off-by: default avatarPaul Moore <pmoore@redhat.com>
      041d7b98
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 53262d12
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
       - __cpu_suspend mm switching fix after warm boot
       - arch_setup_dma_ops implementation
       - pgd_page compilation error fix
       - defconfig updates
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: mm: Add pgd_page to support RCU fast_gup
        arm64: defconfig: defconfig update for 3.19
        arm64: kernel: fix __cpu_suspend mm switch on warm-boot
        arm64: Replace set_arch_dma_coherent_ops with arch_setup_dma_ops
      53262d12
    • Jungseok Lee's avatar
      arm64: mm: Add pgd_page to support RCU fast_gup · 5d96e0cb
      Jungseok Lee authored
      This patch adds pgd_page definition in order to keep supporting
      HAVE_GENERIC_RCU_GUP configuration. In addition, it changes pud_page
      expression to align with pmd_page for readability.
      
      An introduction of pgd_page resolves the following build breakage
      under 4KB + 4Level memory management combo.
      
      mm/gup.c: In function 'gup_huge_pgd':
      mm/gup.c:889:2: error: implicit declaration of function 'pgd_page' [-Werror=implicit-function-declaration]
        head = pgd_page(orig);
        ^
      mm/gup.c:889:7: warning: assignment makes pointer from integer without a cast
        head = pgd_page(orig);
      
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Steve Capper <steve.capper@linaro.org>
      Signed-off-by: default avatarJungseok Lee <jungseoklee85@gmail.com>
      [catalin.marinas@arm.com: remove duplicate pmd_page definition]
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      5d96e0cb
    • Will Deacon's avatar
      arm64: defconfig: defconfig update for 3.19 · f7bf130e
      Will Deacon authored
      The usual defconfig tweaks, this time:
      
        - FHANDLE and AUTOFS4_FS to keep systemd happy
        - PID_NS, QUOTA and KEYS to keep LTP happy
        - Disable DEBUG_PREEMPT, as this *really* hurts performance
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      f7bf130e
    • Lorenzo Pieralisi's avatar
      arm64: kernel: fix __cpu_suspend mm switch on warm-boot · f43c2718
      Lorenzo Pieralisi authored
      On arm64 the TTBR0_EL1 register is set to either the reserved TTBR0
      page tables on boot or to the active_mm mappings belonging to user space
      processes, it must never be set to swapper_pg_dir page tables mappings.
      
      When a CPU is booted its active_mm is set to init_mm even though its
      TTBR0_EL1 points at the reserved TTBR0 page mappings. This implies
      that when __cpu_suspend is triggered the active_mm can point at
      init_mm even if the current TTBR0_EL1 register contains the reserved
      TTBR0_EL1 mappings.
      
      Therefore, the mm save and restore executed in __cpu_suspend might
      turn out to be erroneous in that, if the current->active_mm corresponds
      to init_mm, on resume from low power it ends up restoring in the
      TTBR0_EL1 the init_mm mappings that are global and can cause speculation
      of TLB entries which end up being propagated to user space.
      
      This patch fixes the issue by checking the active_mm pointer before
      restoring the TTBR0 mappings. If the current active_mm == &init_mm,
      the code sets the TTBR0_EL1 to the reserved TTBR0 mapping instead of
      switching back to the active_mm, which is the expected behaviour
      corresponding to the TTBR0_EL1 settings when __cpu_suspend was entered.
      
      Fixes: 95322526 ("arm64: kernel: cpu_{suspend/resume} implementation")
      Cc: <stable@vger.kernel.org> # 3.14+: 18ab7db6
      Cc: <stable@vger.kernel.org> # 3.14+: 714f5992
      Cc: <stable@vger.kernel.org> # 3.14+: c3684fbb
      Cc: <stable@vger.kernel.org> # 3.14+
      Cc: Will Deacon <will.deacon@arm.com>
      Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      f43c2718
    • Dave Jones's avatar
      agp: Fix up email address & attributions in AGP MODULE_AUTHOR tags · bd8136d3
      Dave Jones authored
      - Remove soon-to-be-dead @redhat address.
      - Jeff Hartmann wrote the bulk of the original backend code, and should
        at least get a mention in the MODULE_AUTHOR for backend.o
      - Various people at Intel have done a lot more work than myself on the
        intel-* drivers, so again, mention that.
      Signed-off-by: default avatarDave Jones <davej@redhat.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      bd8136d3
  11. 22 Dec, 2014 5 commits
    • Linus Torvalds's avatar
      Merge tag 'dm-3.19-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · aa39477b
      Linus Torvalds authored
      Pull device mapper fixes from Mike Snitzer:
       "Thre stable fixes and one fix for a regression introduced during 3.19
        merge:
      
         - Fix inability to discard used space when the thin-pool target is in
           out-of-data-space mode and also transition the thin-pool back to
           write mode once free space is made available.
      
         - Fix DM core bio-based end_io bug that prevented proper
           post-processing of the error code returned from the block layer.
      
         - Fix crash in DM thin-pool due to thin device being added to the
           pool's active_thins list before properly initializing the thin
           device's refcount"
      
      * tag 'dm-3.19-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm: fix missed error code if .end_io isn't implemented by target_type
        dm thin: fix crash by initializing thin device's refcount and completion earlier
        dm thin: fix missing out-of-data-space to write mode transition if blocks are released
        dm thin: fix inability to discard blocks when in out-of-data-space mode
      aa39477b
    • Kirill A. Shutemov's avatar
      Revert "mm/memory.c: share the i_mmap_rwsem" · 48ec833b
      Kirill A. Shutemov authored
      This reverts commit c8475d14.
      
      There are several[1][2] of bug reports which points to this commit as potential
      cause[3].
      
      Let's revert it until we figure out what's going on.
      
      [1] https://lkml.org/lkml/2014/11/14/342
      [2] https://lkml.org/lkml/2014/12/22/213
      [3] https://lkml.org/lkml/2014/12/9/741Signed-off-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Reported-by: default avatarSasha Levin <sasha.levin@oracle.com>
      Acked-by: default avatarDavidlohr Bueso <dave@stgolabs.net>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      48ec833b
    • Dave Airlie's avatar
      Merge tag 'drm/tegra/for-3.19-rc1-fixes' of git://people.freedesktop.org/~tagr/linux into drm-fixes · fc556fb6
      Dave Airlie authored
      drm/tegra: Fixes for v3.19-rc1
      
      This is a set of fixes for two regressions and one bug in the IOMMU
      mapping code. It turns out that all of these issues turn up primarily
      on Tegra30 hardware. The IOMMU mapping bug only manifests on buffers
      that aren't multiples of the page size. I happened to be testing HDMI
      with 1080p while writing the code and framebuffers for that happen to
      fit exactly within 2025 pages of 4 KiB each.
      
      One of the regressions is caused by the IOMMU code allocating pages from
      shmem which can have associated cache lines. If the pages aren't flushed
      then these cache lines may be flushed later on and cause framebuffer
      corruption. I'm not sure why I didn't see this before. Perhaps the board
      that I was using had enough RAM so that the pages shmem would hand out
      had a better chance of being unused. Or maybe I didn't look too closely.
      The fix for this is to fake up an SG table so that it can be passed to
      the DMA API. Ideally this would use drm_clflush_*(), but implementing
      that for ARM causes DRM to fail to build as a module since some of the
      low-level cache maintenance functions aren't exported. Hopefully we can
      get a suitable API exported on ARM for the next release.
      
      The second regression is caused by a mismatch between the hardware pipe
      number and the CRTC's DRM index. These were used inconsistently, which
      could cause one code location to call drm_vblank_get() with a different
      pipe than the corresponding drm_vblank_put(), thereby causing the
      reference count to become unbalanced. Alexandre also reported a possible
      race condition related to this, which this series also fixes.
      
      * tag 'drm/tegra/for-3.19-rc1-fixes' of git://people.freedesktop.org/~tagr/linux:
        drm/tegra: dc: Select root window for event dispatch
        drm/tegra: gem: Use the proper size for GEM objects
        drm/tegra: gem: Flush buffer objects upon allocation
        drm/tegra: dc: Fix a potential race on page-flip completion
        drm/tegra: dc: Consistently use the same pipe
        drm/irq: Add drm_crtc_vblank_count()
        drm/irq: Add drm_crtc_handle_vblank()
        drm/irq: Add drm_crtc_send_vblank_event()
      fc556fb6
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-fixes-2014-12-17' of... · a548a838
      Dave Airlie authored
      Merge tag 'drm-intel-next-fixes-2014-12-17' of git://anongit.freedesktop.org/drm-intel into drm-fixes
      
      misc i915 fixes.
      
      * tag 'drm-intel-next-fixes-2014-12-17' of git://anongit.freedesktop.org/drm-intel:
        drm/i915: Disable PSMI sleep messages on all rings around context switches
        drm/i915: Force the CS stall for invalidate flushes
        drm/i915: Invalidate media caches on gen7
        drm/i915: sanitize RPS resetting during GPU reset
        drm/i915: move RPS PM_IER enabling to gen6_enable_rps_interrupts
        drm/i915: vlv: fix IRQ masking when uninstalling interrupts
      a548a838
    • Dave Airlie's avatar
      Merge tag 'topic/atomic-fixes-2014-12-17' of git://anongit.freedesktop.org/drm-intel into drm-fixes · 2e33054e
      Dave Airlie authored
      Yeah a pull for one patch is a bit overkill but I started to assemble the
      various patches for 3.20 in a branch for atomic props/ioctl and didn't
      realize that this bugfix here at the beginnning of the branch should be in
      3.19 (because msm is using the helpers arleady). So if you'd merge we'd
      have it twice or or I need to shuffle branches again. Can do if you want.
      
      * tag 'topic/atomic-fixes-2014-12-17' of git://anongit.freedesktop.org/drm-intel:
        drm/atomic: fix potential null ptr on plane enable
      2e33054e