Re: [RFC PATCH] dmaengine: sh: Correct src_addr_widths/dst_addr_widths bitmask setting

From: Brüns, Stefan
Date: Thu Oct 12 2017 - 11:08:47 EST


On Donnerstag, 12. Oktober 2017 16:18:12 CEST Vinod Koul wrote:
> On Sun, Sep 17, 2017 at 04:45:39PM +0200, Stefan Brüns wrote:
> > Obviously, the current value for the burst widths are wrong, and if this
> > value is retrieved from some other subsystem using dma_get_slave_caps,
> > it will wrongly assume burst width of e.g. 3 bytes are supported.
> >
> > Each bit in the bitmask corresponds to a supported width, but it uses
> > an encoding of BIT(<widths>), not BIT(log2<widths>), as it must be able
> > to encode a width of 3 bytes.
> >
> > The corollary is, it is not possible to encode either a width of 32 or
> > 64 bytes, as the field has a size of 32 bits, and only a subset of the
> > controller capabilities can be exposed.
>
> well the right way would have been to fix this in the core by extending the
> src/dst_addr_widths. I am sending a patch for that. please use that and
> update this

Thats the reason I sent this as RFC, I never expected this to go mainline as
is, but wanted to trigger a discussion.

Kind regards,

Stefan