lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130708140357.GI16653@intel.com>
Date:	Mon, 8 Jul 2013 19:33:57 +0530
From:	Vinod Koul <vinod.koul@...el.com>
To:	Lars-Peter Clausen <lars@...afoo.de>
Cc:	Dan Williams <djbw@...com>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	Matt Porter <matt@...orter.com>
Subject: Re: [RFC] dmaengine: add dma_slave_get_caps api

On Mon, Jul 08, 2013 at 04:28:29PM +0200, Lars-Peter Clausen wrote:
> On 07/08/2013 03:40 PM, Vinod Koul wrote:
> > On Mon, Jul 08, 2013 at 02:01:35PM +0200, Lars-Peter Clausen wrote:
> >> On 07/08/2013 10:54 AM, Vinod Koul wrote:
> >>> +/* struct dma_slave_caps - expose capabilities of a slave channel only
> >>> + *
> >>> + * @src_addr_widths: bit mask of src addr widths the channel supports
> >>> + * @dstn_addr_widths: bit mask of dstn addr widths the channel supports
> >>> + * @src_burst_lengths: bit mask of src slave burst lengths supported
> >>> + * @dstn_burst_lengths: bit mask of dstn slave burst lengths supported
> >>
> >> I'm not sure if we need the burst_lengths fields. For one we can only
> >> express a max burst length up 32. And usually it is fine if the dma
> >> controller does not support the burst length requested by the slave driver,
> >> since this only specifies the maximum and the dma controller driver can
> >> choose a value below this limit. E.g. if the max burst length is set to 16
> >> it is still fine if the controller only supports a burst length of 8.
> > well how are you picking up which one to use?
> > The idea is that you query and match that with system and client to get best
> > throughput. If you have IP block which over generations change capablities you
> > can runtime query and then program the channel smartly!
> 
> The client would always request the largest burst size it can support, and
> the dma master would then select a burst size equal or smaller to it
> depending on what it can support.
not really, most dmac drivers will return an error when they find a value is not
in the supported list. And that is precisely what we would like to prevent.
If you look at current model, it mostly program value which we know is already
a capablity and works model.

> E.g. if the client has an internal FIFO with room for 16 samples and it
> sends a request once the FIFO is half empty, max_burst would be set to 8. If
> the master supports burst sizes of 8 sample it would send 8 samples, if it
> only supported burst sizes of 4 it might send either one burst of 4 or two of 4.

~Vinod
-- 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ