linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ray Jui <rjui@broadcom.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>,
	Arnd Bergmann <arnd@arndb.de>, Hauke Mehrtens <hauke@hauke-m.de>,
	<linux-kernel@vger.kernel.org>,
	<bcm-kernel-feedback-list@broadcom.com>,
	<linux-pci@vger.kernel.org>
Subject: Re: [PATCH v4 0/5] Add iProc PCIe PAXC and MSI support
Date: Wed, 2 Dec 2015 09:23:44 -0800	[thread overview]
Message-ID: <565F2920.8030400@broadcom.com> (raw)
In-Reply-To: <1448645868-5730-1-git-send-email-rjui@broadcom.com>

Hi Bjorn,

Is there any more change that you want me to make from the current patch 
set besides the inline comment from Hauke on the MSI patch?

Thanks,

Ray

On 11/27/2015 9:37 AM, Ray Jui wrote:
> This patch series adds support for the iProc PAXC interface and support for
> event queue based MSI, integrated in the iProc PCIe core
>
> This patch series is based on Linux v4.4-rc1 and is avaliable here:
> https://github.com/Broadcom/cygnus-linux/tree/iproc-msi-v4
>
> Between v4 and v3, changes are low risk. Sanity tested below:
> PAXB:
> - Broadcom NS2 SVK board with Intel e1000e network card
>
> Changes from v3:
> - Detect the number of possible CPUs instead online CPUs in the driver. Note
> CPU notifier based implementation still needs to be added in the future, for
> proper support of MSI IRQ affinity when CPU is brought online/offline at
> runtime. Support in this dirver will be added when we support CPU hotplug in
> one of iProc family of SoCs so the changes can be tested
> - Use dma_zalloc_coherent for event queue host memory allocation and zeoring
>
> Changes from v2:
> - Improved descriptions in the iProc MSI commit message
> - Removed redundant host memory used for MSI address. The MSI posted writes
> never really hit the memory. Use iProc PCIe controller base address instead
> - Fixed deadlock when MSI vectors are used up
> - Enforced the number of MSI groups to always be multiple of the number of CPUs
> - Improved the efficiency of MSI event processing by only updating the head
> pointer after finishing processing all outstanding events
> - Fixed error handling code to make sure all configurations are rolled back
> - Added code to zero the host memory used for event queues after allocation
> - Removed redundant 'brcm,num-eq-region' and 'brcm,num-msi-msg-region' DT
>    properties. Now determine the number of regions based on interface type
> - Other misc. changes
>
> Changes from v1:
> - Fixed incorrect 1-to-1 mapping between MSI vector and GIC interrupt. Now the
> driver supports multiple MSI vectors per GIC interrupt
> - Added MSI IRQ affinity support by distributing GIC interrupts across
> available CPU cores and dynamically steer MSI vectors to the target CPU
> - replace readl/writel with readl_relaxed/writel_relaxed since all register
> accesses within the iProc MSI driver are to/from the same I/O block, i.e., the
> iProc PCIe core
> - Removed all redundant irq_chip callback assignments
> - Changed to use uncached host memory for both MSI posted writes and event
> queues
> - Add functions to free resources in error/exit cases
> - In pcie-iproc-platform.c, pass in interface type through OF device data
> - Moved define for max number of interrupts from pcie-iproc.h to
> pcie-iproc-msi.c
> - Other misc. changes
>
> Ray Jui (5):
>    PCI: iproc: Update iProc PCIe device tree binding
>    PCI: iproc: Add PAXC interface support
>    PCI: iproc: Add iProc PCIe MSI device tree binding
>    PCI: iproc: Add iProc PCIe MSI support
>    ARM: dts: Enable MSI support for Broadcom Cygnus
>
>   .../devicetree/bindings/pci/brcm,iproc-pcie.txt    |  40 +-
>   arch/arm/boot/dts/bcm-cygnus.dtsi                  |  22 +
>   drivers/pci/host/Kconfig                           |   9 +
>   drivers/pci/host/Makefile                          |   1 +
>   drivers/pci/host/pcie-iproc-bcma.c                 |   1 +
>   drivers/pci/host/pcie-iproc-msi.c                  | 675 +++++++++++++++++++++
>   drivers/pci/host/pcie-iproc-platform.c             |  25 +-
>   drivers/pci/host/pcie-iproc.c                      | 228 +++++--
>   drivers/pci/host/pcie-iproc.h                      |  42 +-
>   9 files changed, 1000 insertions(+), 43 deletions(-)
>   create mode 100644 drivers/pci/host/pcie-iproc-msi.c
>

      parent reply	other threads:[~2015-12-02 17:23 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-27 17:37 [PATCH v4 0/5] Add iProc PCIe PAXC and MSI support Ray Jui
2015-11-27 17:37 ` [PATCH v4 1/5] PCI: iproc: Update iProc PCIe device tree binding Ray Jui
2015-11-27 17:37 ` [PATCH v4 2/5] PCI: iproc: Add PAXC interface support Ray Jui
2015-11-27 20:22   ` Arnd Bergmann
2015-11-27 20:56     ` Ray Jui
2015-11-27 21:11       ` Arnd Bergmann
2015-11-27 21:18         ` Ray Jui
2015-11-27 17:37 ` [PATCH v4 3/5] PCI: iproc: Add iProc PCIe MSI device tree binding Ray Jui
2015-11-27 17:37 ` [PATCH v4 4/5] PCI: iproc: Add iProc PCIe MSI support Ray Jui
2015-12-02 14:30   ` Hauke Mehrtens
2015-12-02 17:19     ` Ray Jui
2015-11-27 17:37 ` [PATCH v4 5/5] ARM: dts: Enable MSI support for Broadcom Cygnus Ray Jui
2015-12-02 17:23 ` Ray Jui [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=565F2920.8030400@broadcom.com \
    --to=rjui@broadcom.com \
    --cc=arnd@arndb.de \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=bhelgaas@google.com \
    --cc=hauke@hauke-m.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=marc.zyngier@arm.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).