From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm: modify pages_to_sg prime helper to create optimized SG table Date: Tue, 19 Mar 2013 10:09:32 +0100 Message-ID: <20130319090932.GY9021@phenom.ffwll.local> References: <1359380328-23058-1-git-send-email-rahul.sharma@samsung.com> <51080290.9040108@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-ee0-f51.google.com (mail-ee0-f51.google.com [74.125.83.51]) by gabe.freedesktop.org (Postfix) with ESMTP id D71D7E5EEA for ; Tue, 19 Mar 2013 02:06:46 -0700 (PDT) Received: by mail-ee0-f51.google.com with SMTP id d17so102797eek.38 for ; Tue, 19 Mar 2013 02:06:46 -0700 (PDT) Content-Disposition: inline In-Reply-To: <51080290.9040108@nvidia.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: Aaron Plattner Cc: "joshi@samsung.com" , "dri-devel@lists.freedesktop.org" , Rahul Sharma List-Id: dri-devel@lists.freedesktop.org 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 > > Reviewed-by: Aaron Plattner > > I also verified that this reduces my 2025-entry sg_table to 6 entries, so > > Tested-by: Aaron Plattner 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