All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Helgaas <helgaas@kernel.org>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Jason Cooper <jason@lakedaemon.net>,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org
Subject: Re: [PATCH 0/6] mvebu PCI fixes and cleanups
Date: Thu, 8 Oct 2015 11:26:31 -0500	[thread overview]
Message-ID: <20151008162631.GE3885@localhost> (raw)
In-Reply-To: <20150923171706.GL21084@n2100.arm.linux.org.uk>

On Wed, Sep 23, 2015 at 06:17:07PM +0100, Russell King - ARM Linux wrote:
> 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(-)

Applied to pci/host-mvebu for v4.4, with Tested-by Thomas and Andrew
and Reviewed-by Thomas.  Thanks, Russell!

Bjorn

WARNING: multiple messages have this Message-ID (diff)
From: helgaas@kernel.org (Bjorn Helgaas)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/6] mvebu PCI fixes and cleanups
Date: Thu, 8 Oct 2015 11:26:31 -0500	[thread overview]
Message-ID: <20151008162631.GE3885@localhost> (raw)
In-Reply-To: <20150923171706.GL21084@n2100.arm.linux.org.uk>

On Wed, Sep 23, 2015 at 06:17:07PM +0100, Russell King - ARM Linux wrote:
> 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(-)

Applied to pci/host-mvebu for v4.4, with Tested-by Thomas and Andrew
and Reviewed-by Thomas.  Thanks, Russell!

Bjorn

  parent reply	other threads:[~2015-10-08 16:26 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-23 17:17 [PATCH 0/6] mvebu PCI fixes and cleanups Russell King - ARM Linux
2015-09-23 17:17 ` Russell King - ARM Linux
2015-09-23 17:17 ` [PATCH 1/6] pci: mvebu: provide a compliant PCI configuration space Russell King
2015-09-23 17:17   ` Russell King
2015-09-23 17:17 ` [PATCH 2/6] pci: mvebu: generate proper configuration access cycles Russell King
2015-09-23 17:17   ` Russell King
2015-09-24 14:30   ` Andrew Lunn
2015-09-24 14:30     ` Andrew Lunn
2015-09-24 22:23   ` Andrew Lunn
2015-09-24 22:23     ` Andrew Lunn
2015-09-24 22:43     ` Russell King - ARM Linux
2015-09-24 22:43       ` Russell King - ARM Linux
2015-09-24 22:40       ` Andrew Lunn
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   ` 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   ` 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   ` Russell King
2015-09-23 17:17 ` [PATCH 6/6] pci: mvebu: use port->name rather than "PCIe%d.%d" Russell King
2015-09-23 17:17   ` Russell King
2015-09-24 23:36 ` [PATCH 0/6] mvebu PCI fixes and cleanups Andrew Lunn
2015-09-24 23:36   ` Andrew Lunn
2015-09-25  7:38 ` Thomas Petazzoni
2015-09-25  7:38   ` Thomas Petazzoni
2015-09-25 12:51   ` Bjorn Helgaas
2015-09-25 12:51     ` Bjorn Helgaas
2015-10-08 16:26 ` Bjorn Helgaas [this message]
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=20151008162631.GE3885@localhost \
    --to=helgaas@kernel.org \
    --cc=bhelgaas@google.com \
    --cc=jason@lakedaemon.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --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 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.