From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
To: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
Russell King <linux@arm.linux.org.uk>,
linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v3 0/4] PCI: emulated PCI bridge config space
Date: Thu, 18 Oct 2018 18:17:47 +0100 [thread overview]
Message-ID: <20181018171747.GA529@e107981-ln.cambridge.arm.com> (raw)
In-Reply-To: <20181018153719.23115-1-thomas.petazzoni@bootlin.com>
On Thu, Oct 18, 2018 at 05:37:15PM +0200, Thomas Petazzoni wrote:
> Hello,
>
> The pci-mvebu driver already contains some logic to emulate a root
> port PCI bridge configuration space. It turns out that we have a
> similar need for the pci-aardvark driver. Instead of duplicating the
> same logic in two drivers, this patch series starts by adding a small
> common infrastructure that helps emulate a root port PCI bridge config
> space, converts pci-mvebu to use it, and finally extends pci-aardvark
> to use it as well.
>
> Thanks to this, Marvell Armada 3720 based systems, which use the
> Aarkvark PCI controller, will have better PCI support, by having a
> root port PCI bridge exposed.
>
> The emulated PCI bridge common logic is a proposal, I very much
> welcome comments and suggestions. Also, if you feel that adding a
> common logic for only two drivers is too early, I'm fine with
> duplicating a bit of code betwen pci-mvebu and pci-aardvark.
>
> Changes v2 -> v3:
>
> - Address the FIXME comment that was pointed out by Russell. In fact
> the |= pcie_devctl was not needed, because pcie_devctl is always
> zero. To fix this, an additional commit was added to the series to
> drop the use of unneeded fields in the PCI Express capability block
> emulation in pci-mvebu.
>
> - Drop some more code from pci-mvebu that was used to prevent messing
> up with W1C bits, because this is now already taken care of by the
> common bridge emulation logic.
>
> - Fixed the commit log of "PCI: mvebu: Convert to PCI emulated bridge
> config space" according to Lorenzo comments.
>
> - Use PCI_STD_HEADER_SIZEOF when defining PCI_BRIDGE_CONTROL, as
> suggested by Bjorn.
>
> - Added Bjorn Acked-by and Russell Reviewed-by on the patch adding
> the common logic.
>
> Changes v1 -> v2:
>
> - Rebased to 4.19-rc1
>
> - The functions implementing the config space read/write emulation
> now have the knowledge of which registers/bits are read-only,
> read-write, reserved and write-1-to-clear, and behave according to
> this information.
>
> - I have renamed the function to use conf_read() and conf_write()
> suffixes, as suggested by Bjorn.
>
> - The whole thing is now named pci-bridge-emul instead of
> pci-sw-bridge (and of course all functions, types and macros were
> changed accordingly), as Bjorn wasn't happy about pci-sw-bridge.
>
> - The header file was moved into drivers/pci (instead of being in
> include/linux).
>
> Thanks a lot in advance for your review and feedback.
>
> Best regards,
>
> Thomas Petazzoni
>
> Thomas Petazzoni (3):
> PCI: Introduce PCI bridge emulated config space common logic
> PCI: mvebu: Drop unused PCI express capability code
> PCI: mvebu: Convert to PCI emulated bridge config space
>
> Zachary Zhang (1):
> PCI: aardvark: Implement emulated root PCI bridge config space
>
> drivers/pci/Kconfig | 3 +
> drivers/pci/Makefile | 1 +
> drivers/pci/controller/Kconfig | 2 +
> drivers/pci/controller/pci-aardvark.c | 129 ++++++++++-
> drivers/pci/controller/pci-mvebu.c | 384 +++++++++-----------------------
> drivers/pci/pci-bridge-emul.c | 408 ++++++++++++++++++++++++++++++++++
> drivers/pci/pci-bridge-emul.h | 124 +++++++++++
> 7 files changed, 764 insertions(+), 287 deletions(-)
> create mode 100644 drivers/pci/pci-bridge-emul.c
> create mode 100644 drivers/pci/pci-bridge-emul.h
I have applied the series with Bjorn and Russell ACKs to
pci/controller-misc, tentatively for v4.20.
Thanks !
Lorenzo
prev parent reply other threads:[~2018-10-18 17:17 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-18 15:37 [PATCH v3 0/4] PCI: emulated PCI bridge config space Thomas Petazzoni
2018-10-18 15:37 ` [PATCH v3 1/4] PCI: Introduce PCI bridge emulated config space common logic Thomas Petazzoni
2018-10-18 15:37 ` [PATCH v3 2/4] PCI: mvebu: Drop unused PCI express capability code Thomas Petazzoni
2018-10-18 15:37 ` [PATCH v3 3/4] PCI: mvebu: Convert to PCI emulated bridge config space Thomas Petazzoni
2018-10-18 15:37 ` [PATCH v3 4/4] PCI: aardvark: Implement emulated root PCI " Thomas Petazzoni
2018-10-18 17:17 ` Lorenzo Pieralisi [this message]
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=20181018171747.GA529@e107981-ln.cambridge.arm.com \
--to=lorenzo.pieralisi@arm.com \
--cc=bhelgaas@google.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=thomas.petazzoni@bootlin.com \
/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