1. 08 Jan, 2018 3 commits
  2. 05 Jan, 2018 1 commit
  3. 04 Jan, 2018 4 commits
    • Dave Airlie's avatar
      Merge branch 'drm-armada-devel-4.15' of git://git.armlinux.org.uk/~rmk/linux-arm into drm-next · bcd21a47
      Dave Airlie authored
      This series builds upon the set of fixes previously submitted to move
      Armada DRM closer to atomic modeset.  We're nowhere near yet, but this
      series helps to get us closer by unifying some of the differences
      between the primary and overlay planes.
      
      New features added allows userspace to disable the primary plane if
      overlay is full screen and there's nothing obscuring the colorkey -
      this saves having to fetch an entire buffer containing nothing but
      colorkey when displaying full screen video.
      
      [airlied: fixup for atomic plane helper rename:
      a01cb8ba
      Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Date:   Wed Nov 1 22:16:19 2017 +0200
      
          drm: Move drm_plane_helper_check_state() into drm_atomic_helper.c
      ]
      
      * 'drm-armada-devel-4.15' of git://git.armlinux.org.uk/~rmk/linux-arm: (29 commits)
        drm/armada: expand overlay trace entry
        drm/armada: implement primary plane update
        drm/armada: extract register generation from armada_drm_primary_set()
        drm/armada: wait for previous work when moving overlay window
        drm/armada: move overlay plane register update generation
        drm/armada: re-organise overlay register update generation
        drm/armada: disable planes at next blanking period
        drm/armada: avoid work allocation
        drm/armada: allow armada_drm_plane_work_queue() to silently fail
        drm/armada: use drm_plane_helper_check_state()
        drm/armada: only enable HSMOOTH if scaling horizontally
        drm/armada: move writes of LCD_SPU_SRAM_PARA1 under lock
        drm/armada: move regs into armada_plane_work
        drm/armada: move event sending into armada_plane_work
        drm/armada: move fb retirement into armada_plane_work
        drm/armada: move overlay plane work out from under spinlock
        drm/armada: clear plane enable bit when disabling
        drm/armada: clean up armada_drm_crtc_plane_disable()
        drm/armada: allow the primary plane to be disabled
        drm/armada: wait and cancel any pending frame work at disable
        ...
      bcd21a47
    • Dave Airlie's avatar
      Merge branch 'etnaviv/next' of https://git.pengutronix.de/git/lst/linux into drm-next · 066f9eb4
      Dave Airlie authored
      Highlights this time:
      1. Fix for a nasty Kconfig dependency chain issue from Philipp.
      2. Occlusion query buffer address added to the cmdstream validator by
      Christian.
      3. Fixes and cleanups to the job handling from me. This allows us to
      turn on the GPU performance profiling added in the last cycle.
      It is also prep work for hooking in the DRM GPU scheduler, which I hope
      to land for the next cycle.
      
      * 'etnaviv/next' of https://git.pengutronix.de/git/lst/linux: (32 commits)
        drm/etnaviv: use memset32 to init pagetable
        drm/etnaviv: move submit free out of critical section
        drm/etnaviv: re-enable perfmon support
        drm/etnaviv: couple runtime PM management to submit object lifetime
        drm/etnaviv: move GPU active handling to bo pin/unpin
        drm/etnaviv: move cmdbuf into submit object
        drm/etnaviv: use submit exec_state for perfmon sampling
        drm/etnaviv: move exec_state to submit object
        drm/etnaviv: move PMRs to submit object
        drm/etnaviv: refcount the submit object
        drm/etnaviv: move ww_acquire_ctx out of submit object
        drm/etnaviv: move object unpinning to submit cleanup
        drm/etnaviv: attach in fence to submit and move fence wait to fence_sync
        drm/etnaviv: rename submit fence to out_fence
        drm/etnaviv: move object fence attachment to gem_submit path
        drm/etnaviv: simplify submit_create
        drm/etnaviv: add lockdep annotations to buffer manipulation functions
        drm/etnaviv: hold GPU lock while inserting END command
        drm/etnaviv: move workqueue to be per GPU
        drm/etnaviv: remove switch_context member from etnaviv_gpu
        ...
      066f9eb4
    • Dave Airlie's avatar
      Merge tag 'exynos-drm-next-for-v4.16' of... · 4ef0bef2
      Dave Airlie authored
      Merge tag 'exynos-drm-next-for-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next
      
      Remove lagacy IPP driver
      - This driver isn't used anymore so remove it. Marek is preparing new one
        which includes completely rewritten API so this driver will be replaced
        with the new version[1] later.
      And cleanups.
      
      [1] https://patches.linaro.org/cover/118386/
      
      * tag 'exynos-drm-next-for-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos:
        drm/exynos: ipp: Remove Exynos DRM IPP subsystem
        drm/exynos/decon: Add include guard to the Exynos7 header
        drm/exynos/decon: Move headers from global to local place
        drm/exynos: decon5433: Remove unnecessary platform_get_resource() error check
      4ef0bef2
    • Dave Airlie's avatar
      Merge tag 'drm-amdkfd-next-2017-12-24' of git://people.freedesktop.org/~gabbayo/linux into drm-next · a9742b79
      Dave Airlie authored
      - Add CWSR (compute wave save restore) support for GFX8 (Carrizo)
      - Fix SDMA user-mode queues support for GFX7 (Kaveri)
      - Add SDMA user-mode queues support for GFX8 (Carrizo)
      - Allow HWS (hardware scheduling) to schedule multiple processes concurrently
      - Add debugfs support
      - Simplify process locking and lock dependencies
      - Refactoring topology code to prepare for dGPU support + fixes to that code
        - Add option to generate dummy/virtual CRAT table when its missing or deformed
        - Recognize CPUs other then APUs as compute entities
      - Various clean ups and bug fixes
      
      I have not yet sent the dGPU topology code because it depends on a patch
      for the PCI subsystem that adds PCIe atomics support. Once that patch is
      upstreamed we can continue with the rest of the dGPU code.
      
      * tag 'drm-amdkfd-next-2017-12-24' of git://people.freedesktop.org/~gabbayo/linux: (53 commits)
        drm/amdgpu: Add support for reporting VRAM usage
        drm/amdkfd: Ignore ACPI CRAT for non-APU systems
        drm/amdkfd: Module option to disable CRAT table
        drm/amdkfd: Add AQL Queue Memory flag on topology
        drm/amdkfd: Fixup incorrect info in the CZ CRAT table
        drm/amdkfd: Add perf counters to topology
        drm/amdkfd: Add topology support for dGPUs
        drm/amdkfd: Add topology support for CPUs
        drm/amdkfd: Fix sibling_map[] size
        drm/amdkfd: Simplify counting of memory banks
        drm/amdkfd: Turn verbose topology messages into pr_debug
        drm/amdkfd: sync IOLINK defines to thunk spec
        drm/amdkfd: Support enumerating non-GPU devices
        drm/amdkfd: Decouple CRAT parsing from device list update
        drm/amdkfd: Reorganize CRAT fetching from ACPI
        drm/amdkfd: Group up CRAT related functions
        drm/amdkfd: Fix memory leaks in kfd topology
        drm/amdkfd: Topology: Fix location_id
        drm/amdkfd: Update number of compute unit from KGD
        drm/amd: Remove get_vmem_size from KGD-KFD interface
        ...
      a9742b79
  4. 02 Jan, 2018 29 commits
  5. 01 Jan, 2018 3 commits
    • Marek Szyprowski's avatar
      drm/exynos: ipp: Remove Exynos DRM IPP subsystem · 8ded5941
      Marek Szyprowski authored
      Exynos DRM IPP subsystem is in fact non-functional and frankly speaking
      dead-code. This patch clearly marks that Exynos DRM IPP subsystem is
      broken and never really functional. It will be replaced by a completely
      rewritten API.
      
      Exynos DRM IPP user-space API can be obsoleted for the following
      reasons:
      
      1. Exynos DRM IPP user-space API can be optional in Exynos DRM, so
      userspace should not rely that it is always available and should have
      a software fallback in case it is not there.
      
      2. The only mode which was initially semi-working was memory-to-memory
      image processing. The remaining modes (LCD-"writeback" and "output")
      were never operational due to missing code (both in mainline and even
      vendor kernels).
      
      3. Exynos DRM IPP mainline user-space API compatibility for
      memory-to-memory got broken very early by commit 083500ba ("drm:
      remove DRM_FORMAT_NV12MT", which removed the support for tiled formats,
      the main feature which made this API somehow useful on Exynos platforms
      (video codec that time produced only tiled frames, to implement xvideo
      or any other video overlay, one has to de-tile them for proper
      display).
      
      4. Broken drivers. Especially once support for IOMMU has been added,
      it revealed that drivers don't configure DMA operations properly and in
      many cases operate outside the provided buffers trashing memory around.
      
      5. Need for external patches. Although IPP user-space API has been used
      in some vendor kernels, but in such cases there were additional patches
      applied (like reverting mentioned 083500ba patch) what means that
      those userspace apps which might use it, still won't work with the
      mainline kernel version.
      
      We don't have time machines, so we cannot change it, but Exynos DRM IPP
      extension should never have been merged to mainline in that form.
      
      Exynos IPP subsystem and user-space API will be rewritten, so remove
      current IPP core code and mark existing drivers as BROKEN.
      Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Acked-by: default avatarDaniel Stone <daniels@collabora.com>
      Acked-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      8ded5941
    • Krzysztof Kozlowski's avatar
      drm/exynos/decon: Add include guard to the Exynos7 header · ca52c712
      Krzysztof Kozlowski authored
      Although header is included only once but still having an include guard
      is a good practice.  To avoid confusion, add SoC prefix to existing
      Exynos5433 header include guard.
      Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      ca52c712
    • Krzysztof Kozlowski's avatar
      drm/exynos/decon: Move headers from global to local place · 4f52e550
      Krzysztof Kozlowski authored
      The DECON headers contain only defines for registers.  There are no
      other drivers using them so this should be put locally to the Exynos DRM
      driver.  Keeping headers local helps managing the code.
      Suggested-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      4f52e550