public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v7 3/3] arm64: Add architecture support for PCI
Date: Wed, 19 Mar 2014 19:36:10 +0100	[thread overview]
Message-ID: <14992874.y2jPSm88bi@wuerfel> (raw)
In-Reply-To: <CAL_JsqJCa6kz8H_W7vz4YW5eOrOZ43kwxQq9Uh-M0qpCtW_pQQ@mail.gmail.com>

On Wednesday 19 March 2014 12:53:11 Rob Herring wrote:
> I've successfully used the preceeding series on ARM converting the
> Versatile PCI support to use it. The main part of the process was just
> copying this arm64 code to arm which tells me the code is in the wrong
> place. There are still some differences in pcibios_fixup_bus, and it
> is not clear to me whether the arm version should be doing all the
> things the arm64 version does and vice-versa. Certainly that should be
> sorted out. The other issues I see is pci_ioremap_io still has to be
> called by the driver and is not aligned at least for the prototype as
> I pointed out. Seems all these issues could be fixed with a simple
> CONFIG_ARCH_HAS_MMIO_IOSPACE kconfig option.

I don't even think we need a CONFIG option: Any architecture that wants
to provide pci_ioremap_io (or whatever we end up calling the new version)
needs to pass the virtual base address to the common code, and the
easiest way to do that is using a macro  (e.g. PCI_IO_VIRT_BASE).

What I think we should end up with is a generic implementation like

/* 
 * architectures with special needs may provide their own version,
 * but most should be able to use this one.
 */
unsigned long __weak pci_ioremap_iospace(struct resource *bus, unsigned long cpu)
{
#ifdef PCI_IO_VIRT_BASE
	/* find free space, ioremap the bus address, return the offset */
	...
#endif

	/* this architecture doesn't have memory mapped I/O space,
	   so this function should never be called */
	WARN_ON(1);
	return -ENODEV;
}

	Arnd

  reply	other threads:[~2014-03-19 18:36 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-14 15:34 [PATCH v7 0/3] Add support for PCI in AArch64 Liviu Dudau
2014-03-14 15:34 ` [PATCH v7 1/3] Fix ioport_map() for !CONFIG_GENERIC_IOMAP cases Liviu Dudau
2014-03-14 15:34 ` [PATCH v7 2/3] arm64: Extend the PCI I/O space to 16MB Liviu Dudau
2014-03-14 15:34 ` [PATCH v7 3/3] arm64: Add architecture support for PCI Liviu Dudau
2014-03-14 17:14   ` Catalin Marinas
2014-03-14 17:38     ` Arnd Bergmann
2014-03-14 18:05       ` Liviu Dudau
2014-03-14 19:10         ` Arnd Bergmann
2014-03-16  6:22           ` Benjamin Herrenschmidt
2014-03-17 17:38         ` Catalin Marinas
2014-03-17 18:05           ` Liviu Dudau
2014-03-19 13:56             ` Catalin Marinas
2014-03-19 17:21               ` Liviu Dudau
2014-03-19 17:53                 ` Rob Herring
2014-03-19 18:36                   ` Arnd Bergmann [this message]
2014-03-19 18:37                 ` Arnd Bergmann
2014-03-20  9:46                   ` Liviu Dudau
2014-03-20 11:17                     ` Arnd Bergmann
2014-03-20 11:38                       ` Liviu Dudau
2014-03-20 12:26                         ` Arnd Bergmann
2014-03-20 12:50                           ` Liviu Dudau
2014-03-17 16:05   ` Rob Herring
2014-03-17 16:22     ` Liviu Dudau
2014-04-07 23:58   ` Bjorn Helgaas
2014-04-08  9:52     ` Liviu Dudau
2014-04-22  8:58 ` [PATCH v7 0/3] Add support for PCI in AArch64 Sandeepa Prabhu
2014-04-22 10:11   ` Liviu Dudau
2014-04-22 11:50     ` Sandeepa Prabhu
2014-04-22 12:34       ` Liviu Dudau
2014-04-23 20:32       ` Tanmay Inamdar
2014-04-24  3:08         ` Sandeepa Prabhu
2014-05-16 10:33 ` Sunil Kovvuri
2014-05-16 13:24   ` Liviu Dudau
2014-05-16 17:42     ` Sunil Kovvuri
2014-05-21 11:15       ` Sunil Kovvuri
2014-05-21 11:34         ` Liviu Dudau
2014-05-21 17:06           ` Jason Gunthorpe
2014-05-19 13:01   ` Arnd Bergmann
2014-05-20  4:22     ` Sunil Kovvuri
2014-05-20  8:44       ` Arnd Bergmann
2014-05-20  8:55         ` Sunil Kovvuri

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=14992874.y2jPSm88bi@wuerfel \
    --to=arnd@arndb.de \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox