From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joel Fernandes Subject: Re: [PATCH v3 01/12] dma: edma: Setup parameters to DMA MAX_NR_SG at a time Date: Mon, 12 Aug 2013 18:55:48 -0500 Message-ID: <52097604.7010503@ti.com> References: <1375719297-12871-1-git-send-email-joelf@ti.com> <1375719297-12871-2-git-send-email-joelf@ti.com> <52088B8B.9040000@ti.com> Reply-To: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <52088B8B.9040000-l0cyMroinI0@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: Errors-To: davinci-linux-open-source-bounces-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/@public.gmane.org To: Sekhar Nori Cc: Linux DaVinci Kernel List , Linux OMAP List , Russell King , Lokesh Vutla , Rajendra Nayak , Linux Kernel Mailing List , Sricharan R , Santosh Shilimkar , Dan Williams , Vinod Koul , Linux ARM Kernel List List-Id: linux-omap@vger.kernel.org Dropped quite a few from the CC list... On 08/12/2013 02:15 AM, Sekhar Nori wrote: > On Monday 05 August 2013 09:44 PM, Joel Fernandes wrote: >> Changes are made here for configuring existing parameters to support >> DMA'ing them out in batches as needed. >> >> Also allocate as many as slots as needed by the SG list, but not more >> than MAX_NR_SG. Then these slots will be reused accordingly. >> For ex, if MAX_NR_SG=10, and number of SG entries is 40, still only >> 10 slots will be allocated to DMA the entire SG list of size 40. >> >> Signed-off-by: Joel Fernandes >> --- >> drivers/dma/edma.c | 14 +++++++++++--- >> 1 file changed, 11 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c >> index 5f3e532..7b0853c 100644 >> --- a/drivers/dma/edma.c >> +++ b/drivers/dma/edma.c >> @@ -222,9 +222,9 @@ static struct dma_async_tx_descriptor *edma_prep_slave_sg( >> enum dma_slave_buswidth dev_width; >> u32 burst; >> struct scatterlist *sg; >> - int i; >> int acnt, bcnt, ccnt, src, dst, cidx; >> int src_bidx, dst_bidx, src_cidx, dst_cidx; >> + int i, num_slots_needed; > > 'nslots' is more to my liking. Better keep variable names short. > >> >> if (unlikely(!echan || !sgl || !sg_len)) >> return NULL; >> @@ -262,8 +262,11 @@ static struct dma_async_tx_descriptor *edma_prep_slave_sg( >> >> edesc->pset_nr = sg_len; >> >> - for_each_sg(sgl, sg, sg_len, i) { >> - /* Allocate a PaRAM slot, if needed */ >> + /* Allocate a PaRAM slot, if needed */ >> + >> + num_slots_needed = sg_len > MAX_NR_SG ? MAX_NR_SG : sg_len; > > nslots = min(MAX_NR_SG, sg_len); I agree the original naming was quite long. I would rather using something more descriptive though than nslots. How does slots_needed sound? Thanks, -Joel