From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>,
"Russell King - ARM Linux" <linux@arm.linux.org.uk>,
Bjorn Helgaas <bhelgaas@google.com>,
linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
Lior Amsalem <alior@marvell.com>, Andrew Lunn <andrew@lunn.ch>,
Jason Cooper <jason@lakedaemon.net>,
Stephen Warren <swarren@wwwdotorg.org>,
Thierry Reding <thierry.reding@avionic-design.de>,
"Eran Ben-Avi" <benavi@marvell.com>,
Nadav Haklai <nadavh@marvell.com>,
Maen Suleiman <maen@marvell.com>,
Shadi Ammouri <shadi@marvell.com>,
Gregory Clement <gregory.clement@free-electrons.com>,
Tawfik Bayouk <tawfik@marvell.com>
Subject: Re: [PATCH v2 05/27] arm: pci: add a align_resource hook
Date: Wed, 30 Jan 2013 12:47:21 +0100 [thread overview]
Message-ID: <20130130124721.0ad0294e@skate> (raw)
In-Reply-To: <201301300955.49473.arnd@arndb.de>
Dear Arnd Bergmann,
On Wed, 30 Jan 2013 09:55:49 +0000, Arnd Bergmann wrote:
> I don't remember the kernel ever caring about whether hardware complies
> to a standard or not. The kernel's job is to make hardware work, based
> on the actual implementation of that hardware. In a lot of cases that
> means taking the standard document as a reference, and adding quirks
> for the devices that are different.
>
> In the end, it comes down to the impact on the code complexity, and
> the run-time overhead for whatever hardware is most common when adding
> those quirks.
This is not only about standards, it is also about re-using the PCI
resource allocation code.
In my RFCv1, sent December, 7th, I wasn't using any emulated PCI-to-PCI
bridge. So it *can* perfectly work without it.
However, one major drawback of my RFCv1 version is that since I didn't
know how much I/O space and memory space was needed for each PCIe
device, I had to oversize the address decoding windows. And also, I had
to have a special allocator (certainly simple, but still) to find an
available physical address to set up each address decoding window.
Emulating a PCI-to-PCI bridge very nicely allows to re-use the PCI core
resource allocation code. I think it's really the main reason for
emulated those PCI-to-PCI bridges, rather than willing to comply to
some standards.
So what I'm going to do now is rework my patch series by removing the
emulated host bridge (which is normally mandatory by PCIe standard, but
Linux doesn't need it, so we don't care), but I'll keep the emulated
PCI-to-PCI bridges in order to benefit for the PCI core resource
allocation mechanisms.
Is this ok for you?
I'd like to settle on the strategy to follow, because we're really
going a funny road here: on December 7th, I submit a series that
doesn't use any PCI-to-PCI bridge, and I'm told that I should emulate
some. I spent a long time working on an implementation that uses
emumlated PCI-to-PCI bridges, which I submitted on Monday, now to be
told that I should work really hard not to use PCI-to-PCI bridges. I
hope you can feel my little embarrassment here...
Thanks,
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
next prev parent reply other threads:[~2013-01-30 11:47 UTC|newest]
Thread overview: 217+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-28 18:56 [PATCH v2] PCIe support for the Armada 370 and Armada XP SoCs Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 01/27] of/pci: Provide support for parsing PCI DT ranges property Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 02/27] of/pci: Add of_pci_get_devfn() function Thomas Petazzoni
2013-01-28 22:00 ` Stephen Warren
2013-01-28 22:16 ` Thierry Reding
2013-01-29 10:04 ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 03/27] of/pci: Add of_pci_parse_bus_range() function Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 04/27] ARM: pci: Allow passing per-controller private data Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 05/27] arm: pci: add a align_resource hook Thomas Petazzoni
2013-01-29 15:12 ` Thomas Petazzoni
2013-01-29 15:15 ` Russell King - ARM Linux
2013-01-29 15:23 ` Thomas Petazzoni
2013-01-29 15:25 ` Russell King - ARM Linux
2013-01-29 15:28 ` Thomas Petazzoni
2013-01-29 15:58 ` Russell King - ARM Linux
2013-01-29 16:20 ` Thomas Petazzoni
2013-01-29 16:45 ` Arnd Bergmann
2013-01-29 17:09 ` Thomas Petazzoni
2013-01-29 20:15 ` Arnd Bergmann
2013-01-29 20:33 ` Thomas Petazzoni
2013-01-29 21:59 ` Thomas Petazzoni
2013-01-29 22:17 ` Stephen Warren
2013-01-30 4:49 ` Jason Gunthorpe
2013-01-29 22:54 ` Arnd Bergmann
2013-01-30 4:21 ` Jason Gunthorpe
2013-01-30 9:55 ` Arnd Bergmann
2013-01-30 11:47 ` Thomas Petazzoni [this message]
2013-01-30 16:17 ` Arnd Bergmann
2013-01-30 16:38 ` Thomas Petazzoni
2013-01-30 20:48 ` Bjorn Helgaas
2013-01-30 21:06 ` Jason Gunthorpe
2013-01-30 4:56 ` Jason Gunthorpe
2013-01-30 8:19 ` Thomas Petazzoni
2013-01-30 9:46 ` Arnd Bergmann
2013-01-30 9:54 ` Thomas Petazzoni
2013-01-30 10:03 ` Arnd Bergmann
2013-01-30 11:42 ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 06/27] lib: devres: don't enclose pcim_*() functions in CONFIG_HAS_IOPORT Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 07/27] PCI: Add software-emulated host bridge Thomas Petazzoni
2013-01-28 20:18 ` Arnd Bergmann
2013-01-28 22:03 ` Stephen Warren
2013-01-28 22:09 ` Jason Gunthorpe
2013-01-28 22:18 ` Thomas Petazzoni
2013-01-28 22:23 ` Jason Gunthorpe
2013-01-28 22:30 ` Thomas Petazzoni
2013-01-28 22:51 ` Jason Gunthorpe
2013-01-29 10:01 ` Thomas Petazzoni
2013-01-29 17:42 ` Jason Gunthorpe
2013-01-29 17:43 ` Thomas Petazzoni
2013-01-29 2:40 ` Bjorn Helgaas
2013-01-29 6:16 ` Jason Gunthorpe
2013-01-28 22:09 ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 08/27] pci: implement an emulated PCI-to-PCI bridge Thomas Petazzoni
2013-01-28 19:35 ` Jason Gunthorpe
2013-01-28 19:39 ` Thomas Petazzoni
2013-01-28 19:55 ` Jason Gunthorpe
2013-01-28 22:06 ` Stephen Warren
2013-01-28 22:16 ` Jason Gunthorpe
2013-01-29 22:35 ` Bjorn Helgaas
2013-01-29 23:06 ` Arnd Bergmann
2013-01-30 4:12 ` Jason Gunthorpe
2013-01-28 18:56 ` [PATCH v2 09/27] pci: infrastructure to add drivers in drivers/pci/host Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 10/27] arm: mvebu: fix address-cells in mpic DT node Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 11/27] clk: mvebu: create parent-child relation for PCIe clocks on Armada 370 Thomas Petazzoni
2013-01-28 22:08 ` Stephen Warren
2013-01-28 22:21 ` Thomas Petazzoni
2013-01-28 22:27 ` Stephen Warren
2013-01-28 22:44 ` Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 12/27] clk: mvebu: add more PCIe clocks for Armada XP Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 13/27] arm: plat-orion: introduce WIN_CTRL_ENABLE in address mapping code Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 14/27] arm: plat-orion: refactor the orion_disable_wins() function Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 15/27] arm: plat-orion: introduce orion_{alloc,free}_cpu_win() functions Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 16/27] arm: mvebu: add functions to alloc/free PCIe decoding windows Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 17/27] arm: plat-orion: make common PCIe code usable on mvebu Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 18/27] arm: plat-orion: add more flexible PCI configuration space read/write functions Thomas Petazzoni
2013-01-28 19:51 ` Jason Gunthorpe
2013-01-29 8:40 ` Thomas Petazzoni
2013-01-29 17:40 ` Jason Gunthorpe
2013-01-28 18:56 ` [PATCH v2 19/27] pci: PCIe driver for Marvell Armada 370/XP systems Thomas Petazzoni
2013-01-28 22:21 ` Stephen Warren
2013-01-29 8:41 ` Thomas Petazzoni
2013-01-29 9:20 ` Thierry Reding
2013-01-29 9:21 ` Thomas Petazzoni
2013-02-07 10:24 ` Thomas Petazzoni
2013-02-07 15:46 ` Bjorn Helgaas
2013-02-07 16:00 ` Thomas Petazzoni
2013-02-07 18:08 ` Bjorn Helgaas
2013-02-07 18:15 ` Jason Gunthorpe
2013-02-07 18:30 ` Bjorn Helgaas
2013-02-07 18:43 ` Thierry Reding
2013-01-29 19:47 ` Stephen Warren
2013-01-29 3:29 ` Bjorn Helgaas
2013-01-29 5:55 ` Jason Gunthorpe
2013-01-29 8:00 ` Thomas Petazzoni
2013-01-29 17:47 ` Bjorn Helgaas
2013-01-29 18:14 ` Thomas Petazzoni
2013-01-29 18:41 ` Jason Gunthorpe
2013-01-29 19:07 ` Bjorn Helgaas
2013-01-29 19:18 ` Jason Gunthorpe
2013-01-29 19:38 ` Bjorn Helgaas
2013-01-29 22:27 ` Bjorn Helgaas
2013-01-30 4:24 ` Jason Gunthorpe
2013-01-30 9:35 ` Thomas Petazzoni
2013-01-30 18:52 ` Bjorn Helgaas
2013-01-30 22:28 ` Thomas Petazzoni
2013-01-30 23:10 ` Jason Gunthorpe
2013-01-30 23:48 ` Bjorn Helgaas
2013-01-31 16:04 ` Thomas Petazzoni
2013-01-31 16:30 ` Bjorn Helgaas
2013-01-31 16:33 ` Thomas Petazzoni
2013-01-31 17:03 ` Bjorn Helgaas
2013-01-31 16:42 ` Russell King - ARM Linux
2013-01-29 13:22 ` Andrew Murray
2013-01-29 13:45 ` Thomas Petazzoni
2013-01-29 14:05 ` Andrew Murray
2013-01-29 14:20 ` Thierry Reding
2013-01-29 14:29 ` Thomas Petazzoni
2013-01-29 15:02 ` Thierry Reding
2013-01-29 15:08 ` Andrew Murray
2013-01-29 15:10 ` Thomas Petazzoni
2013-02-07 14:37 ` Thomas Petazzoni
2013-02-07 15:51 ` Andrew Murray
2013-02-07 16:19 ` Thomas Petazzoni
2013-02-07 16:40 ` Thomas Petazzoni
2013-02-07 16:53 ` Andrew Murray
2013-02-07 17:14 ` Thomas Petazzoni
2013-02-07 17:29 ` Andrew Murray
2013-02-07 17:37 ` Thomas Petazzoni
2013-02-07 18:21 ` Jason Gunthorpe
2013-02-07 23:25 ` Arnd Bergmann
2013-02-08 0:44 ` Jason Gunthorpe
2013-02-09 22:23 ` Arnd Bergmann
2013-02-12 19:26 ` Jason Gunthorpe
2013-02-07 18:30 ` Andrew Murray
2013-02-07 23:27 ` Arnd Bergmann
2013-01-30 11:32 ` Russell King - ARM Linux
2013-01-30 11:37 ` Thomas Petazzoni
2013-01-30 12:03 ` Thierry Reding
2013-01-30 13:07 ` Thomas Petazzoni
2013-01-30 15:08 ` Russell King - ARM Linux
2013-01-30 15:19 ` Russell King - ARM Linux
2013-01-30 15:36 ` Thomas Petazzoni
2013-01-30 15:46 ` Russell King - ARM Linux
2013-01-31 14:30 ` Thomas Petazzoni
2013-01-31 14:50 ` Russell King - ARM Linux
2013-01-31 14:57 ` Thomas Petazzoni
2013-01-31 15:08 ` Russell King - ARM Linux
2013-01-31 15:22 ` Thomas Petazzoni
2013-01-31 15:36 ` Russell King - ARM Linux
2013-01-31 15:47 ` Thomas Petazzoni
2013-01-31 15:48 ` Russell King - ARM Linux
2013-01-31 16:18 ` Arnd Bergmann
2013-01-31 18:02 ` Jason Gunthorpe
2013-01-31 20:46 ` Arnd Bergmann
2013-01-31 22:44 ` Jason Gunthorpe
2013-02-01 11:30 ` Arnd Bergmann
2013-02-01 19:52 ` Jason Gunthorpe
2013-02-06 16:51 ` Thomas Petazzoni
2013-02-06 17:09 ` Jason Gunthorpe
2013-02-06 17:18 ` Thomas Petazzoni
2013-02-06 17:50 ` Jason Gunthorpe
2013-02-06 18:02 ` Thomas Petazzoni
2013-02-06 18:22 ` Stephen Warren
2013-02-06 18:39 ` Jason Gunthorpe
2013-02-06 18:42 ` Thomas Petazzoni
2013-02-06 22:04 ` Arnd Bergmann
2013-02-07 15:50 ` Giving special alignment/size constraints to the Linux PCI core? Thomas Petazzoni
2013-02-07 23:33 ` Arnd Bergmann
2013-02-08 4:21 ` Bjorn Helgaas
2013-02-08 8:14 ` Thomas Petazzoni
2013-02-12 16:00 ` Arnd Bergmann
2013-02-12 18:41 ` Jason Gunthorpe
2013-02-12 19:02 ` Arnd Bergmann
2013-02-12 19:38 ` Jason Gunthorpe
2013-02-12 23:05 ` Arnd Bergmann
2013-02-13 0:32 ` Jason Gunthorpe
2013-02-13 18:53 ` Arnd Bergmann
2013-02-13 19:12 ` Jason Gunthorpe
2013-02-13 19:51 ` Thomas Petazzoni
2013-02-13 21:10 ` Arnd Bergmann
2013-02-13 21:20 ` Yinghai Lu
2013-02-13 22:24 ` Arnd Bergmann
2013-02-13 21:02 ` Yinghai Lu
2013-01-31 7:10 ` [PATCH v2 19/27] pci: PCIe driver for Marvell Armada 370/XP systems Thierry Reding
2013-02-01 0:34 ` Stephen Warren
2013-02-01 1:41 ` Jason Gunthorpe
2013-02-01 2:21 ` Stephen Warren
2013-02-01 3:51 ` Jason Gunthorpe
2013-02-01 9:03 ` Thomas Petazzoni
2013-02-01 16:07 ` Arnd Bergmann
2013-02-01 16:26 ` Russell King - ARM Linux
2013-02-01 17:45 ` Arnd Bergmann
2013-02-01 19:58 ` Jason Gunthorpe
2013-02-01 8:46 ` Thomas Petazzoni
2013-02-01 16:02 ` Arnd Bergmann
2013-02-01 17:57 ` Stephen Warren
2013-02-01 19:39 ` Jason Gunthorpe
2013-02-01 20:30 ` Stephen Warren
2013-01-28 18:56 ` [PATCH v2 20/27] arm: mvebu: PCIe support is now available on mvebu Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 21/27] arm: mvebu: add PCIe Device Tree informations for Armada 370 Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 22/27] arm: mvebu: add PCIe Device Tree informations for Armada XP Thomas Petazzoni
2013-02-06 22:41 ` Arnd Bergmann
2013-02-06 23:07 ` Thomas Petazzoni
2013-02-07 8:04 ` Arnd Bergmann
2013-02-07 8:45 ` Thomas Petazzoni
2013-02-07 9:09 ` Arnd Bergmann
2013-02-07 1:05 ` Jason Gunthorpe
2013-02-07 7:28 ` Thierry Reding
2013-02-07 17:49 ` Jason Gunthorpe
2013-02-07 8:24 ` Arnd Bergmann
2013-02-07 17:00 ` Jason Gunthorpe
2013-02-07 23:44 ` Arnd Bergmann
2013-01-28 18:56 ` [PATCH v2 23/27] arm: mvebu: PCIe Device Tree informations for OpenBlocks AX3-4 Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 24/27] arm: mvebu: PCIe Device Tree informations for Armada XP DB Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 25/27] arm: mvebu: PCIe Device Tree informations for Armada 370 Mirabox Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 26/27] arm: mvebu: PCIe Device Tree informations for Armada 370 DB Thomas Petazzoni
2013-01-28 18:56 ` [PATCH v2 27/27] arm: mvebu: update defconfig with PCI and USB support Thomas Petazzoni
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=20130130124721.0ad0294e@skate \
--to=thomas.petazzoni@free-electrons.com \
--cc=alior@marvell.com \
--cc=andrew@lunn.ch \
--cc=arnd@arndb.de \
--cc=benavi@marvell.com \
--cc=bhelgaas@google.com \
--cc=gregory.clement@free-electrons.com \
--cc=jason@lakedaemon.net \
--cc=jgunthorpe@obsidianresearch.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=maen@marvell.com \
--cc=nadavh@marvell.com \
--cc=shadi@marvell.com \
--cc=swarren@wwwdotorg.org \
--cc=tawfik@marvell.com \
--cc=thierry.reding@avionic-design.de \
/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;
as well as URLs for NNTP newsgroup(s).