1. 07 12月, 2017 2 次提交
    • M
      drm/exynos: gem: Drop NONCONTIG flag for buffers allocated without IOMMU · 120a264f
      Marek Szyprowski 提交于
      When no IOMMU is available, all GEM buffers allocated by Exynos DRM driver
      are contiguous, because of the underlying dma_alloc_attrs() function
      provides only such buffers. In such case it makes no sense to keep
      BO_NONCONTIG flag for the allocated GEM buffers. This allows to avoid
      failures for buffer contiguity checks in the subsequent operations on GEM
      objects.
      Signed-off-by: NMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      CC: stable@vger.kernel.org # v4.4+
      120a264f
    • M
      drm/exynos: Fix dma-buf import · 89452d4a
      Marek Szyprowski 提交于
      When IOMMU support was enabled, dma-buf import in Exynos DRM was broken
      since commit f43c3596 ("drm/exynos: use real device for DMA-mapping
      operations") due to using wrong struct device in drm_gem_prime_import()
      function. This patch fixes following kernel BUG caused by incorrect buffer
      mapping to DMA address space:
      
      exynos-sysmmu 14650000.sysmmu: 14450000.mixer: PAGE FAULT occurred at 0xb2e00000
      ------------[ cut here ]------------
      kernel BUG at drivers/iommu/exynos-iommu.c:449!
      Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
      Modules linked in:
      CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.14.0-rc4-next-20171016-00033-g990d723669fd #3165
      Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
      task: c0e0b7c0 task.stack: c0e00000
      PC is at exynos_sysmmu_irq+0x1d0/0x24c
      LR is at exynos_sysmmu_irq+0x154/0x24c
      ------------[ cut here ]------------
      Reported-by: NMarian Mihailescu <mihailescu2m@gmail.com>
      Fixes: f43c3596 ("drm/exynos: use real device for DMA-mapping operations")
      Signed-off-by: NMarek Szyprowski <m.szyprowski@samsung.com>
      Reviewed-by: NTobias Jakobi <tjakobi@math.uni-bielefeld.de>
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      89452d4a
  2. 17 8月, 2017 1 次提交
  3. 18 5月, 2017 1 次提交
  4. 21 3月, 2017 1 次提交
  5. 25 2月, 2017 1 次提交
  6. 15 12月, 2016 1 次提交
  7. 05 12月, 2016 1 次提交
  8. 04 8月, 2016 1 次提交
    • K
      dma-mapping: use unsigned long for dma_attrs · 00085f1e
      Krzysztof Kozlowski 提交于
      The dma-mapping core and the implementations do not change the DMA
      attributes passed by pointer.  Thus the pointer can point to const data.
      However the attributes do not have to be a bitfield.  Instead unsigned
      long will do fine:
      
      1. This is just simpler.  Both in terms of reading the code and setting
         attributes.  Instead of initializing local attributes on the stack
         and passing pointer to it to dma_set_attr(), just set the bits.
      
      2. It brings safeness and checking for const correctness because the
         attributes are passed by value.
      
      Semantic patches for this change (at least most of them):
      
          virtual patch
          virtual context
      
          @r@
          identifier f, attrs;
      
          @@
          f(...,
          - struct dma_attrs *attrs
          + unsigned long attrs
          , ...)
          {
          ...
          }
      
          @@
          identifier r.f;
          @@
          f(...,
          - NULL
          + 0
           )
      
      and
      
          // Options: --all-includes
          virtual patch
          virtual context
      
          @r@
          identifier f, attrs;
          type t;
      
          @@
          t f(..., struct dma_attrs *attrs);
      
          @@
          identifier r.f;
          @@
          f(...,
          - NULL
          + 0
           )
      
      Link: http://lkml.kernel.org/r/1468399300-5399-2-git-send-email-k.kozlowski@samsung.comSigned-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Acked-by: NVineet Gupta <vgupta@synopsys.com>
      Acked-by: NRobin Murphy <robin.murphy@arm.com>
      Acked-by: NHans-Christian Noren Egtvedt <egtvedt@samfundet.no>
      Acked-by: Mark Salter <msalter@redhat.com> [c6x]
      Acked-by: Jesper Nilsson <jesper.nilsson@axis.com> [cris]
      Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> [drm]
      Reviewed-by: NBart Van Assche <bart.vanassche@sandisk.com>
      Acked-by: Joerg Roedel <jroedel@suse.de> [iommu]
      Acked-by: Fabien Dessenne <fabien.dessenne@st.com> [bdisp]
      Reviewed-by: Marek Szyprowski <m.szyprowski@samsung.com> [vb2-core]
      Acked-by: David Vrabel <david.vrabel@citrix.com> [xen]
      Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> [xen swiotlb]
      Acked-by: Joerg Roedel <jroedel@suse.de> [iommu]
      Acked-by: Richard Kuo <rkuo@codeaurora.org> [hexagon]
      Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> [m68k]
      Acked-by: Gerald Schaefer <gerald.schaefer@de.ibm.com> [s390]
      Acked-by: NBjorn Andersson <bjorn.andersson@linaro.org>
      Acked-by: Hans-Christian Noren Egtvedt <egtvedt@samfundet.no> [avr32]
      Acked-by: Vineet Gupta <vgupta@synopsys.com> [arc]
      Acked-by: Robin Murphy <robin.murphy@arm.com> [arm64 and dma-iommu]
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      00085f1e
  9. 17 5月, 2016 1 次提交
  10. 10 5月, 2016 3 次提交
  11. 20 4月, 2016 3 次提交
  12. 13 3月, 2016 1 次提交
  13. 01 3月, 2016 3 次提交
  14. 15 2月, 2016 2 次提交
  15. 16 1月, 2016 1 次提交
  16. 03 11月, 2015 1 次提交
  17. 26 10月, 2015 1 次提交
    • J
      drm/exynos: cleanup name of gem object for exynos_drm · 813fd67b
      Joonyoung Shim 提交于
      Struct of gem object in exynos_drm driver is struct exynos_drm_gem_obj.
      It's too long and we can know its meaning of name without _obj postfix.
      
      We use several names to variable name of gem object for exynos_drm -
      exynos_gem_obj, gem_obj and obj. Especially "obj" name can cause
      misunderstanding with variable name "obj" of struct drm_gem_object.
      
      This will clean about name of gem object for exynos_drm as follows.
      s/struct exynos_drm_gem_obj/struct exynos_drm_gem
      s/exynos_gem_obj or gem_obj or obj/exynos_gem
      Signed-off-by: NJoonyoung Shim <jy0922.shim@samsung.com>
      Signed-off-by: NInki Dae <inki.dae@samsung.com>
      813fd67b
  18. 01 10月, 2015 1 次提交
  19. 30 9月, 2015 8 次提交
  20. 31 8月, 2015 1 次提交
  21. 17 8月, 2015 1 次提交
  22. 16 8月, 2015 4 次提交