Messages in this thread | | | Date | Tue, 29 Oct 2013 12:15:18 -0700 | Subject | Re: [PATCH 2/2] dma: mv_xor: Use high_base mmio where appropriate | From | Dan Williams <> |
| |
On Tue, Oct 29, 2013 at 2:32 AM, Thomas Petazzoni <thomas.petazzoni@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@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@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@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
| |