Messages in this thread Patch in this message | | | From | David Stevens <> | Subject | [PATCH v2 9/9] drm/i915: use DMA_ATTR_PERSISTENT_STREAMING flag | Date | Fri, 6 Aug 2021 19:34:23 +0900 |
| |
From: David Stevens <stevensd@chromium.org>
Use the new DMA_ATTR_PERSISTENT_STREAMING for long lived dma mappings which directly handle CPU cache coherency instead of using dma_sync_*.
Signed-off-by: David Stevens <stevensd@chromium.org> --- drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 4 +++- drivers/gpu/drm/i915/i915_gem_gtt.c | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c index 616c3a2f1baf..df982cfb4f34 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c @@ -48,7 +48,9 @@ static struct sg_table *i915_gem_map_dma_buf(struct dma_buf_attachment *attachme src = sg_next(src); } - ret = dma_map_sgtable(attachment->dev, st, dir, DMA_ATTR_SKIP_CPU_SYNC); + ret = dma_map_sgtable(attachment->dev, st, dir, + DMA_ATTR_SKIP_CPU_SYNC | + DMA_ATTR_PERSISTENT_STREAMING); if (ret) goto err_free_sg; diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index 36489be4896b..f27a849631f7 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c @@ -33,7 +33,8 @@ int i915_gem_gtt_prepare_pages(struct drm_i915_gem_object *obj, PCI_DMA_BIDIRECTIONAL, DMA_ATTR_SKIP_CPU_SYNC | DMA_ATTR_NO_KERNEL_MAPPING | - DMA_ATTR_NO_WARN)) + DMA_ATTR_NO_WARN | + DMA_ATTR_PERSISTENT_STREAMING)) return 0; /* -- 2.32.0.605.g8dce9f2422-goog
| |