1. 03 Jun, 2015 17 commits
    • Dave Airlie's avatar
      Merge branch 'linux-4.1.0-rc5-tilcdc-refactor' of https://github.com/jsarha/linux into drm-next · 6aa62725
      Dave Airlie authored
      Please pull the contents of "Use DRM component API in tilcdc to
      connect to tda998x" patch series.
      
      * 'linux-4.1.0-rc5-tilcdc-refactor' of https://github.com/jsarha/linux:
        drm/tilcdc: Force building of DRM_TILCDC_SLAVE_COMPAT
        drm/tilcdc: Add DRM_TILCDC_SLAVE_COMPAT for ti,tilcdc,slave binding support
        drm/tilcdc: use pm_runtime_irq_safe()
        drm/tilcdc: Add support for external tda998x encoder
        drm/tilcdc: Remove tilcdc slave support for tda998x driver
        drm/tilcdc: Fix module unloading
      6aa62725
    • Dave Airlie's avatar
      Merge tag 'v4.1-rc6' into drm-next · a8a50fce
      Dave Airlie authored
      Linux 4.1-rc6
      
      backmerge 4.1-rc6 as some of the later pull reqs are based on newer bases
      and I'd prefer to do the fixup myself.
      a8a50fce
    • Maarten Lankhorst's avatar
      drm/atomic: Clear crtc_state->active in drm_atomic_helper_set_config. · 9b5edbf7
      Maarten Lankhorst authored
      This fixes some regressions in i915 when converting to atomic.
      set_config failed with -EINVAL, and I received the following warning
      in dmesg:
      
      [drm:drm_atomic_crtc_check] [CRTC:20] active without enabled
      
      Solve this by clearing active when a crtc is disabled.
      
      Because crtc_state->enable implies that connectors are active the
      change from disabled->enabled can only happen for the crtc that's
      being set_config'd, and checking for !crtc_state->enable is sufficient
      here.
      
      Cc: dri-devel@lists.freedesktop.org
      Reviewed-by: default avatarRob Clark <robdclark@gmail.com>
      Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      9b5edbf7
    • Dave Airlie's avatar
      Merge tag 'topic/drm-misc-2015-05-27' of git://anongit.freedesktop.org/drm-intel into drm-next · 531e63e1
      Dave Airlie authored
      One more round of drm-misc, again mostly atomic. Big thing is the
      userspace blob code from Daniel Stone, with support for the mode_id blob
      now added to the atomic ioctl. Finally we can do atomic modesets!
      
      Note that the atomic ioctl is still behind the module knob since the
      weston patches aren't quite ready yet imo - they lack TEST_ONLY support,
      which is a fairly crucial bit of the atomic api. But besides that I think
      it's all good to go. That's also why we didn't bother to hide the new blob
      ioctls behind the knob, that part won't need to change. And if weston
      patches get in shape in time we could throw the "atomic by default patch"
      on top for 4.2.
      
      * tag 'topic/drm-misc-2015-05-27' of git://anongit.freedesktop.org/drm-intel:
        drm: Fix off-by-one in vblank hardware counter wraparound handling
        drm/atomic: fix out of bounds read in for_each_*_in_state helpers
        drm/atomic: Add MODE_ID property
        drm/atomic: Add current-mode blob to CRTC state
        drm: Add drm_atomic_set_mode_for_crtc
        drm: check for garbage in unused addfb2 fields
        drm: Retain reference to blob properties in lookup
        drm/mode: Add user blob-creation ioctl
        drm: Return error value from blob creation
        drm: Allow creating blob properties without copy
        drm/mode: Unstatic kernel-userspace mode conversion
        drm/mode: Validate modes inside drm_crtc_convert_umode
        drm/crtc_helper: Replace open-coded CRTC state helpers
        drm: kerneldoc fixes for blob properties
        drm/DocBook: Add more drm_bridge documentation
        drm: bridge: Allow daisy chaining of bridges
        drm/atomic: add all affected planes in drm_atomic_helper_check_modeset
        drm/atomic: add drm_atomic_add_affected_planes
        drm/atomic: add commit_planes_on_crtc helper
      531e63e1
    • Dave Airlie's avatar
      Merge tag 'drm-amdkfd-next-2015-06-03' of git://people.freedesktop.org/~gabbayo/linux into drm-next · cb2d47a4
      Dave Airlie authored
      drm-amdkfd-next-2015-06-03:
      
      - Add the H/W debugger support module, including new IOCTLs to:
        - register/unregister a process as a debugged process
        - Set address watch-point in the debugged process's GPU kernel
        - Do a wave control operation in the debugged process's waves
        See the commit messages for more details on the available operations.
      
        The debugged process can only perform debug operation on itself. It is
        blocked by the amdkfd+H/W from performing operations on other processes's
        waves or GPU kernels. The blocking is done by setting the VMID and PASID of
        the debugged process in the packets that are sent to the CP with the debug
        instructions.
      
      - Add support for static user-mode queues. These queues are regular queues,
        but because they belong to the debugged process, we need to make sure the CP
        doesn't preempt them during a debug operation. Therefore, we mark them as
        static for the CP ignore them during preemption.
      
      - Support killing all the waves when a process is terminated. This is needed
        in case a process is terminated but we can't UNMAP its queues (can occur due
        to several reasons). In that case, the CP could be stuck unless we kill all
        its waves. This function is *very* important as it provides the kernel a high
        level of control over the GPU. The reason we didn't upstream this function
        so far, is because it is implemented using the H/W debugger module functions,
        so we had to wait until we can upstream the H/W debugger module.
      
      - Replace declaration of bitmap from unsigned long to standard DECLARE_BITMAP
      
      * tag 'drm-amdkfd-next-2015-06-03' of git://people.freedesktop.org/~gabbayo/linux:
        drm/amdkfd: Enforce kill all waves on process termination
        drm/radeon: Add ATC VMID<-->PASID functions to kfd->kgd
        drm/amdkfd: Implement address watch debugger IOCTL
        drm/amdkfd: Implement wave control debugger IOCTL
        drm/amdkfd: Implement (un)register debugger IOCTLs
        drm/amdkfd: Add address watch operation to debugger
        drm/amdkfd: Add wave control operation to debugger
        drm/amdkfd: Add skeleton H/W debugger module support
        drm/amdkfd: Add static user-mode queues support
        drm/amdkfd: add H/W debugger IOCTL set definitions
        drm/radeon: Add H/W debugger kfd->kgd functions
        drm/amdkfd: Use DECLARE_BITMAP
      cb2d47a4
    • Ben Goz's avatar
      drm/amdkfd: Enforce kill all waves on process termination · c3447e81
      Ben Goz authored
      This commit makes sure that on process termination, after
      we're destroying all the active queues, we're killing all the
      existing wave front of the current process.
      
      By doing this we're making sure that if any of the CUs were blocked
      by infinite loop we're enforcing it to end the shader explicitly.
      Signed-off-by: default avatarBen Goz <ben.goz@amd.com>
      Signed-off-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
      c3447e81
    • Alexey Skidanov's avatar
      drm/radeon: Add ATC VMID<-->PASID functions to kfd->kgd · edad4023
      Alexey Skidanov authored
      This patch adds three new interfaces to kfd2kgd interface file of radeon.
      
      The interfaces are:
      
      - Check if a specific VMID has a valid PASID mapping
      - Retrieve the PASID which is mapped to a specific VMID
      - Issue a VMID invalidation request to the ATC
      Signed-off-by: default avatarAlexey Skidanov <Alexey.Skidanov@amd.com>
      Signed-off-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
      edad4023
    • Yair Shachar's avatar
      drm/amdkfd: Implement address watch debugger IOCTL · f8bd1333
      Yair Shachar authored
      v2:
      
      - rename get_dbgmgr_mutex to kfd_get_dbgmgr_mutex to namespace it
      - change void* to uint64_t inside ioctl arguments
      - use kmalloc instead of kzalloc because we use copy_from_user
        immediately after it
      Signed-off-by: default avatarYair Shachar <yair.shachar@amd.com>
      Signed-off-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
      f8bd1333
    • Yair Shachar's avatar
      drm/amdkfd: Implement wave control debugger IOCTL · 94484589
      Yair Shachar authored
      v2:
      
      - rename get_dbgmgr_mutex to kfd_get_dbgmgr_mutex to namespace it
      - change void* to uint64_t inside ioctl arguments
      - use kmalloc instead of kzalloc because we use copy_from_user
        immediately after it
      Signed-off-by: default avatarYair Shachar <yair.shachar@amd.com>
      Signed-off-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
      94484589
    • Yair Shachar's avatar
      drm/amdkfd: Implement (un)register debugger IOCTLs · 037ed9a2
      Yair Shachar authored
      v2: rename get_dbgmgr_mutex to kfd_get_dbgmgr_mutex to namespace it
      Signed-off-by: default avatarYair Shachar <yair.shachar@amd.com>
      Signed-off-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
      037ed9a2
    • Yair Shachar's avatar
      drm/amdkfd: Add address watch operation to debugger · e2e9afc4
      Yair Shachar authored
      The address watch operation gives the ability to specify watch points
      which will generate a shader breakpoint, based on a specified single
      address or range of addresses.
      
      There is support for read/write/any access modes.
      Signed-off-by: default avatarYair Shachar <yair.shachar@amd.com>
      Signed-off-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
      e2e9afc4
    • Yair Shachar's avatar
      drm/amdkfd: Add wave control operation to debugger · 788bf83d
      Yair Shachar authored
      The wave control operation supports several command types executed upon
      existing wave fronts that belong to the currently debugged process.
      
      The available commands are:
      
      HALT   - Freeze wave front(s) execution
      RESUME - Resume freezed wave front(s) execution
      KILL   - Kill existing wave front(s)
      Signed-off-by: default avatarYair Shachar <yair.shachar@amd.com>
      Signed-off-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
      788bf83d
    • Yair Shachar's avatar
      drm/amdkfd: Add skeleton H/W debugger module support · fbeb661b
      Yair Shachar authored
      This patch adds the skeleton H/W debugger module support. This code
      enables registration and unregistration of a single HSA process at a
      time.
      
      The module saves the process's pasid and use it to verify that only the
      registered process is allowed to execute debugger operations through the
      kernel driver.
      
      v2: rename get_dbgmgr_mutex to kfd_get_dbgmgr_mutex to namespace it
      Signed-off-by: default avatarYair Shachar <yair.shachar@amd.com>
      Signed-off-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
      fbeb661b
    • Yair Shachar's avatar
      drm/amdkfd: Add static user-mode queues support · 992839ad
      Yair Shachar authored
      This patch adds support for static user-mode queues in QCM.
      Queues which are designated as static can NOT be preempted by
      the CP microcode when it is executing its scheduling algorithm.
      
      This is needed for supporting the debugger feature, because we
      can't allow the CP to preempt queues which are currently being debugged.
      
      The number of queues that can be designated as static is limited by the
      number of HQDs (Hardware Queue Descriptors).
      Signed-off-by: default avatarYair Shachar <yair.shachar@amd.com>
      Signed-off-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
      992839ad
    • Yair Shachar's avatar
      drm/amdkfd: add H/W debugger IOCTL set definitions · aef11009
      Yair Shachar authored
      This patch adds four new IOCTLs to amdkfd. These IOCTLs expose a H/W
      debugger functionality to the userspace.
      
      The IOCTLs are:
      
      - AMDKFD_IOC_DBG_REGISTER:
      
      The purpose of this IOCTL is to notify amdkfd that a process wants to use
      GPU debugging facilities on itself only.
      It is expected that this IOCTL would be called before any other H/W
      debugger requests are sent to amdkfd and for each GPU where the H/W
      debugging needs to be enabled. The use of this IOCTL ensures that only
      one instance of a debugger is active in the system.
      
      - AMDKFD_IOC_DBG_UNREGISTER:
      
      This IOCTL detaches the debugger/debugged process from the H/W
      Debug which was established by the AMDKFD_IOC_DBG_REGISTER IOCTL.
      
      - AMDKFD_IOC_DBG_ADDRESS_WATCH:
      
      This IOCTL allows to set different watchpoints with various conditions as
      indicated by the IOCTL's arguments. The available number of watchpoints
      is retrieved from topology. This operation is confined to the current
      debugged process, which was registered through AMDKFD_IOC_DBG_REGISTER.
      
      - AMDKFD_IOC_DBG_WAVE_CONTROL:
      
      This IOCTL allows to control a wavefront as indicated by the IOCTL's
      arguments. For example, you can halt/resume or kill either a
      single wavefront or a set of wavefronts. This operation is confined to
      the current debugged process, which was registered through
      AMDKFD_IOC_DBG_REGISTER.
      
      Because the arguments for the address watch IOCTL and wave control IOCTL
      are dynamic, meaning that they could vary in size, the userspace passes a
      pointer to a structure (in userspace) that contains the value of the
      arguments. The kernel driver is responsible to parse this structure and
      validate its contents.
      
      v2: change void* to uint64_t inside ioctl arguments
      Signed-off-by: default avatarYair Shachar <yair.shachar@amd.com>
      Signed-off-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
      aef11009
    • Yair Shachar's avatar
      drm/radeon: Add H/W debugger kfd->kgd functions · a6186f4d
      Yair Shachar authored
      This patch adds new interface functions to the kfd2kgd interface file. The
      new functions allow to perform H/W debugger operations by writing to GPU
      registers.
      Signed-off-by: default avatarYair Shachar <yair.shachar@amd.com>
      Signed-off-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
      a6186f4d
    • Joe Perches's avatar
      drm/amdkfd: Use DECLARE_BITMAP · f761d8bd
      Joe Perches authored
      Use the generic mechanism to declare a bitmap instead of unsigned long.
      
      It seems that "struct kfd_process.allocated_queue_bitmap" is unused.
      Maybe it could be deleted instead.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
      f761d8bd
  2. 02 Jun, 2015 2 commits
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-fixes-2015-05-29' of... · 3e8d222f
      Dave Airlie authored
      Merge tag 'drm-intel-next-fixes-2015-05-29' of git://anongit.freedesktop.org/drm-intel into drm-next
      
      Fixes for 4.2. Nothing too serious (given that it's still pre merge
      window). With that it's off for 2 weeks of vacation for me and taking care
      of 4.2 fixes for Jani.
      
      * tag 'drm-intel-next-fixes-2015-05-29' of git://anongit.freedesktop.org/drm-intel:
        drm/i915: limit PPGTT size to 2GB in 32-bit platforms
        drm/i915: Another fbdev hack to avoid PSR on fbcon.
        drm/i915: Return the frontbuffer flip to enable intel_crtc_enable_planes.
        drm/i915: disable IPS while getting the sink CRCs
        drm/i915: Disable 12bpc hdmi for now
        drm/i915: Adjust sideband locking a bit for CHV/VLV
        drm/i915: s/dpio_lock/sb_lock/
        drm/i915: Kill intel_flush_primary_plane()
        drm/i915: Throw out WIP CHV power well definitions
        drm/i915: Use the default 600ns LDO programming sequence delay
        drm/i915: Remove unnecessary null check in execlists_context_unqueue
        drm/i915: Use spinlocks for checking when to waitboost
        drm/i915: Fix the confusing comment about the ioctl limits
        Revert "drm/i915: Force clean compilation with -Werror"
      3e8d222f
    • Alexandre Courbot's avatar
      drm/ttm: dma: Don't crash on memory in the vmalloc range · 1c34d824
      Alexandre Courbot authored
      dma_alloc_coherent() can return memory in the vmalloc range.
      virt_to_page() cannot handle such addresses and crashes. This
      patch detects such cases and obtains the struct page * using
      vmalloc_to_page() instead.
      Signed-off-by: default avatarAlexandre Courbot <acourbot@nvidia.com>
      Acked-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      1c34d824
  3. 01 Jun, 2015 1 commit
  4. 31 May, 2015 13 commits
  5. 30 May, 2015 3 commits
  6. 29 May, 2015 4 commits
    • Linus Torvalds's avatar
      Merge tag 'xfs-for-linus-4.1-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs · 1be44e23
      Linus Torvalds authored
      Pull xfs fixes from Dave Chinner:
       "This is a little larger than I'd like late in the release cycle, but
        all the fixes are for regressions introduced in the 4.1-rc1 merge, or
        are needed back in -stable kernels fairly quickly as they are
        filesystem corruption or userspace visible correctness issues.
      
        Changes in this update:
      
         - regression fix for new rename whiteout code
      
         - regression fixes for new superblock generic per-cpu counter code
      
         - fix for incorrect error return sign introduced in 3.17
      
         - metadata corruption fixes that need to go back to -stable kernels"
      
      * tag 'xfs-for-linus-4.1-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs:
        xfs: fix broken i_nlink accounting for whiteout tmpfile inode
        xfs: xfs_iozero can return positive errno
        xfs: xfs_attr_inactive leaves inconsistent attr fork state behind
        xfs: extent size hints can round up extents past MAXEXTLEN
        xfs: inode and free block counters need to use __percpu_counter_compare
        percpu_counter: batch size aware __percpu_counter_compare()
        xfs: use percpu_counter_read_positive for mp->m_icount
      1be44e23
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 2a645171
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "Two weeks worth of small bug fixes this time, nothing sticking out
        this time:
      
         - one defconfig change to adapt to a modified Kconfig symbol
      
         - two fixes for i.MX for backwards compatibility with older DT files
           that was accidentally broken
      
         - one regression fix for irq handling on pxa
      
         - three small dt files on omap, and one each for imx and exynos"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: multi_v7_defconfig: Replace CONFIG_USB_ISP1760_HCD by CONFIG_USB_ISP1760
        ARM: imx6: gpc: don't register power domain if DT data is missing
        ARM: imx6: allow booting with old DT
        ARM: dts: set display clock correctly for exynos4412-trats2
        ARM: pxa: pxa_cplds: signedness bug in probe
        ARM: dts: Fix WLAN interrupt line for AM335x EVM-SK
        ARM: dts: omap3-devkit8000: Fix NAND DT node
        ARM: dts: am335x-boneblack: disable RTC-only sleep
        ARM: dts: fix imx27 dtb build rule
        ARM: dts: imx27: only map 4 Kbyte for fec registers
      2a645171
    • Linus Torvalds's avatar
      Merge tag 'dm-4.1-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · 0f1e5b5d
      Linus Torvalds authored
      Pull device-mapper fixes from Mike Snitzer:
       "Quite a few fixes for DM's blk-mq support thanks to extra DM multipath
        testing from Junichi Nomura and Bart Van Assche.
      
        Also fix a casting bug in dm_merge_bvec() that could cause only a
        single page to be added to a bio (Joe identified this while testing
        dm-cache writeback)"
      
      * tag 'dm-4.1-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm: fix casting bug in dm_merge_bvec()
        dm: fix reload failure of 0 path multipath mapping on blk-mq devices
        dm: fix false warning in free_rq_clone() for unmapped requests
        dm: requeue from blk-mq dm_mq_queue_rq() using BLK_MQ_RQ_QUEUE_BUSY
        dm mpath: fix leak of dm_mpath_io structure in blk-mq .queue_rq error path
        dm: fix NULL pointer when clone_and_map_rq returns !DM_MAPIO_REMAPPED
        dm: run queue on re-queue
      0f1e5b5d
    • Guenter Roeck's avatar
      hwmon: (tmp401) Do not auto-detect chip on I2C address 0x37 · 9aecac04
      Guenter Roeck authored
      I2C address 0x37 may be used by EEPROMs, which can result in false
      positives. Do not attempt to detect a chip at this address.
      Reviewed-by: default avatarJean Delvare <jdelvare@suse.de>
      Cc: stable@vger.kernel.org # v4.0+
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      9aecac04