Re: [PATCH v1 2/2] dmaengine: dw: implement per-channel protection control setting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Nov 05, 2018 at 05:06:20PM +0100, Christian Lamparter wrote:
> On Monday, November 5, 2018 3:27:41 PM CET Andy Shevchenko wrote:
> > On Mon, Nov 05, 2018 at 04:22:54PM +0200, Andy Shevchenko wrote:
> > > On Sun, Nov 04, 2018 at 06:01:39PM +0100, Christian Lamparter wrote:
> > 
> > > > +	struct dw_dma *dw = to_dw_dma(dwc->chan.device);
> > > > +	size_t chanidx = (size_t)(dwc - dw->chan);
> > > 
> > > We have mask field, so, index is a first set bit out of mask, __ffs(mask).
> > > 
> > > 	unsigned int protctl = dw->pdata->protctl[__ffs(mask)];
> > 
> > dwc->mask, of course.
> Ok, will do. I'll sent a v2 later this week.
> 
> > Also, it's possible to use (though better to check) dwc->chan.chan_id,
> > though I dunno if it's reliable.
> dwc->chan.chan_id is subjected to the chan_allocation setting. 
> So, if it's set to CHAN_ALLOCATION_DESCENDING the dt prop array values
> for the protctl would need to be reversed as well in order to match the
> other per-channel settings (for example multiblock).
> So, let's not do that since this gets very confusing.

Yes, that's what I suspected. So, __ffs(dwc->mask) seems feasible approach.


-- 
With Best Regards,
Andy Shevchenko





[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux