On Tue, Jan 29, 2013 at 09:10:40AM -0800, Aaron Plattner wrote: > On 01/28/2013 05:38 AM, Rahul Sharma wrote: > >It fixes the issue arises due to passing 'nr_pages' in place of 'nents' to > >sg_alloc_table. When ARM_HAS_SG_CHAIN is disabled, it is causing failure in > >creating SG table for the buffers having more than 204 physical pages i.e. > >equal to SG_MAX_SINGLE_ALLOC. > > > >When using sg_alloc_table_from_pages interface, in place of sg_alloc_table, > >page list will be passes to get each contiguous section which is represented > >by a single entry in the table. For a Contiguous Buffer, number of entries > >should be equal to 1. > > > >Following check is causing the failure which is not applicable for Non-Contig > >buffers: > > > > if (WARN_ON_ONCE(nents > max_ents)) > > return -EINVAL; > > > >Above patch is well tested for EXYNOS4 and EXYNOS5 for with/wihtout IOMMU > >supprot. NOUVEAU and RADEON platforms also depends on drm_prime_pages_to_sg > >helper function. > > > >This set is base on "exynos-drm-fixes" branch at > >http://git.kernel.org/?p=linux/kernel/git/daeinki/drm-exynos.git > > > >Signed-off-by: Rahul Sharma <rahul.sharma@xxxxxxxxxxx> > > Reviewed-by: Aaron Plattner <aplattner@xxxxxxxxxx> > > I also verified that this reduces my 2025-entry sg_table to 6 entries, so > > Tested-by: Aaron Plattner <aplattner@xxxxxxxxxx> I've just merged the drm/i915 fixes and this patch on top to drm-intel-next-queued. I'll send the pull request to Dave somewhen next week, presuming nothing unexpected blows up. Thanks for the patch&review. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel