From ec8b0dd51c50e33c3831bbf57ee4ca3e9f35460d Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Mon, 21 Jul 2014 13:21:23 +0100 Subject: [PATCH] drm/i915: Allow overlapping userptr objects Whilst I strongly advise against doing so for the implicit coherency issues between the multiple buffer objects accessing the same backing store, it nevertheless is a valid use case, akin to mmaping the same file multiple times. The reason why we forbade it earlier was that our use of the interval tree for fast invalidation upon vma changes excluded overlapping objects. So in the case where the user wishes to create such pairs of overlapping objects, we degrade the range invalidation to walkin the linear list of objects associated with the mm. A situation where overlapping objects could arise is the lax implementation of MIT-SHM Pixmaps in the xserver. A second situation is where the user wishes to have different access modes to a region of memory (e.g. access through a read-only userptr buffer and through a normal userptr buffer). v2: Compile for mmu-notifiers after tweaking v3: Rename is_linear/has_linear Signed-off-by: Chris Wilson Cc: "Li, Victor Y" Cc: "Kelley, Sean V" Cc: Tvrtko Ursulin Cc: "Gong, Zhipeng" Cc: Akash Goel Cc: "Volkin, Bradley D" Reviewed-by: Tvrtko Ursulin Signed-off-by: Daniel Vetter --- Reading git-format-patch failed