Hi Suravee, Just a few minor comments.
On Sat, Sep 20, 2014 at 05:31:37PM +0100, suravee.suthikulpa...@amd.com wrote: > From: Suravee Suthikulpanit <suravee.suthikulpa...@amd.com> > > This patch implelments the ARM64 version of arch_setup_msi_irqs(), > which does not return 1 for when PCI_CAP_ID_MSI and nvec > 1. s/implelments/implements/ > Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpa...@amd.com> > Acked-by: Marc Zyngier <marc.zyng...@arm.com> > Cc: Mark Rutland <mark.rutl...@arm.com> > Cc: Jason Cooper <ja...@lakedaemon.net> > Cc: Catalin Marinas <catalin.mari...@arm.com> > Cc: Will Deacon <will.dea...@arm.com> > --- > arch/arm64/kernel/Makefile | 1 + > arch/arm64/kernel/msi.c | 41 +++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 42 insertions(+) > create mode 100644 arch/arm64/kernel/msi.c > > diff --git a/arch/arm64/kernel/Makefile b/arch/arm64/kernel/Makefile > index df7ef87..a921c42 100644 > --- a/arch/arm64/kernel/Makefile > +++ b/arch/arm64/kernel/Makefile > @@ -29,6 +29,7 @@ arm64-obj-$(CONFIG_ARM64_CPU_SUSPEND) += sleep.o > suspend.o > arm64-obj-$(CONFIG_JUMP_LABEL) += jump_label.o > arm64-obj-$(CONFIG_KGDB) += kgdb.o > arm64-obj-$(CONFIG_EFI) += efi.o efi-stub.o efi-entry.o > +arm64-obj-$(CONFIG_PCI_MSI) += msi.o > > obj-y += $(arm64-obj-y) vdso/ > obj-m += $(arm64-obj-m) > diff --git a/arch/arm64/kernel/msi.c b/arch/arm64/kernel/msi.c > new file mode 100644 > index 0000000..a295862 > --- /dev/null > +++ b/arch/arm64/kernel/msi.c > @@ -0,0 +1,41 @@ > +/* > + * ARM64 architectural MSI implemention > + * > + * Support for Message Signalelled Interrupts for systems that > + * implement ARM Generic Interrupt Controller: GICv2m. You can drop the GICv2M reference here, as there's not really anything GIC-specific in this file. > + * Copyright (C) 2014 Advanced Micro Devices, Inc. > + * Authors: Suravee Suthikulpanit <suravee.suthikulpa...@amd.com> > + * > + * This program is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License version 2 as published > + * by the Free Software Foundation. > + */ > + > +#include <linux/irq.h> > +#include <linux/msi.h> > +#include <linux/pci.h> > + > +/* > + * ARM64 function for seting up MSI irqs. > + * Based on driver/pci/msi.c: arch_setup_msi_irqs(). > + * > + * Note: > + * Current implementation assumes that all interrupt controller used in > + * ARM64 architecture _MUST_ supports multi-MSI. I think you can remove this comment, to be honest. > + */ > +int arm64_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) > +{ Shouldn't this be called arch_setup_msi_irqs, since the intention is that you override the weak symbol? > + struct msi_desc *entry; > + int ret; > + > + list_for_each_entry(entry, &dev->msi_list, list) { > + ret = arch_setup_msi_irq(dev, entry); > + if (ret < 0) > + return ret; > + if (ret > 0) > + return -ENOSPC; When does this function ever return a value > 0? Will -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/