From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: Jason Cooper <jason@lakedaemon.net>,
Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org
Subject: [PATCH 0/6] mvebu PCI fixes and cleanups
Date: Wed, 23 Sep 2015 18:17:07 +0100 [thread overview]
Message-ID: <20150923171706.GL21084@n2100.arm.linux.org.uk> (raw)
This small series contains a number of fixes and cleanups to the
mvebu PCI host code.
The first patch makes the PCIe host controller more conformant with the
requirements of the PCI specification, which requires where a device is
present, unused PCI configuration space returns zero. This patch
ensures that is the case.
The second patch fixes the very broken idea that it's somehow legal to
read-modify-write the PCI configuration space using 32-bit accessors,
even when accessing a smaller register. There are _multiple_ registers
in PCI space where bits are defined to be "RW1C" - which means "read,
write 1 to clear". Registers include the PCI status register, and all
PCIe status registers. Hardware which does not support generating 16-bit
and 8-bit configuration cycles is essentially broken and non-conformant.
Luckily, that is not true of Armada hardware. This patch fixes it.
Tested on Armada 388.
These two patches should be considered as fixes. I don't see a need for
them to be backported to stable kernels as there is no serious breakage
resulting from them with the driver in its current state. The remainder
are cleanups.
Patch 3 gets rid of the open coded "of_get_available_child_count()"
implementation.
Patch 4 uses for_each_available_child_of_node(), rather than
for_each_child_of_node() and checking whether of_device_is_available()
returns true. for_each_available_child_of_node() is meant for this.
Patch 5 makes the warning message for the lack of the "marvell,pcie-port"
property more useful, by printing the DT path of the offending node
rather than the wooly "PCIe DT node".
Lastly, patch 6 converts all the "PCIe%d.%d" and "pcie%d.%d" with the
port name string, which is a pre-prepared string of that format. This
means we end up with a consistent name for the port being used everywhere
which is good for user experience.
drivers/pci/host/pci-mvebu.c | 87 ++++++++++++++++++++++++--------------------
1 file changed, 47 insertions(+), 40 deletions(-)
--
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.
next reply other threads:[~2015-09-23 17:17 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-23 17:17 Russell King - ARM Linux [this message]
2015-09-23 17:17 ` [PATCH 1/6] pci: mvebu: provide a compliant PCI configuration space Russell King
2015-09-23 17:17 ` [PATCH 2/6] pci: mvebu: generate proper configuration access cycles Russell King
2015-09-24 14:30 ` Andrew Lunn
2015-09-24 22:23 ` Andrew Lunn
2015-09-24 22:43 ` Russell King - ARM Linux
2015-09-24 22:40 ` Andrew Lunn
2015-09-23 17:17 ` [PATCH 3/6] pci: mvebu: use of_get_available_child_count() Russell King
2015-09-23 17:17 ` [PATCH 4/6] pci: mvebu: use for_each_available_child_of_node() to walk child nodes Russell King
2015-09-23 17:17 ` [PATCH 5/6] pci: mvebu: report full node name when reporting a DT error Russell King
2015-09-23 17:17 ` [PATCH 6/6] pci: mvebu: use port->name rather than "PCIe%d.%d" Russell King
2015-09-24 23:36 ` [PATCH 0/6] mvebu PCI fixes and cleanups Andrew Lunn
2015-09-25 7:38 ` Thomas Petazzoni
2015-09-25 12:51 ` Bjorn Helgaas
2015-10-08 16:26 ` Bjorn Helgaas
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=20150923171706.GL21084@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--cc=bhelgaas@google.com \
--cc=jason@lakedaemon.net \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-pci@vger.kernel.org \
--cc=thomas.petazzoni@free-electrons.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;
as well as URLs for NNTP newsgroup(s).