On Fri, Nov 11, 2016 at 08:50:19AM +0000, Tvrtko Ursulin wrote: > From: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > > Drivers like i915 benefit from being able to control the maxium > size of the sg coallesced segment while building the scatter- > gather list. > > Introduce and export the __sg_alloc_table_from_pages function > which will allow it that control. > > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > Cc: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> > Cc: linux-kernel@xxxxxxxxxxxxxxx > --- > include/linux/scatterlist.h | 11 +++++---- > lib/scatterlist.c | 55 ++++++++++++++++++++++++++++++++++----------- > 2 files changed, 49 insertions(+), 17 deletions(-) > > diff --git a/include/linux/scatterlist.h b/include/linux/scatterlist.h > index c981bee1a3ae..29591dbb20fd 100644 > --- a/include/linux/scatterlist.h > +++ b/include/linux/scatterlist.h > @@ -261,10 +261,13 @@ void sg_free_table(struct sg_table *); > int __sg_alloc_table(struct sg_table *, unsigned int, unsigned int, > struct scatterlist *, gfp_t, sg_alloc_fn *); > int sg_alloc_table(struct sg_table *, unsigned int, gfp_t); > -int sg_alloc_table_from_pages(struct sg_table *sgt, > - struct page **pages, unsigned int n_pages, > - unsigned int offset, unsigned long size, > - gfp_t gfp_mask); > +int __sg_alloc_table_from_pages(struct sg_table *sgt, struct page **pages, > + unsigned int n_pages, unsigned int offset, > + unsigned long size, gfp_t gfp_mask, > + unsigned int max_segment); Just the question of parameter order, I like gfp_t last :) And I think offset / size / max_segment tie together. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx