> -----Original Message-----
> From: Tony Lindgren [mailto:t...@atomide.com] 
> Sent: Friday, January 09, 2009 6:27 PM
> To: Shilimkar, Santosh
> Cc: Pandita, Vikram; linux-omap@vger.kernel.org
> Subject: Re: [PATCH] [OMAPZOOM] OMAP : DMA: Spurious interrupt fix
> 
> * Shilimkar, Santosh <santosh.shilim...@ti.com> [090109 14:52]:
> > > -----Original Message-----
> > > From: Tony Lindgren [mailto:t...@atomide.com] 
> > > Sent: Friday, January 09, 2009 4:58 PM
> > > To: Shilimkar, Santosh
> > > Cc: Pandita, Vikram; linux-omap@vger.kernel.org
> > > Subject: Re: [PATCH] [OMAPZOOM] OMAP : DMA: Spurious interrupt fix
> > > 
> > > * Shilimkar, Santosh <santosh.shilim...@ti.com> [090109 12:51]:
> > > > 
> > > > Tony,
> > > > Regarding your proposal of doing the no. of channel 
> > > reservation during runtime has one problem. 
> > > > 
> > > > The whole idea was not to restrict users from using all 32 
> > > channels and hence the config option. For OMAP secure chips, 
> > > few security drivers which will execute in secure contex 
> > > needs dedicated DMA channels and kernel dma library can't be 
> > > used in that case. So in such cases, required DMA channels 
> > > can be reserved using this config option. For GP devices all 
> > > 32 channels can be used currently. 
> > > > 
> > > > If it can done in better way, please suggest.
> > > 
> > > Well how about passing the configuration for the DMA channels
> > > from board-*.c file then?
> > This is certainly a good option if the setting is fixed for 
> a particular board type. With this how do we ensure user 
> configurability. Lets say on a particular board, two 
> users/customers wants to use separate configurations for DMA 
> channels because of the needs what mentioned earlier. Then 
> again we need some kind of comfit option.
> >    Another clean way to achieve this is through 'bootargs'. 
> But this might be too much of a design for this requirement.
> 
> Hmm, well how about starting with all of them, and allow
> limiting the active DMA number via /sys? I guess we could
> just set some of the DMA channels inactive that way.
> 
> Or maybe allow setting indvidual DMA channels inactive
> via /sys?

This won't be a good option because of few limitations.
- dma library init will configure the entire register set for all the channels. 
So through /sys disable , you have to mask all of this registers with 
appropriate mask depending on the no of channels deactivated. This is almost 
like doing another DMA init.
- Secondly the security driver is active even before the dma library is 
initialed and hence it won't get the required reservation of channels which is 
bottleneck.
- If both, dma library and security driver configure the DMA channels then, you 
end up in a problem because the way OMAP DMA hardware is.  Just a brief - "In
contrast to the SDMA.DMA4_CSRi registers, the SDMA.DMA4_IRQSTATUS_Lj registers 
are updated regardless of the corresponding bits in the SDMA.DMA4_IRQENABLE_Lj 
registers". For more details, you can refer the DMA section in TRM. 
Because of above, this is not seems to be an option. 

> > > > Time being if needed what best I can do is, to split this 
> > > patch into two parts as mentioned earlier. This will avoid 
> > > confusion of spurious interrupt issue and dam channel reservation
> > > OK
> > I will do this once I get some time for sure.
> 
> Great!
> 
> Tony

Regards,
Santosh

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to