Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932345AbbLGRBb (ORCPT ); Mon, 7 Dec 2015 12:01:31 -0500 Received: from mail.kernel.org ([198.145.29.136]:57730 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755691AbbLGRB3 (ORCPT ); Mon, 7 Dec 2015 12:01:29 -0500 Date: Mon, 7 Dec 2015 11:01:22 -0600 From: Bjorn Helgaas To: Ray Jui Cc: Bjorn Helgaas , Marc Zyngier , Arnd Bergmann , Hauke Mehrtens , linux-kernel@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, linux-pci@vger.kernel.org Subject: Re: [PATCH v5 0/5] Add iProc PCIe PAXC and MSI support Message-ID: <20151207170122.GI7994@localhost> References: <1449250502-10679-1-git-send-email-rjui@broadcom.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1449250502-10679-1-git-send-email-rjui@broadcom.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3952 Lines: 78 On Fri, Dec 04, 2015 at 09:34:57AM -0800, 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-v5 > > Changes from v4: > - Make 'iproc_msi_exit' inline to fix compiler warning when CONFIG_PCI_MSI > is disabled > > 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 Applied to pci/host-iproc for v4.5, with Marc's reviewed-by on "PCI: iproc: Add iProc PCIe MSI support". Thanks! Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/