diff options
author | Thomas Hellström <thomas.hellstrom@linux.intel.com> | 2021-06-02 10:38:11 +0200 |
---|---|---|
committer | Thomas Hellström <thomas.hellstrom@linux.intel.com> | 2021-06-07 16:07:08 +0200 |
commit | b7e32bef4ae5f9149276203564b7911fac466588 (patch) | |
tree | b8752329b4d43041fe4837a322cf684513bd697d /Documentation/gpu/drm-mm.rst | |
parent | 3bf3710e3718a5aebdf465343bc1125b6e8cca96 (diff) | |
download | lwn-b7e32bef4ae5f9149276203564b7911fac466588.tar.gz lwn-b7e32bef4ae5f9149276203564b7911fac466588.zip |
drm: Add a prefetching memcpy_from_wc
Reading out of write-combining mapped memory is typically very slow
since the CPU doesn't prefetch. However some archs have special
instructions to do this.
So add a best-effort memcpy_from_wc taking dma-buf-map pointer
arguments that attempts to use a fast prefetching memcpy and
otherwise falls back to ordinary memcopies, taking the iomem tagging
into account.
The code is largely copied from i915_memcpy_from_wc.
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Christian König <christian.koenig@amd.com>
Suggested-by: Daniel Vetter <daniel@ffwll.ch>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Daniel Vetter <daniel@ffwll.ch>
Link: https://lore.kernel.org/r/20210602083818.241793-5-thomas.hellstrom@linux.intel.com
Link: https://patchwork.freedesktop.org/patch/msgid/20210602083818.241793-5-thomas.hellstrom@linux.intel.com
Diffstat (limited to 'Documentation/gpu/drm-mm.rst')
-rw-r--r-- | Documentation/gpu/drm-mm.rst | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Documentation/gpu/drm-mm.rst b/Documentation/gpu/drm-mm.rst index 21be6deadc12..d5a73fa2c9ef 100644 --- a/Documentation/gpu/drm-mm.rst +++ b/Documentation/gpu/drm-mm.rst @@ -469,8 +469,8 @@ DRM MM Range Allocator Function References .. kernel-doc:: drivers/gpu/drm/drm_mm.c :export: -DRM Cache Handling -================== +DRM Cache Handling and Fast WC memcpy() +======================================= .. kernel-doc:: drivers/gpu/drm/drm_cache.c :export: |