Message ID | 1253139463-15761-1-git-send-email-s-paulraj@ti.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
s-paulraj@ti.com writes: > From: Sandeep Paulraj <s-paulraj@ti.com> > > The edma_alloc_cont_slots API is used for obtaining a set of > contiguous slots. When we use the "_ANY" option with this > API, by definition of this option it is suppossed to start > looking for a set of contiguous slots starting from slot 64 for > DaVinci SOC's and 32 for DA8xx SOC's. This has been explained in > the API description in the driver itself. So when we use the > "_ANY" option with this API, the slot number passed as > an argument should be a "don't care". > This patch takes care of this condition mentioned above. > When checking to see if the starting slot is a valid number, > it checks to make sure that the "_ANY" option is not used. > > Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com> Applied to davinci git, queuing for 2.6.32 fixes. Kevin > --- > arch/arm/mach-davinci/dma.c | 5 +++-- > 1 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/mach-davinci/dma.c b/arch/arm/mach-davinci/dma.c > index 89ce3e1..8eda4c3 100644 > --- a/arch/arm/mach-davinci/dma.c > +++ b/arch/arm/mach-davinci/dma.c > @@ -771,8 +771,9 @@ int edma_alloc_cont_slots(unsigned ctlr, unsigned int id, int slot, int count) > * the number of channels and lesser than the total number > * of slots > */ > - if (slot < edma_info[ctlr]->num_channels || > - slot >= edma_info[ctlr]->num_slots) > + if ((id != EDMA_CONT_PARAMS_ANY) && > + (slot < edma_info[ctlr]->num_channels || > + slot >= edma_info[ctlr]->num_slots)) > return -EINVAL; > > /* > -- > 1.6.0.4 > > _______________________________________________ > Davinci-linux-open-source mailing list > Davinci-linux-open-source@linux.davincidsp.com > http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
diff --git a/arch/arm/mach-davinci/dma.c b/arch/arm/mach-davinci/dma.c index 89ce3e1..8eda4c3 100644 --- a/arch/arm/mach-davinci/dma.c +++ b/arch/arm/mach-davinci/dma.c @@ -771,8 +771,9 @@ int edma_alloc_cont_slots(unsigned ctlr, unsigned int id, int slot, int count) * the number of channels and lesser than the total number * of slots */ - if (slot < edma_info[ctlr]->num_channels || - slot >= edma_info[ctlr]->num_slots) + if ((id != EDMA_CONT_PARAMS_ANY) && + (slot < edma_info[ctlr]->num_channels || + slot >= edma_info[ctlr]->num_slots)) return -EINVAL; /*