[PATCH 2/2] dma: mv_xor: Use high_base mmio where appropriate

Dan Williams dan.j.williams at intel.com
Tue Oct 29 15:15:18 EDT 2013


On Tue, Oct 29, 2013 at 2:32 AM, Thomas Petazzoni
<thomas.petazzoni at free-electrons.com> wrote:
> Dan, Ezequiel,
>
> On Tue, 29 Oct 2013 05:34:08 -0300, Ezequiel Garcia wrote:
>
>> > On Mon, Oct 28, 2013 at 3:54 PM, Ezequiel Garcia
>> > <ezequiel.garcia at free-electrons.com> wrote:
>> > > Despite requesting two memory resources, called 'base' and 'high_base', the
>> > > driver uses explicitly only the former. The latter is being used implicitly
>> > > by addressing at offset +0x200, which in practice accesses high_base.
>> > >
>> > > Instead of relying in such trick, let's define the registers with the
>> > > offset from high_base, and use high_base explicitly where appropriate.
>> > >
>> > > Signed-off-by: Ezequiel Garcia <ezequiel.garcia at free-electrons.com>
>> > > ---
>> > >  drivers/dma/mv_xor.c |  3 ++-
>> > >  drivers/dma/mv_xor.h | 25 +++++++++++++------------
>> > >  2 files changed, 15 insertions(+), 13 deletions(-)
>> >
>> > Since it's unused I'd prefer a patch that just deletes xor_high_base.
>> >
>>
>> It's wrongly *unused*, the mmio high_base is actually being used
>> implicitly by always addressing at an offset that addresses +200.
>>
>> Deleting high_base would actually make it worse, for that region
>> will no longer be ioremaped. Maybe the commit message is not clear
>> about it?
>
> I agree with Ezequiel, and I believe his patch is appropriate. The
> registers for the XOR engines are indeed split in two areas, so it
> makes sense to have this xor_base / xor_high_base split that reflects
> the register mapping passed from the Device Tree, and use this split in
> the macros used to access the registers.
>

Ah ok, so it's a bug if an implementation ever puts the second
resource window at a non 0x200 offset.

Ezequiel , can you resend the patch to the new
dmaengine at vger.kernel.org list (patchwork queue) and clarify that this
is a fix rather than a pure cleanup in the changelog?  At least
cleanup is how I first read it.

Thanks for the clarification.

--
Dan



More information about the linux-arm-kernel mailing list