All of lore.kernel.org
 help / color / mirror / Atom feed
From: linus.walleij@linaro.org (Linus Walleij)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 6/6] RFC: ARM: integrator: get rid of <mach/memory.h>
Date: Fri, 14 Feb 2014 11:29:31 +0100	[thread overview]
Message-ID: <1392373771-17303-7-git-send-email-linus.walleij@linaro.org> (raw)
In-Reply-To: <1392373771-17303-1-git-send-email-linus.walleij@linaro.org>

The Integrator has a custom <mach/memory.h> header defining the
BUS_OFFSET for *_to_bus and bus_to_* operations as offset from
0x80000000.

I have searched the documentation and cannot find any clue to
this set-up. The Integrators have no intrinsic DMA engine(s)
that need to perform any bus translations. The only thing I can
think of is the PCIv3 host found in the Integrator/AP. After
searching its documentation I cannot find any hint whatsoever
saying that it would perform DMA operations to memory offset
to 0x80000000. The PCIv3 driver does not configure anything
for DMA, and the hardware contains registers to configure
the local (CPU) side address translation. When I dump the
default values of these registers (the Linux driver does not
touch them) they contain zeroes meaning a 1-to-1 mapping to
the bus.

So patch the mapping to use the kernel default.

Cc: Will Deacon <will.deacon@arm.com>
Cc: Jonathan Austin <jonathan.austin@arm.com>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
Admittedly I'm not certain about how DMA works in PCI scenarios
(only experienced with DMA engines) so some input here would be
appreciated. Like if DMA support is compulory for PCI hosts or
if it's somehow even unused on the PCIv3. And if someone has
ever tested some DMA:ing PCI card on this machine.
---
 arch/arm/Kconfig                               |  1 -
 arch/arm/mach-integrator/include/mach/memory.h | 34 --------------------------
 2 files changed, 35 deletions(-)
 delete mode 100644 arch/arm/mach-integrator/include/mach/memory.h

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index e25419817791..c4094131314e 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -325,7 +325,6 @@ config ARCH_INTEGRATOR
 	select HAVE_TCM
 	select ICST
 	select MULTI_IRQ_HANDLER
-	select NEED_MACH_MEMORY_H
 	select PLAT_VERSATILE
 	select SPARSE_IRQ
 	select USE_OF
diff --git a/arch/arm/mach-integrator/include/mach/memory.h b/arch/arm/mach-integrator/include/mach/memory.h
deleted file mode 100644
index 334d5e271889..000000000000
--- a/arch/arm/mach-integrator/include/mach/memory.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- *  arch/arm/mach-integrator/include/mach/memory.h
- *
- *  Copyright (C) 1999 ARM Limited
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-#ifndef __ASM_ARCH_MEMORY_H
-#define __ASM_ARCH_MEMORY_H
-
-/*
- * Physical DRAM offset.
- */
-#define PLAT_PHYS_OFFSET	UL(0x00000000)
-
-#define BUS_OFFSET	UL(0x80000000)
-#define __virt_to_bus(x)	((x) - PAGE_OFFSET + BUS_OFFSET)
-#define __bus_to_virt(x)	((x) - BUS_OFFSET + PAGE_OFFSET)
-#define __pfn_to_bus(x)		(__pfn_to_phys(x) + (BUS_OFFSET - PHYS_OFFSET))
-#define __bus_to_pfn(x)		__phys_to_pfn((x) - (BUS_OFFSET - PHYS_OFFSET))
-
-#endif
-- 
1.8.5.3

  parent reply	other threads:[~2014-02-14 10:29 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-14 10:29 [PATCH 0/6] ARM: integrator: multiplatform advancements Linus Walleij
2014-02-14 10:29 ` [PATCH 1/6] ARM: integrator: localize the lm.h header Linus Walleij
2014-02-14 10:29 ` [PATCH 2/6] ARM: integrator: localize the impd1.h header Linus Walleij
2014-02-14 10:29 ` [PATCH 3/6] ARM: integrator: merge platform.h to hardware.h Linus Walleij
2014-02-14 10:29 ` [PATCH 4/6] ARM: integrator: localize the hardware.h header Linus Walleij
2014-02-14 10:29 ` [PATCH 5/6] ARM: integrator: register sched_clock directly Linus Walleij
2014-02-14 10:29 ` Linus Walleij [this message]
2014-02-14 12:02   ` [PATCH 6/6] RFC: ARM: integrator: get rid of <mach/memory.h> Arnd Bergmann
2014-02-14 13:47 ` [PATCH 0/6] ARM: integrator: multiplatform advancements Russell King - ARM Linux
2014-02-24  9:37   ` Linus Walleij
2014-03-05 16:19     ` Pawel Moll

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1392373771-17303-7-git-send-email-linus.walleij@linaro.org \
    --to=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.