On Fri, Dec 07, 2012 at 08:37:06PM +0000, Chris Wilson wrote:
Required by i915 in order to avoid the allocation in the middle of manipulating the drm_mm lists.
Use a pair of stubs to preserve the existing EXPORT_SYMBOLs for backporting; to be removed later.
Cc: Dave Airlie airlied@redhat.com Cc: dri-devel@lists.freedesktop.org Signed-off-by: Chris Wilson chris@chris-wilson.co.uk
drivers/gpu/drm/drm_mm.c | 42 ++++++++++++++++++++++++++++++------------ include/drm/drm_mm.h | 27 +++++++++++++++++++++++---- 2 files changed, 53 insertions(+), 16 deletions(-)
diff --git a/drivers/gpu/drm/drm_mm.c b/drivers/gpu/drm/drm_mm.c index 0761a03..d93dc05 100644 --- a/drivers/gpu/drm/drm_mm.c +++ b/drivers/gpu/drm/drm_mm.c @@ -184,19 +184,27 @@ EXPORT_SYMBOL(drm_mm_get_block_generic);
- -ENOSPC if no suitable free area is available. The preallocated memory node
- must be cleared.
*/ -int drm_mm_insert_node(struct drm_mm *mm, struct drm_mm_node *node,
unsigned long size, unsigned alignment)
+int drm_mm_insert_node_generic(struct drm_mm *mm, struct drm_mm_node *node,
unsigned long size, unsigned alignment,
unsigned long color, int atomic)
{ struct drm_mm_node *hole_node;
- hole_node = drm_mm_search_free(mm, size, alignment, false);
- hole_node = drm_mm_search_free_generic(mm, size, alignment,
color, atomic);
The last parameter of search_free_generic is best_match, which isn't used by any current caller. The only reason it's still there is that I haven't converted yet all drm_mm.c users to preallocate drm_mm_node's, but as soon as that's done best_match will die together with search_free_generic as a public interface.
So what's the atomic doing in here? I've looked through the drm/i915 patches and couldn't see any reason ... Can we just respin the two i915 patches with _generic and atomic = false dropped, or do I miss something big here? -Daniel