1. 12 1月, 2015 1 次提交
    • S
      pinctrl: pinconf-generic: Infer map type from DT property · 31c89c95
      Soren Brinkmann 提交于
      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: NSoren Brinkmann <soren.brinkmann@xilinx.com>
      Tested-by: NAndreas Färber <afaerber@suse.de>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      31c89c95
  2. 11 1月, 2015 5 次提交
  3. 29 12月, 2014 3 次提交
  4. 28 12月, 2014 5 次提交
  5. 27 12月, 2014 3 次提交
  6. 26 12月, 2014 4 次提交
    • L
      ALSA: hda_intel: apply the Seperate stream_tag for Skylake · d6795827
      Libin Yang 提交于
      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: NLibin Yang <libin.yang@intel.com>
      Reviewed-by: NVinod Koul <vinod.koul@intel.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      d6795827
    • R
      ALSA: hda_controller: Separate stream_tag for input and output streams. · 93e3423e
      Rafal Redzimski 提交于
      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: NRafal Redzimski <rafal.f.redzimski@intel.com>
      Signed-off-by: NJayachandran B <jayachandran.b@intel.com>
      Signed-off-by: NLibin Yang <libin.yang@intel.com>
      Reviewed-by: NVinod Koul <vinod.koul@intel.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      93e3423e
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 08b022a9
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'for-linus-2' of git://git.code.sf.net/p/openipmi/linux-ipmi · ebda37c9
      Linus Torvalds 提交于
      Pull ipmi driver bugfixes from Corey Minyard:
       "Fix two bugs:
      
        One that lockdep turned up, I didn't go far enough with cleanup of
        attributes for IPMI.  This has been there a long time; my previous fix
        of this didn't fix all the attributes.
      
        One fix for some arches that need an explicit linux/ctype.h for
        isspace()"
      
      * tag 'for-linus-2' of git://git.code.sf.net/p/openipmi/linux-ipmi:
        ipmi: Fix compile issue with isspace()
        ipmi: Finish cleanup of BMC attributes
      ebda37c9
  7. 24 12月, 2014 8 次提交
    • D
      Revert "drm/gem: Warn on illegal use of the dumb buffer interface v2" · da6b51d0
      Dave Airlie 提交于
      This reverts commit 355a7018.
      
      This had some bad side effects under normal operation, and should
      have been dropped earlier.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      da6b51d0
    • D
      Merge tag 'amdkfd-fixes-2014-12-23' of git://people.freedesktop.org/~gabbayo/linux into drm-fixes · 0d83b72a
      Dave Airlie 提交于
      - Display MEC fw version in topology. Without this, the HSA userspace
        stack is broken.
      
      - Init apertures information only once per process
      
      * tag 'amdkfd-fixes-2014-12-23' of git://people.freedesktop.org/~gabbayo/linux:
        amdkfd: init aperture once per process
        amdkfd: Display MEC fw version in topology node
        drm/radeon: Add implementation of get_fw_version
        drm/amd: Add get_fw_version to kfd-->kgd interface
      0d83b72a
    • L
      Merge branch 'upstream' of git://git.infradead.org/users/pcmoore/audit · 66b3f4f0
      Linus Torvalds 提交于
      Pull audit fixes from Paul Moore:
       "Four patches to fix various problems with the audit subsystem, all are
        fairly small and straightforward.
      
        One patch fixes a problem where we weren't using the correct gfp
        allocation flags (GFP_KERNEL regardless of context, oops), one patch
        fixes a problem with old userspace tools (this was broken for a
        while), one patch fixes a problem where we weren't recording pathnames
        correctly, and one fixes a problem with PID based filters.
      
        In general I don't think there is anything controversial with this
        patchset, and it fixes some rather unfortunate bugs; the allocation
        flag one can be particularly scary looking for users"
      
      * 'upstream' of git://git.infradead.org/users/pcmoore/audit:
        audit: restore AUDIT_LOGINUID unset ABI
        audit: correctly record file names with different path name types
        audit: use supplied gfp_mask from audit_buffer in kauditd_send_multicast_skb
        audit: don't attempt to lookup PIDs when changing PID filtering audit rules
      66b3f4f0
    • R
      audit: restore AUDIT_LOGINUID unset ABI · 041d7b98
      Richard Guy Briggs 提交于
      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: NRichard Guy Briggs <rgb@redhat.com>
      Signed-off-by: NPaul Moore <pmoore@redhat.com>
      041d7b98
    • L
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 53262d12
      Linus Torvalds 提交于
      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
    • J
      arm64: mm: Add pgd_page to support RCU fast_gup · 5d96e0cb
      Jungseok Lee 提交于
      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: NJungseok Lee <jungseoklee85@gmail.com>
      [catalin.marinas@arm.com: remove duplicate pmd_page definition]
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      5d96e0cb
    • W
      arm64: defconfig: defconfig update for 3.19 · f7bf130e
      Will Deacon 提交于
      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: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      f7bf130e
    • L
      arm64: kernel: fix __cpu_suspend mm switch on warm-boot · f43c2718
      Lorenzo Pieralisi 提交于
      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: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      f43c2718
  8. 23 12月, 2014 9 次提交
    • D
      agp: Fix up email address & attributions in AGP MODULE_AUTHOR tags · bd8136d3
      Dave Jones 提交于
      - 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: NDave Jones <davej@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      bd8136d3
    • L
      Merge tag 'dm-3.19-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · aa39477b
      Linus Torvalds 提交于
      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
    • K
      Revert "mm/memory.c: share the i_mmap_rwsem" · 48ec833b
      Kirill A. Shutemov 提交于
      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: NKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Reported-by: NSasha Levin <sasha.levin@oracle.com>
      Acked-by: NDavidlohr 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: NLinus Torvalds <torvalds@linux-foundation.org>
      48ec833b
    • D
      Merge tag 'drm/tegra/for-3.19-rc1-fixes' of git://people.freedesktop.org/~tagr/linux into drm-fixes · fc556fb6
      Dave Airlie 提交于
      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
    • D
      Merge tag 'drm-intel-next-fixes-2014-12-17' of... · a548a838
      Dave Airlie 提交于
      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
    • D
      Merge tag 'topic/atomic-fixes-2014-12-17' of git://anongit.freedesktop.org/drm-intel into drm-fixes · 2e33054e
      Dave Airlie 提交于
      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
    • D
      Merge branch 'msm-fixes-3.19' of git://people.freedesktop.org/~robclark/linux into drm-fixes · 955f6be8
      Dave Airlie 提交于
      A few msm fixes for 3.19:
       * hdmi regulators fix
       * hdmi fix for spurious HPD interrupts
       * fix for sync atomic update after async update (which could show
         up with a setcrtc following a pageflip)
       * couple little Coccinelle cleanups
      
      * 'msm-fixes-3.19' of git://people.freedesktop.org/~robclark/linux:
        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/msm: Deletion of unnecessary checks before the function call "release_firmware"
        drm/msm: Deletion of unnecessary checks before two function calls
      955f6be8
    • D
      nouveau: bring back legacy mmap handler · 2036eaa7
      Dave Airlie 提交于
      nouveau userspace back at 1.0.1 used to call the X server
      DRIOpenDRMMaster interface even for DRI2 (doh!), this attempts
      to map the sarea and fails if it can't.
      
      Since 884c6dab from Daniel,
      this fails, but only ancient drivers would see it.
      
      Revert the nouveau bits of that fix.
      Acked-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Cc: <stable@vger.kernel.org>  # 3.18
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      2036eaa7
    • P
      audit: correctly record file names with different path name types · 4a928436
      Paul Moore 提交于
      There is a problem with the audit system when multiple audit records
      are created for the same path, each with a different path name type.
      The root cause of the problem is in __audit_inode() when an exact
      match (both the path name and path name type) is not found for a
      path name record; the existing code creates a new path name record,
      but it never sets the path name in this record, leaving it NULL.
      This patch corrects this problem by assigning the path name to these
      newly created records.
      
      There are many ways to reproduce this problem, but one of the
      easiest is the following (assuming auditd is running):
      
        # mkdir /root/tmp/test
        # touch /root/tmp/test/567
        # auditctl -a always,exit -F dir=/root/tmp/test
        # touch /root/tmp/test/567
      
      Afterwards, or while the commands above are running, check the audit
      log and pay special attention to the PATH records.  A faulty kernel
      will display something like the following for the file creation:
      
        type=SYSCALL msg=audit(1416957442.025:93): arch=c000003e syscall=2
          success=yes exit=3 ... comm="touch" exe="/usr/bin/touch"
        type=CWD msg=audit(1416957442.025:93):  cwd="/root/tmp"
        type=PATH msg=audit(1416957442.025:93): item=0 name="test/"
          inode=401409 ... nametype=PARENT
        type=PATH msg=audit(1416957442.025:93): item=1 name=(null)
          inode=393804 ... nametype=NORMAL
        type=PATH msg=audit(1416957442.025:93): item=2 name=(null)
          inode=393804 ... nametype=NORMAL
      
      While a patched kernel will show the following:
      
        type=SYSCALL msg=audit(1416955786.566:89): arch=c000003e syscall=2
          success=yes exit=3 ... comm="touch" exe="/usr/bin/touch"
        type=CWD msg=audit(1416955786.566:89):  cwd="/root/tmp"
        type=PATH msg=audit(1416955786.566:89): item=0 name="test/"
          inode=401409 ... nametype=PARENT
        type=PATH msg=audit(1416955786.566:89): item=1 name="test/567"
          inode=393804 ... nametype=NORMAL
      
      This issue was brought up by a number of people, but special credit
      should go to hujianyang@huawei.com for reporting the problem along
      with an explanation of the problem and a patch.  While the original
      patch did have some problems (see the archive link below), it did
      demonstrate the problem and helped kickstart the fix presented here.
      
        * https://lkml.org/lkml/2014/9/5/66Reported-by: Nhujianyang <hujianyang@huawei.com>
      Signed-off-by: NPaul Moore <pmoore@redhat.com>
      Acked-by: NRichard Guy Briggs <rgb@redhat.com>
      4a928436
  9. 22 12月, 2014 2 次提交