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 at redhat.com> > Cc: dri-devel at lists.freedesktop.org > Signed-off-by: Chris Wilson <chris at 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 -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch