1. 17 Jul, 2015 1 commit
    • Dave Airlie's avatar
      Merge branch 'drm-armada-fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-fixes · 8f6644ca
      Dave Airlie authored
      A range of fixes for the Armada DRM driver:
      - A missing wakeup could result in overlay frames being delayed, causing
        video playback to hiccup.
      - Avoid unmapping a dma-buf attachment which was never mapped
      - Fix the overlay when partially off the screen by switching to the
        drm_plane_helper_check_update() helper and using the calculated
        coordinates to set the start address.
      - Remove an incorrect assignment to crtc->mode - which should be the
        unadjusted mode.
      - Fix a missing call to drm_plane_cleanup() in the overlay code.
      
      * 'drm-armada-fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        drm/armada: avoid saving the adjusted mode to crtc->mode
        drm/armada: fix overlay when partially off-screen
        drm/armada: convert overlay to use drm_plane_helper_check_update()
        drm/armada: fix gem object free after failed prime import
        drm/armada: fix incorrect overlay plane cleanup
        drm/armada: fix missing overlay wake-up
      8f6644ca
  2. 16 Jul, 2015 18 commits
  3. 15 Jul, 2015 14 commits
    • Linus Torvalds's avatar
      Merge tag 'locks-v4.2-1' of git://git.samba.org/jlayton/linux · 16ff49a0
      Linus Torvalds authored
      Pull file locking updates from Jeff Layton:
       "I had thought that I was going to get away without a pull request this
        cycle.  There was a NFSv4 file locking problem that cropped up that I
        tried to fix in the NFSv4 code alone, but that fix has turned out to
        be problematic.  These patches fix this in the correct way.
      
        Note that this touches some NFSv4 code as well.  Ordinarily I'd wait
        for Trond to ACK this, but he's on holiday right now and the bug is
        rather nasty.  So I suggest we merge this and if he raises issues with
        it we can sort it out when he gets back"
      Acked-by: default avatarBruce Fields <bfields@fieldses.org>
      Acked-by: default avatarDan Williams <dan.j.williams@intel.com>
       [ +1 to this series fixing a 100% reproducible slab corruption +
         general protection fault in my nfs-root test environment. - Dan ]
      Acked-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
      
      * tag 'locks-v4.2-1' of git://git.samba.org/jlayton/linux:
        locks: inline posix_lock_file_wait and flock_lock_file_wait
        nfs4: have do_vfs_lock take an inode pointer
        locks: new helpers - flock_lock_inode_wait and posix_lock_inode_wait
        locks: have flock_lock_file take an inode pointer instead of a filp
        Revert "nfs: take extra reference to fl->fl_file when running a LOCKU operation"
      16ff49a0
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · df14a68d
      Linus Torvalds authored
      Pull KVM fixes from Paolo Bonzini:
      
       - Fix FPU refactoring ("kvm: x86: fix load xsave feature warning")
      
       - Fix eager FPU mode (Cc stable)
      
       - AMD bits of MTRR virtualization
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        kvm: x86: fix load xsave feature warning
        KVM: x86: apply guest MTRR virtualization on host reserved pages
        KVM: SVM: Sync g_pat with guest-written PAT value
        KVM: SVM: use NPT page attributes
        KVM: count number of assigned devices
        KVM: VMX: fix vmwrite to invalid VMCS
        KVM: x86: reintroduce kvm_is_mmio_pfn
        x86: hyperv: add CPUID bit for crash handlers
      df14a68d
    • Linus Torvalds's avatar
      Merge tag 'arc-v4.2-rc3-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · bec33cd2
      Linus Torvalds authored
      Pull ARC fixes from Vineet Gupta:
       - Makefile changes (top-level+ARC) reinstates -O3 builds (regression
         since 3.16)
       - IDU intc related fixes, IRQ affinity
       - patch to make bitops safer for ARC
       - perf fix from Alexey to remove signed PC braino
       - Futex backend gets llock/scond support
      
      * tag 'arc-v4.2-rc3-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        ARCv2: support HS38 releases
        ARC: make sure instruction_pointer() returns unsigned value
        ARC: slightly refactor macros for boot logging
        ARC: Add llock/scond to futex backend
        arc:irqchip: prepare for drivers/irqchip/irqchip.h removal
        ARC: Make ARC bitops "safer" (add anti-optimization)
        ARCv2: [axs103] bump CPU frequency from 75 to 90 MHZ
        ARCv2: intc: IDU: Fix potential race in installing a chained IRQ handler
        ARCv2: intc: IDU: support irq affinity
        ARC: fix unused var wanring
        ARC: Don't memzero twice in dma_alloc_coherent for __GFP_ZERO
        ARC: Override toplevel default -O2 with -O3
        kbuild: Allow arch Makefiles to override {cpp,ld,c}flags
        ARCv2: guard SLC DMA ops with spinlock
        ARC: Kconfig: better way to disable ARC_HAS_LLSC for ARC_CPU_750D
      bec33cd2
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 9c69481e
      Linus Torvalds authored
      Pull s390 fixes from Martin Schwidefsky:
       "One improvement for the zcrypt driver, the quality attribute for the
        hwrng device has been missing.  Without it the kernel entropy seeding
        will not happen automatically.
      
        And six bug fixes, the most important one is the fix for the vector
        register corruption due to machine checks"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/nmi: fix vector register corruption
        s390/process: fix sfpc inline assembly
        s390/dasd: fix kernel panic when alias is set offline
        s390/sclp: clear upper register halves in _sclp_print_early
        s390/oprofile: fix compile error
        s390/sclp: fix compile error
        s390/zcrypt: enable s390 hwrng to seed kernel entropy
      9c69481e
    • Linus Torvalds's avatar
      Merge tag 'module-final-v4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux · 97d6e2b6
      Linus Torvalds authored
      Pull final init.h/module.h code relocation from Paul Gortmaker:
       "With the release of 4.2-rc2 done, we should not be seeing any new code
        added that gets upset by this small code move, and we've banked yet
        another complete week of testing with this move in place on top of
        4.2-rc1 via linux-next to ensure that remained true.
      
        Given that, I'd like to put it in now so that people formulating new
        work for 4.3-rc1 will be exposed to the ever so slightly stricter (but
        sensible) requirements wrt.  whether they are needing init.h vs.
        module.h macros, even if they are not using linux-next.
      
        The diffstat of the move is slightly asymmetrical due to needing to
        leave behind a couple #ifdef in the old location and add the same ones
        to the new location, but other than that, it is a 1:1 move, complete
        with the module_init/exit trailing semicolon that we can't fix.  That
        is, until/unless someone does a tree-wide sed fix of all the
        approximately 800 currently in tree users relying on it"
      
      * tag 'module-final-v4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
        module: relocate module_init from init.h to module.h
      97d6e2b6
    • Linus Torvalds's avatar
      Merge tag 'trace-v4.2-rc1-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 75580097
      Linus Torvalds authored
      Pull tracing fix from Steven Rostedt:
       "Fengguang Wu discovered a crash that happened to be because of the
        branch tracer (traces unlikely and likely branches) when enabled with
        certain debug options.
      
        What happened was that various debug options like lockdep and
        DEBUG_PREEMPT can cause parts of the branch tracer to recurse outside
        its recursion protection.  In fact, part of its recursion protection
        used these features that caused the lockup.  This cleans up the code a
        little and makes the recursion protection a bit more robust"
      
      * tag 'trace-v4.2-rc1-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Have branch tracer use recursive field of task struct
      75580097
    • Russell King's avatar
      drm/armada: avoid saving the adjusted mode to crtc->mode · c62ff6b3
      Russell King authored
      We're not supposed to store the adjusted mode into crtc->mode.  We don't
      use it anyway, so we can safely remove this.
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      c62ff6b3
    • Russell King's avatar
      drm/armada: fix overlay when partially off-screen · 73068ce3
      Russell King authored
      Fix the start address calculation when overlay is partially off screen.
      fb->bits_per_pixel is not set for YUV formats, and is always zero, which
      led to the first component always starting at zero.
      
      Use drm_format_plane_cpp() instead.
      
      This also revealed a problem in that YUYV formats toggle the U/V data
      for odd pixel start address offsets.  We try to rectify that by
      toggling the U/V swap, which for the most part works, but seemingly
      introduces a flicker for one scan frame of swapped U/V.
      
      However, these changes result in an overall improvement.
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      73068ce3
    • Russell King's avatar
      drm/armada: convert overlay to use drm_plane_helper_check_update() · 98fb74f4
      Russell King authored
      Use drm_plane_helper_check_update() rather than our own code to validate
      and limit the size of the displayed image.  As we are able to support
      scaling, permit the full scaling ability.
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      98fb74f4
    • Russell King's avatar
      drm/armada: fix gem object free after failed prime import · 0481c8c4
      Russell King authored
      Fix the gem object freeing after a partial import of a dma buffer,
      eg, one which has been imported, but not mapped.  This was provoking
      a warning from the dma_buf code.
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      0481c8c4
    • Russell King's avatar
      drm/armada: fix incorrect overlay plane cleanup · 41dbb2db
      Russell King authored
      The Armada overlay plane wasn't being properly cleaned up as it was
      missing a call to drm_plane_cleanup().  It also wasn't freeing the
      right type of pointer (although we were still freeing the right
      pointer value.)
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      41dbb2db
    • Russell King's avatar
      drm/armada: fix missing overlay wake-up · 070f3f6b
      Russell King authored
      Nothing was waking up the overlay plane wait queue, so we were fully
      reliant on the HZ/25 wait timing out to make progress.  Fix the lack
      of wake-up.
      
      We were also mis-handling the wait_event_timeout() return value - this
      returns an unsigned integer of the remaining time, or zero on timeout
      and the condition evaluated false.  Checking this for less than zero
      is not sane.
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      070f3f6b
    • James Morris's avatar
    • Tvrtko Ursulin's avatar
      drm: Provide compat ioctl for addfb2.1 · c631d5f9
      Tvrtko Ursulin authored
      Frame buffer modifiers extensions provided in;
      
        commit e3eb3250
        Author: Rob Clark <robdclark@gmail.com>
        Date:   Thu Feb 5 14:41:52 2015 +0000
      
            drm: add support for tiled/compressed/etc modifier in addfb2
      
      Missed the structure packing/alignment problem where 64-bit
      members were added after the odd number of 32-bit ones. This
      makes the compiler produce structures of different sizes under
      32- and 64-bit x86 targets and makes the ioctl need explicit
      compat handling.
      
      v2: Removed the typedef. (Daniel Vetter)
      Signed-off-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Cc: dri-devel@lists.freedesktop.org
      Cc: Rob Clark <robdclark@gmail.com>
      Cc: Daniel Stone <daniels@collabora.com>
      Cc: Daniel Vetter <daniel.vetter@intel.com>
      Cc: stable@vger.kernel.org
      [danvet: Squash in compile fix from Mika.]
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      c631d5f9
  4. 14 Jul, 2015 7 commits
    • Johannes Thumshirn's avatar
      IB/core: Destroy ocrdma_dev_id IDR on module exit · d8b2ba7c
      Johannes Thumshirn authored
      Destroy ocrdma_dev_id IDR on module exit, reclaiming the allocated memory.
      
      This was detected by the following semantic patch (written by Luis Rodriguez
      <mcgrof@suse.com>)
      <SmPL>
      @ defines_module_init @
      declarer name module_init, module_exit;
      declarer name DEFINE_IDR;
      identifier init;
      @@
      
      module_init(init);
      
      @ defines_module_exit @
      identifier exit;
      @@
      
      module_exit(exit);
      
      @ declares_idr depends on defines_module_init && defines_module_exit @
      identifier idr;
      @@
      
      DEFINE_IDR(idr);
      
      @ on_exit_calls_destroy depends on declares_idr && defines_module_exit @
      identifier declares_idr.idr, defines_module_exit.exit;
      @@
      
      exit(void)
      {
       ...
       idr_destroy(&idr);
       ...
      }
      
      @ missing_module_idr_destroy depends on declares_idr && defines_module_exit && !on_exit_calls_destroy @
      identifier declares_idr.idr, defines_module_exit.exit;
      @@
      
      exit(void)
      {
       ...
       +idr_destroy(&idr);
       }
      
      </SmPL>
      Signed-off-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      d8b2ba7c
    • Johannes Thumshirn's avatar
      IB/core: Destroy multcast_idr on module exit · 45d25420
      Johannes Thumshirn authored
      Destroy multcast_idr on module exit, reclaiming the allocated memory.
      
      This was detected by the following semantic patch (written by Luis Rodriguez
      <mcgrof@suse.com>)
      <SmPL>
      @ defines_module_init @
      declarer name module_init, module_exit;
      declarer name DEFINE_IDR;
      identifier init;
      @@
      
      module_init(init);
      
      @ defines_module_exit @
      identifier exit;
      @@
      
      module_exit(exit);
      
      @ declares_idr depends on defines_module_init && defines_module_exit @
      identifier idr;
      @@
      
      DEFINE_IDR(idr);
      
      @ on_exit_calls_destroy depends on declares_idr && defines_module_exit @
      identifier declares_idr.idr, defines_module_exit.exit;
      @@
      
      exit(void)
      {
       ...
       idr_destroy(&idr);
       ...
      }
      
      @ missing_module_idr_destroy depends on declares_idr && defines_module_exit && !on_exit_calls_destroy @
      identifier declares_idr.idr, defines_module_exit.exit;
      @@
      
      exit(void)
      {
       ...
       +idr_destroy(&idr);
      }
      
      </SmPL>
      Signed-off-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      45d25420
    • Doug Ledford's avatar
      IB/mlx4: Optimize do_slave_init · d9a047ae
      Doug Ledford authored
      There is little chance our memory allocation will fail, so we can
      combine initializing the work structs with allocating them instead of
      looping through all of them once to allocate and again to initialize.
      Then when we need to actually find out if our device is up or in the
      process of going down, have all of our work structs batched up, take the
      spin_lock once and only once, and do all of the batch under the one
      spin_lock invocation instead of incurring all of the locked memory cycles
      we would otherwise incur to take/release the spin_lock over and over
      again.
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      d9a047ae
    • Doug Ledford's avatar
      IB/mlx4: Fix memory leak in do_slave_init · 9bbf282d
      Doug Ledford authored
      We create a number of work structs to be queued up to a workqueue, and
      on completion of the workqueue handler, the workqueue handler frees the
      allocated memory.  If, however, we don't queue the work struct because
      the device is going down, then we need to free the memory ourselves.
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      9bbf282d
    • Maninder Singh's avatar
      IB/mlx4: Optimize freeing of items on error unwind · a39a98ff
      Maninder Singh authored
      On failure, we loop through all possible pointers and test them before
      calling kfree.  But really, why even attempt to free items we didn't
      allocate when we can easily loop through exactly and only the devices
      for which the original memory allocation succeeded and free just those.
      Signed-off-by: default avatarManinder Singh <maninder1.s@samsung.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      a39a98ff
    • Or Gerlitz's avatar
      IB/mlx4: Fix use of flow-counters for process_mad · 43bfb972
      Or Gerlitz authored
      For IB links, reading HCA flow counters through iboe_process_mad() should
      be used when mlx4_ib_process_mad() is invoked only for VFs PMA queries and
      exactly nothing else.
      
      Fixes: 7193a141 ('IB/mlx4: Set VF to read from QP counters')
      Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      43bfb972
    • Vaishali Thakkar's avatar
      IB/ipath: Convert use of __constant_<foo> to <foo> · cb1ff431
      Vaishali Thakkar authored
      In little endian cases, the macros be16_to_cpu and cpu_to_be64
      unfolds to __swab{16,64} which provides special case for constants.
      In big endian cases, __constant_be16_to_cpu and be16_to_cpu
      expand directly to the same expression. The same applies for
      __constant_cpu_to_be64 and cpu_to_be64.
      
      So, replace __constant_be16_to_cpu with be16_to_cpu and
      __constant_cpu_to_be64 with cpu_to_be64, with the goal of getting
      rid of the definition of __constant_be16_to_cpu and
      __constant_cpu_to_be64 completely.
      Signed-off-by: default avatarVaishali Thakkar <vthakkar1994@gmail.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      cb1ff431