1. 23 Nov, 2014 23 commits
    • Jiang Liu's avatar
      genirq: Introduce msi_domain_alloc/free_irqs() · d9109698
      Jiang Liu authored
      
      
      Introduce msi_domain_{alloc|free}_irqs() to alloc/free interrupts
      from generic MSI irqdomain.
      
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Matthias Brugger <matthias.bgg@gmail.com>
      Cc: Alexander Gordeev <agordeev@redhat.com>
      Link: http://lkml.kernel.org/r/1416061447-9472-7-git-send-email-jiang.liu@linux.intel.com
      
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      d9109698
    • Thomas Gleixner's avatar
      asm-generic: Add msi.h · 926ff9ad
      Thomas Gleixner authored
      
      
      To support MSI irq domains we want a generic data structure for
      allocation, but we need the option to provide an architecture specific
      version of it. So instead of playing #ifdef games in linux/msi.h we
      add a generic header file and let architectures decide whether to
      include it or to provide their own implementation and provide the
      required typedef.
      
      I know that typedefs are not really nice, but in this case there are no
      forward declarations required and it's the simplest solution.
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Matthias Brugger <matthias.bgg@gmail.com>
      Cc: Alexander Gordeev <agordeev@redhat.com>
      926ff9ad
    • Jiang Liu's avatar
      genirq: Add generic msi irq domain support · f3cf8bb0
      Jiang Liu authored
      
      
      Implement the basic functions for MSI interrupt support with
      hierarchical interrupt domains.
      
      [ tglx: Extracted and combined from several patches ]
      
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      f3cf8bb0
    • Jiang Liu's avatar
      genirq: Introduce callback irq_chip.irq_write_msi_msg · 9dde55b7
      Jiang Liu authored
      
      
      Introduce callback irq_chip.irq_write_msi_msg, so we can share common
      code among MSI alike interrupt controllers, such as HPET and DMAR.
      
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      9dde55b7
    • Marc Zyngier's avatar
      genirq: Work around __irq_set_handler vs stacked domains ordering issues · f86eff22
      Marc Zyngier authored
      
      
      With the introduction of stacked domains, we have the issue that,
      depending on where in the stack this is called, __irq_set_handler
      will succeed or fail: If this is called from the inner irqchip,
      __irq_set_handler() will fail, as it will look at the outer domain
      as the (desc->irq_data.chip == &no_irq_chip) test fails (we haven't
      set the top level yet).
      
      This patch implements the following: "If there is at least one
      valid irqchip in the domain, it will probably sort itself out".
      This is clearly not ideal, but it is far less confusing then
      crashing because the top-level domain is not up yet.
      
      [ tglx: Added comment and a protection against chained interrupts in
        	that context ]
      
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Link: http://lkml.kernel.org/r/1416048553-29289-3-git-send-email-marc.zyngier@arm.com
      
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      f86eff22
    • Jiang Liu's avatar
      irqdomain: Introduce helper function irq_domain_add_hierarchy() · afb7da83
      Jiang Liu authored
      
      
      Introduce helper function irq_domain_add_hierarchy(), which creates
      a linear irqdomain if parameter 'size' is not zero, otherwise creates
      a tree irqdomain.
      
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Matthias Brugger <matthias.bgg@gmail.com>
      Link: http://lkml.kernel.org/r/1416061447-9472-5-git-send-email-jiang.liu@linux.intel.com
      
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      afb7da83
    • Jiang Liu's avatar
      irqdomain: Implement a method to automatically call parent domains alloc/free · 36d72731
      Jiang Liu authored
      
      
      Add a flags to irq_domain.flags to control whether the irqdomain core
      should automatically call parent irqdomain's alloc/free callbacks. It
      help to reduce hierarchy irqdomains users' code size.
      
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Matthias Brugger <matthias.bgg@gmail.com>
      Link: http://lkml.kernel.org/r/1416061447-9472-4-git-send-email-jiang.liu@linux.intel.com
      
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      36d72731
    • Jiang Liu's avatar
      genirq: Introduce helper irq_domain_set_info() to reduce duplicated code · 1b537708
      Jiang Liu authored
      
      
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      1b537708
    • Thomas Gleixner's avatar
      genirq: Split out flow handler typedefs into seperate header file · 75ffc007
      Thomas Gleixner authored
      
      
      Required to avoid circular include dependencies.
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      75ffc007
    • Jiang Liu's avatar
      genirq: Add IRQ_SET_MASK_OK_DONE to support stacked irqchip · 2cb62547
      Jiang Liu authored
      
      
      Add IRQ_SET_MASK_OK_DONE in addition to IRQ_SET_MASK_OK and
      IRQ_SET_MASK_OK_NOCOPY to support stacked irqchip. IRQ_SET_MASK_OK_DONE
      is the same as IRQ_SET_MASK_OK to irq core. To stacked irqchip, it means
      that ascendant irqchips have done all the work and no more handling
      needed in descendant irqchips.
      
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      2cb62547
    • Jiang Liu's avatar
      genirq: Introduce irq_chip.irq_compose_msi_msg() to support stacked irqchip · 515085ef
      Jiang Liu authored
      
      
      Add callback irq_compose_msi_msg to struct irq_chip, which will be used
      to support stacked irqchip.
      
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      515085ef
    • Yingjoe Chen's avatar
      genirq: Add more helper functions to support stacked irq_chip · 56e8abab
      Yingjoe Chen authored
      
      
      Add more helper function for stacked irq_chip to just call parent's
      function.
      
      Signed-off-by: default avatarYingjoe Chen <yingjoe.chen@mediatek.com>
      Cc: Rob Herring <robh+dt@kernel.org>
      Cc: Pawel Moll <pawel.moll@arm.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Matthias Brugger <matthias.bgg@gmail.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: Gran Likely <grant.likely@linaro.org>
      Cc: Boris BREZILLON <boris.brezillon@free-electrons.com>
      Cc: <linux-arm-kernel@lists.infradead.org>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Cc: <srv_heupstream@mediatek.com>
      Cc: <yingjoe.chen@gmail.com>
      Cc: <hc.yen@mediatek.com>
      Cc: <eddie.huang@mediatek.com>
      Cc: <nathan.chung@mediatek.com>
      Cc: <yh.chen@mediatek.com>
      Cc: Sascha Hauer <kernel@pengutronix.de>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Link: http://lkml.kernel.org/r/1415893029-2971-3-git-send-email-yingjoe.chen@mediatek.com
      
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      56e8abab
    • Jiang Liu's avatar
      genirq: Introduce helper functions to support stacked irq_chip · 85f08c17
      Jiang Liu authored
      
      
      Now we already support hierarchy irq_data, so introduce several helpers
      to support stacked irq_chips.
      
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      85f08c17
    • Yingjoe Chen's avatar
      irqdomain: Do irq_find_mapping and set_type for hierarchy irqdomain in case OF · 0cc01aba
      Yingjoe Chen authored
      
      
      It is possible to call irq_create_of_mapping to create/translate the
      same IRQ from DT for multiple times. Perform irq_find_mapping check
      and set_type for hierarchy irqdomain in irq_create_of_mapping() to
      avoid duplicate these functionality in all outer most irqdomain.
      
      Signed-off-by: default avatarYingjoe Chen <yingjoe.chen@mediatek.com>
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      0cc01aba
    • Jiang Liu's avatar
      irqdomain: Introduce new interfaces to support hierarchy irqdomains · f8264e34
      Jiang Liu authored
      
      
      We plan to use hierarchy irqdomain to suppport CPU vector assignment,
      interrupt remapping controller, IO-APIC controller, MSI interrupt
      and hypertransport interrupt etc on x86 platforms. So extend irqdomain
      interfaces to support hierarchy irqdomain.
      
      There are already many clients of current irqdomain interfaces.
      To minimize the changes, we choose to introduce new version 2 interfaces
      to support hierarchy instead of extending existing irqdomain interfaces.
      
      According to Thomas's suggestion, the most important design decision is
      to build hierarchy struct irq_data to support hierarchy irqdomain, so
      hierarchy irqdomain related data could be saved in struct irq_data.
      With support of hierarchy irq_data, we could also support stacked
      irq_chips. This is most useful in case of set_affinity().
      
      The new hierarchy irqdomain introduces following interfaces:
      1) irq_domain_alloc_irqs()/irq_domain_free_irqs(): allocate/release IRQ
         and related resources.
      2) __irq_domain_alloc_irqs(): a special version to support legacy IRQs.
      3) irq_domain_activate_irq()/irq_domain_deactivate_irq(): program
         interrupt controllers to activate/deactivate interrupt.
      
      There are also several help functions to ease irqdomain implemenations:
      1) irq_domain_get_irq_data(): get irq_data associated with a specific
         irqdomain.
      2) irq_domain_set_hwirq_and_chip(): save irqdomain specific data into
         irq_data.
      3) irq_domain_alloc_irqs_parent()/irq_domain_free_irqs_parent(): invoke
         parent irqdomain's alloc/free callbacks.
      
      We also changed irq_startup()/irq_shutdown() to invoke
      irq_domain_activate_irq()/irq_domain_deactivate_irq() to program
      interrupt controller when start/stop interrupts.
      
      [ tglx: Folded parts of the later patch series in ]
      
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      f8264e34
    • Jiang Liu's avatar
      PCI/MSI: Introduce helpers to hide struct msi_desc implementation details · d31eb342
      Jiang Liu authored
      
      
      Introduce helpers to hide struct msi_desc implementation details,
      so we could easily support non-PCI-compliant MSI devices later by
      moving msi_list into struct device.
      
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Matthias Brugger <matthias.bgg@gmail.com>
      Cc: Alexander Gordeev <agordeev@redhat.com>
      Link: http://lkml.kernel.org/r/1416061447-9472-6-git-send-email-jiang.liu@linux.intel.com
      
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      d31eb342
    • Thomas Gleixner's avatar
      PCI/MSI: Rename mask/unmask_msi_irq treewide · 280510f1
      Thomas Gleixner authored
      
      
      The PCI/MSI irq chip callbacks mask/unmask_msi_irq have been renamed
      to pci_msi_mask/unmask_irq to mark them PCI specific. Rename all usage
      sites. The conversion helper functions are kept around to avoid
      conflicts in next and will be removed after merging into mainline.
      
      Coccinelle assisted conversion. No functional change.
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: x86@kernel.org
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: Murali Karicheri <m-karicheri2@ti.com>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Mohit Kumar <mohit.kumar@st.com>
      Cc: Simon Horman <horms@verge.net.au>
      Cc: Michal Simek <michal....
      280510f1
    • Thomas Gleixner's avatar
      PCI/MSI: Rename mask/unmask_msi_irq et al · 23ed8d57
      Thomas Gleixner authored
      
      
      mask/unmask_msi_irq and __mask_msi/msix_irq are PCI/MSI specific
      functions and should be named accordingly. This is a preparatory patch
      to support MSI on non PCI devices.
      
      Rename mask/unmask_msi_irq to pci_msi_mask/unmask_irq and document the
      functions. Provide conversion helpers.
      
      Rename __mask_msi/msix_irq to __pci_msi/msix_desc_mask so its clear
      that they operated on msi_desc. Fixup the only user outside of
      pci/msi.
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      23ed8d57
    • Jiang Liu's avatar
      PCI/MSI: Rename write_msi_msg() to pci_write_msi_msg() · 83a18912
      Jiang Liu authored
      
      
      Rename write_msi_msg() to pci_write_msi_msg() to mark it as PCI
      specific.
      
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      83a18912
    • Jiang Liu's avatar
      PCI/MSI: Rename __read_msi_msg() to __pci_read_msi_msg() · 891d4a48
      Jiang Liu authored
      
      
      Rename __read_msi_msg() to __pci_read_msi_msg() and kill unused
      read_msi_msg(). It's a preparation to separate generic MSI code from
      PCI core.
      
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      891d4a48
    • Jiang Liu's avatar
      PCI/MSI: Kill redundant call of irq_set_msi_desc() for MSI-X interrupts · d71d6432
      Jiang Liu authored
      
      
      It is the repsonsibility of arch_setup_msi_irq()/arch_setup_msi_irqs()
      to call irq_set_msi_desc() to associate IRQ descriptors and MSI
      descriptors. Kill the redundant call of irq_set_msi_desc() for MSI-X
      interrupts in the PCI MSI core.
      
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      d71d6432
    • Jiang Liu's avatar
      PCI/MSI: Simplify PCI MSI code by initializing msi_desc.nvec_used earlier · 63a7b17e
      Jiang Liu authored
      
      
      Simplify PCI MSI code by initializing msi_desc.nvec_used and
      msi_desc.msi_attrib.multiple when creating MSI descriptors.
      
      Also remove redundant checks in IRQ remapping drivers, PCI MSI core
      already guarantees these.
      
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Acked-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      63a7b17e
    • Jiang Liu's avatar
      PCI/MSI: Remove unnecessary braces around single statements · 3f3cecae
      Jiang Liu authored
      
      
      Per Documentation/CodingStyle, don't use braces around single statements.
      
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Acked-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Yingjoe Chen <yingjoe.chen@mediatek.com>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      3f3cecae
  2. 21 Nov, 2014 7 commits
  3. 12 Nov, 2014 2 commits
  4. 11 Nov, 2014 2 commits
  5. 06 Nov, 2014 1 commit
    • Yijing Wang's avatar
      PCI/MSI: Add pci_msi_ignore_mask to prevent writes to MSI/MSI-X Mask Bits · 38737d82
      Yijing Wang authored
      MSI-X vector Mask Bits are in MSI-X Tables in PCI memory space.  Xen PV
      guests can't write to those tables.  MSI vector Mask Bits are in PCI
      configuration space.  Xen PV guests can write to config space, but those
      writes are ignored.
      
      Commit 0e4ccb15
      
       ("PCI: Add x86_msi.msi_mask_irq() and
      msix_mask_irq()") added a way to override default_mask_msi_irqs() and
      default_mask_msix_irqs() so they can be no-ops in Xen guests, but this is
      more complicated than necessary.
      
      Add "pci_msi_ignore_mask" in the core PCI MSI code.  If set,
      default_mask_msi_irqs() and default_mask_msix_irqs() return without doing
      anything.  This is less flexible, but much simpler.
      
      [bhelgaas: changelog]
      Signed-off-by: default avatarYijing Wang <wangyijing@huawei.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      CC: xen-devel@lists.xenproject.org
      38737d82
  6. 20 Oct, 2014 2 commits
    • Linus Torvalds's avatar
      Linux 3.18-rc1 · f114040e
      Linus Torvalds authored
      f114040e
    • Linus Torvalds's avatar
      Merge tag 'arm-soc-fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 4d3639ac
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "A batch of fixes that have come in during the merge window.
      
        Some of them are defconfig updates for things that have now landed,
        some errata additions and a few general scattered fixes.
      
        There's also a qcom DT update that adds support for SATA on AP148, and
        basic support for Sony Xperia Z1 and CM-QS600 platforms that seemed
        isolated enough that we could merge it even if it's late"
      
      * tag 'arm-soc-fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        MAINTAINERS: corrected bcm2835 search
        ARM: dts: Explicitly set dr_mode on exynos5420-arndale-octa
        ARM: dts: Explicitly set dr_mode on exynos Peach boards
        ARM: dts: qcom: add CM-QS600 board
        ARM: dts: qcom: Add initial DTS file for Sony Xperia Z1 phone
        ARM: dts: qcom: Add SATA support on IPQ8064/AP148
        MAINTAINERS: Update Santosh Shilimkar's email id
        ARM: sunxi_defconfig: enable CONFIG_REGULATOR
        ARM: dts: Disable smc91x on n900 until bootloader dependency is removed
        ARM: omap2plus_defconfig: Enable ARM erratum 430973 for omap3
        ARM: exynos_defconfig: enable USB gadget support
        ARM: exynos_defconfig: Enable Maxim 77693 and I2C GPIO drivers
        ARM: mm: Fix ifdef around cpu_*_do_[suspend, resume] ops
        ARM: EXYNOS: Fix build with PM_SLEEP=n and ARM_EXYNOS_CPUIDLE=n
        ARM: SAMSUNG: Restore Samsung PM Debug functionality
        ARM: dts: Fix pull setting in sd4_width8 pin group for exynos4x12
        ARM: exynos_defconfig: Enable SBS battery support
        ARM: exynos_defconfig: Enable Control Groups support
        ARM: exynos_defconfig: Enable Atmel maXTouch support
        ARM: exynos_defconfig: Enable MAX77802
      4d3639ac
  7. 19 Oct, 2014 3 commits
    • Linus Torvalds's avatar
      Merge git://git.infradead.org/users/eparis/audit · ab074ade
      Linus Torvalds authored
      Pull audit updates from Eric Paris:
       "So this change across a whole bunch of arches really solves one basic
        problem.  We want to audit when seccomp is killing a process.  seccomp
        hooks in before the audit syscall entry code.  audit_syscall_entry
        took as an argument the arch of the given syscall.  Since the arch is
        part of what makes a syscall number meaningful it's an important part
        of the record, but it isn't available when seccomp shoots the
        syscall...
      
        For most arch's we have a better way to get the arch (syscall_get_arch)
        So the solution was two fold: Implement syscall_get_arch() everywhere
        there is audit which didn't have it.  Use syscall_get_arch() in the
        seccomp audit code.  Having syscall_get_arch() everywhere meant it was
        a useless flag on the stack and we could get rid of it for the typical
        syscall entry.
      
        The other changes inside the audit system aren't grand, fixed some
        records that had invalid spaces.  Better locking around the task comm
        field.  Removing some dead functions and structs.  Make some things
        static.  Really minor stuff"
      
      * git://git.infradead.org/users/eparis/audit: (31 commits)
        audit: rename audit_log_remove_rule to disambiguate for trees
        audit: cull redundancy in audit_rule_change
        audit: WARN if audit_rule_change called illegally
        audit: put rule existence check in canonical order
        next: openrisc: Fix build
        audit: get comm using lock to avoid race in string printing
        audit: remove open_arg() function that is never used
        audit: correct AUDIT_GET_FEATURE return message type
        audit: set nlmsg_len for multicast messages.
        audit: use union for audit_field values since they are mutually exclusive
        audit: invalid op= values for rules
        audit: use atomic_t to simplify audit_serial()
        kernel/audit.c: use ARRAY_SIZE instead of sizeof/sizeof[0]
        audit: reduce scope of audit_log_fcaps
        audit: reduce scope of audit_net_id
        audit: arm64: Remove the audit arch argument to audit_syscall_entry
        arm64: audit: Add audit hook in syscall_trace_enter/exit()
        audit: x86: drop arch from __audit_syscall_entry() interface
        sparc: implement is_32bit_task
        sparc: properly conditionalize use of TIF_32BIT
        ...
      ab074ade
    • Olof Johansson's avatar
      Merge tag 'qcom-dt-for-3.18-3' of... · 57764512
      Olof Johansson authored
      Merge tag 'qcom-dt-for-3.18-3' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into fixes
      
      Merge "qcom DT changes for v3.18-3" from Kumar Gala:
      
      Qualcomm ARM Based Device Tree Updates for v3.18-3
      
      * Added Board support for CM-QS600 and Sony Xperia Z1 phone
      * Added SATA support on IPQ8064/AP148
      
      * tag 'qcom-dt-for-3.18-3' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom:
        ARM: dts: qcom: add CM-QS600 board
        ARM: dts: qcom: Add initial DTS file for Sony Xperia Z1 phone
        ARM: dts: qcom: Add SATA support on IPQ8064/AP148
      57764512
    • Olof Johansson's avatar
      Merge tag 'samsung-fixes-2' of... · e29c6486
      Olof Johansson authored
      Merge tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes
      
      Pull more fixes from Kukjin Kim:
      
      2nd Samsung fixes for v3.18
      - Explicitly set dr_mode on exynos5800-peach-pi, exynos5420-peach-pit
        and exynos5420-arndale-octa boards, because the USB dwc3 controller
        will not work properly without dr_mode as host on above boards if
        the USB host and gadget are enabled in kernel configuration both.
      
      * tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung
      
      :
        ARM: dts: Explicitly set dr_mode on exynos5420-arndale-octa
        ARM: dts: Explicitly set dr_mode on exynos Peach boards
      
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      e29c6486