Skip to content
  1. Aug 25, 2015
    • Shenwei Wang's avatar
      irqchip/imx-gpcv2: IMX GPCv2 driver for wakeup sources · e324c4dc
      Shenwei Wang authored
      
      
      IMX7D contains a new version of GPC IP block (GPCv2). It has two major
      functions: power management and wakeup source management.
      
      When the system is in WFI (wait for interrupt) mode, the GPC block
      will be the first block on the platform to be activated and signaled.
      
      In normal wait mode during cpu idle, the system can be woken up by any
      enabled interrupts. In standby or suspend mode, the system can only be
      wokem up by the pre-defined wakeup sources.
      
      Based-on-patch-by: default avatarAnson Huang <b20788@freescale.com>
      Signed-off-by: default avatarShenwei Wang <shenwei.wang@freescale.com>
      Cc: <linux-arm-kernel@lists.infradead.org>
      Cc: <shawn.guo@linaro.org>
      Cc: <jason@lakedaemon.net>
      Link: http://lkml.kernel.org/r/1440443055-7291-1-git-send-email-shenwei.wang@freescale.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      e324c4dc
  2. Aug 21, 2015
  3. Aug 19, 2015
    • Jiang Liu's avatar
      PCI: xilinx: Fix typo in function name · 649953b5
      Jiang Liu authored
      There's a typo in commit e39758e0 in linux-next, which incorrectly
      spells "msi_desc_to_pci_sysdata()" as "msi_desc_to_pci_sys_data()" and
      causes build failure:
      
      > ../drivers/pci/host/pcie-xilinx.c:235:3: error: implicit declaration
          of function 'msi_desc_to_pci_sys_data' [-Werror=implicit-function-declaration]
      
      Fixes: e39758e0
      
       "PCI: Use helper functions to access fields in struct msi_desc"
      Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Mark Brown <broonie@kernel.org>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Michal Simek <michal.simek@xilinx.com>
      Cc: Sören Brinkmann <soren.brinkmann@xilinx.com>
      Cc: Srikanth Thokala <sthokal@xilinx.com>
      Cc: Rob Herring <robh@kernel.org>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Link: http://lkml.kernel.org/r/1439912763-10645-1-git-send-email-jiang.liu@linux.intel.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      649953b5
  4. Aug 04, 2015
    • Jon Hunter's avatar
      irqchip/gic: Ensure gic_cpu_if_up/down() programs correct GIC instance · 4c2880b3
      Jon Hunter authored
      Commit 32289506 ("irqchip: gic: Preserve gic V2 bypass bits in cpu
      ctrl register") added a new function, gic_cpu_if_up(), to program the
      GIC CPU_CTRL register. This function assumes that there is only one GIC
      instance present and hence always uses the chip data for the primary GIC
      controller. Although it is not common for there to be a secondary, some
      devices do support a secondary. Therefore, fix this by passing
      gic_cpu_if_up() a pointer to the appropriate chip data structure.
      
      Similarly, the function gic_cpu_if_down() only assumes that there is a
      single GIC instance present. Update this function so that an instance
      number is passed for the appropriate GIC and return an error code on
      failure. The vexpress TC2 (which has a single GIC) is currently the only
      user of this function and so update it accordingly. Note that because the
      TC2 only has a single GIC, the call to gic_cpu_if_down() should always
      be successful.
      
      Signed-off-by: Jo...
      4c2880b3
    • Jon Hunter's avatar
      irqchip/gic: Only allow the primary GIC to set the CPU map · 567e5a01
      Jon Hunter authored
      
      
      The gic_init_bases() function initialises an array that stores the mapping
      between the GIC and CPUs. This array is a global array that is
      unconditionally initialised on every call to gic_init_bases(). Although,
      it is not common for there to be more than one GIC instance, there are
      some devices that do support nested GIC controllers and gic_init_bases()
      can be called more than once.
      
      A 2nd call to gic_init_bases() will clear the previous CPU mapping and
      will only setup the mapping again for the CPU calling gic_init_bases().
      Fix this by only allowing the CPU map to be configured for the primary GIC.
      
      For secondary GICs the CPU map is not relevant because these GICs do not
      directly route the interrupts to the main CPU(s) but to other GICs or
      devices.
      
      Signed-off-by: default avatarJon Hunter <jonathanh@nvidia.com>
      Reviewed-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      Cc: <linux-arm-kernel@lists.infradead.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Nicolas Pitre <nicolas.pitre@linaro.org>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Link: http://lkml.kernel.org/r/1438332252-25248-1-git-send-email-jonathanh@nvidia.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      567e5a01
  5. Aug 01, 2015
  6. Jul 30, 2015
    • Marc Zyngier's avatar
      PCI/MSI: Drop domain field from msi_controller · f075915a
      Marc Zyngier authored
      
      
      The only three users of that field are not using the msi_controller
      structure anymore, so drop it altogether.
      
      Acked-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      Cc: <linux-arm-kernel@lists.infradead.org>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Cc: Ma Jun <majun258@huawei.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Duc Dang <dhdang@apm.com>
      Cc: Hanjun Guo <hanjun.guo@linaro.org>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Link: http://lkml.kernel.org/r/1438091186-10244-20-git-send-email-marc.zyngier@arm.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      f075915a
    • Marc Zyngier's avatar
      PCI/MSI: pci-xgene-msi: Get rid of struct msi_controller · 8d63bc7b
      Marc Zyngier authored
      
      
      The X-Gene MSI driver only uses the msi_controller structure as
      a way to match the host bridge  with its MSI HW, and thus the
      msi_domain.
      
      But now that we can directly associate an msi_domain with a device,
      there is no use keeping this msi_controller around.
      
      Just remove all traces of msi_controller from the driver.
      
      Tested-by: default avatarDuc Dang <dhdang@apm.com>
      Acked-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      Cc: <linux-arm-kernel@lists.infradead.org>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Cc: Ma Jun <majun258@huawei.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Hanjun Guo <hanjun.guo@linaro.org>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Link: http://lkml.kernel.org/r/1438091186-10244-19-git-send-email-marc.zyngier@arm.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      8d63bc7b
    • Marc Zyngier's avatar
      irqchip/GICv2m: Add platform MSI support · ef50645a
      Marc Zyngier authored
      
      
      In order to support non-PCI MSI with GICv2m, add the minimal
      required entry points for the MSI domain, which is actually almost
      nothing (we just use the defaults provided by the core code).
      
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      Cc: <linux-arm-kernel@lists.infradead.org>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Cc: Ma Jun <majun258@huawei.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Duc Dang <dhdang@apm.com>
      Cc: Hanjun Guo <hanjun.guo@linaro.org>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Link: http://lkml.kernel.org/r/1438091186-10244-18-git-send-email-marc.zyngier@arm.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      ef50645a
    • Marc Zyngier's avatar
      irqchip/GICv2m: Get rid of struct msi_controller · 5cedceb3
      Marc Zyngier authored
      
      
      GICv2m only uses the msi_controller structure as a way to match
      the host bridge with its MSI HW, and thus the msi_domain.
      
      But now that we can directly associate an msi_domain with a device,
      there is no use keeping this msi_controller around.
      
      Just remove all traces of msi_controller from the driver. Also
      tag the inner (non-PCI) domain with DOMAIN_BUS_NEXUS.
      
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      Cc: <linux-arm-kernel@lists.infradead.org>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Cc: Ma Jun <majun258@huawei.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Duc Dang <dhdang@apm.com>
      Cc: Hanjun Guo <hanjun.guo@linaro.org>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Link: http://lkml.kernel.org/r/1438091186-10244-17-git-send-email-marc.zyngier@arm.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      5cedceb3
    • Marc Zyngier's avatar
      irqchip/gicv3-its: Add platform MSI support · 1e6db000
      Marc Zyngier authored
      
      
      In order to support non-PCI MSI with the GICv3 ITS, add the minimal
      required entry points for the MSI domain (an msi_prepare implementation).
      
      The rest is only boilerplate code to find the raw ITS domain.
      
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      Cc: <linux-arm-kernel@lists.infradead.org>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Cc: Ma Jun <majun258@huawei.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Duc Dang <dhdang@apm.com>
      Cc: Hanjun Guo <hanjun.guo@linaro.org>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Link: http://lkml.kernel.org/r/1438091186-10244-16-git-send-email-marc.zyngier@arm.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      1e6db000
    • Marc Zyngier's avatar
      irqchip/gicv3-its: Make the PCI/MSI code standalone · 54456db9
      Marc Zyngier authored
      
      
      We can now lookup the base ITS domain, making it possible to
      initialize the PCI/MSI code independently from the main ITS
      subsystem.
      
      This allows us to remove all the previously add hooks.
      
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      Cc: <linux-arm-kernel@lists.infradead.org>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Cc: Ma Jun <majun258@huawei.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Duc Dang <dhdang@apm.com>
      Cc: Hanjun Guo <hanjun.guo@linaro.org>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Link: http://lkml.kernel.org/r/1438091186-10244-15-git-send-email-marc.zyngier@arm.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      54456db9
    • Marc Zyngier's avatar
      irqchip/gicv3-its: Get rid of struct msi_controller · 841514ab
      Marc Zyngier authored
      
      
      The GICv3 ITS only uses the msi_controller structure as a way
      to match the host bridge with its MSI HW, and thus the msi_domain.
      But now that we can directly associate an msi_domain with a device,
      there is no use keeping this msi_controller around.
      
      Just remove all traces of msi_controller from the driver.
      
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      Cc: <linux-arm-kernel@lists.infradead.org>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Cc: Ma Jun <majun258@huawei.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Duc Dang <dhdang@apm.com>
      Cc: Hanjun Guo <hanjun.guo@linaro.org>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Link: http://lkml.kernel.org/r/1438091186-10244-14-git-send-email-marc.zyngier@arm.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      841514ab
    • Marc Zyngier's avatar
      irqchip/gicv3-its: Register irq domain with NEXUS token · e55dcd4d
      Marc Zyngier authored
      
      
      Now that we can distinguish between multiple domains carrying the
      same device_node, tag the raw ITS domain with DOMAIN_BUS_NEXUS.
      This will allow MSI providers built on top of the raw ITS domain
      to identify it.
      
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      Cc: <linux-arm-kernel@lists.infradead.org>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Cc: Ma Jun <majun258@huawei.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Duc Dang <dhdang@apm.com>
      Cc: Hanjun Guo <hanjun.guo@linaro.org>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Link: http://lkml.kernel.org/r/1438091186-10244-13-git-send-email-marc.zyngier@arm.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      e55dcd4d
    • Marc Zyngier's avatar
      irqchip/gicv3-its: Split PCI/MSI code from the core ITS driver · f130420e
      Marc Zyngier authored
      
      
      It is becoming obvious that having the PCI/MSI code in the same
      file as the the core ITS code is giving people implementing non-PCI
      MSI support the wrong kind of idea.
      
      In order to make things a bit clearer, let's move the PCI/MSI code
      out to its own file. Hopefully it will make it clear that whoever
      thinks of hooking into the core ITS better have a very strong point.
      
      We use a temporary entry point that will get removed in a subsequent
      patch, once the proper infrastructure is added.
      
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      Cc: <linux-arm-kernel@lists.infradead.org>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Cc: Ma Jun <majun258@huawei.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Duc Dang <dhdang@apm.com>
      Cc: Hanjun Guo <hanjun.guo@linaro.org>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Link: http://lkml.kernel.org/r/1438091186-10244-12-git-send-email-marc.zyngier@arm.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      f130420e
    • Marc Zyngier's avatar
      genirq: Add DOMAIN_BUS_NEXUS irqdomain property · a5716070
      Marc Zyngier authored
      
      
      Some IRQ domains are not designed to directly provide interrupts
      to devices, but strictly to be used by other domains. An example
      of this is the GICv3 ITS, which is completely bus agnostic, and
      on which it is possible to implement a PCI/MSI domain.
      
      Just introduce the irq_domain_bus_token property for now.
      
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      Cc: <linux-arm-kernel@lists.infradead.org>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Cc: Ma Jun <majun258@huawei.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Duc Dang <dhdang@apm.com>
      Cc: Hanjun Guo <hanjun.guo@linaro.org>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Link: http://lkml.kernel.org/r/1438091186-10244-11-git-send-email-marc.zyngier@arm.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      a5716070
    • Marc Zyngier's avatar
      drivers/base: Add MSI domain support for non-PCI devices · c09fcc4b
      Marc Zyngier authored
      
      
      With the msi_list and the msi_domain properties now being at the
      generic device level, it is starting to be relatively easy to offer
      a generic way of providing non-PCI MSIs.
      
      The two major hurdles with this idea are:
      
      - Lack of global ID that identifies a device: this is worked around by
        having a global ID allocator for each device that gets enrolled in
        the platform MSI subsystem
      
      - Lack of standard way to write the message in the generating device.
        This is solved by mandating driver code to provide a write_msg
        callback, so that everyone can have their own square wheel
      
      Apart from that, the API is fairly straightforward:
      
      - platform_msi_create_irq_domain creates an MSI domain that gets
        tagged with DOMAIN_BUS_PLATFORM_MSI
      
      - platform_msi_domain_alloc_irqs allocate MSIs for a given device,
        populating the msi_list
      
      - platform_msi_domain_free_irqs does what is written on the tin
      
      [ tglx: Created a seperate struct platform_msi_desc and added
        	kerneldoc entries ]
      
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      Cc: <linux-arm-kernel@lists.infradead.org>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Cc: Ma Jun <majun258@huawei.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Duc Dang <dhdang@apm.com>
      Cc: Hanjun Guo <hanjun.guo@linaro.org>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Link: http://lkml.kernel.org/r/1438091186-10244-10-git-send-email-marc.zyngier@arm.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      c09fcc4b
    • Marc Zyngier's avatar
      of/platform: Assign MSI domain to platform device · c706c239
      Marc Zyngier authored
      
      
      As for PCI, we're able to populate the msi_domain field at probe time,
      provided that the device tree has an "msi-parent" property.
      
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      Cc: <linux-arm-kernel@lists.infradead.org>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Cc: Ma Jun <majun258@huawei.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Duc Dang <dhdang@apm.com>
      Cc: Hanjun Guo <hanjun.guo@linaro.org>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Link: http://lkml.kernel.org/r/1438091186-10244-9-git-send-email-marc.zyngier@arm.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      c706c239
    • Marc Zyngier's avatar
      PCI/MSI: Let pci_msi_get_domain use struct device::msi_domain · d8a1cb75
      Marc Zyngier authored
      
      
      Now that we can easily find which MSI domain a PCI device is
      using, use dev_get_msi_domain as a way to retrieve the information.
      
      The original code is still used as a fallback.
      
      Acked-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: default avatarHanjun Guo <hanjun.guo@linaro.org>
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      Cc: <linux-arm-kernel@lists.infradead.org>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Cc: Ma Jun <majun258@huawei.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Duc Dang <dhdang@apm.com>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Link: http://lkml.kernel.org/r/1438091186-10244-8-git-send-email-marc.zyngier@arm.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      d8a1cb75
    • Marc Zyngier's avatar
      PCI/MSI: Allow msi_domain lookup using the host bridge node · 471c931c
      Marc Zyngier authored
      
      
      A number of platforms do not need to use the msi-parent property,
      as the host bridge itself provides the MSI controller.
      
      Allow this configuration by performing an irq domain lookup based
      on the host bridge node if it doesn't have a valid msi-parent property.
      
      Acked-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      Cc: <linux-arm-kernel@lists.infradead.org>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Cc: Ma Jun <majun258@huawei.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Duc Dang <dhdang@apm.com>
      Cc: Hanjun Guo <hanjun.guo@linaro.org>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Link: http://lkml.kernel.org/r/1438091186-10244-7-git-send-email-marc.zyngier@arm.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      471c931c
    • Marc Zyngier's avatar
      PCI/MSI: Add support for OF-provided msi_domain · b165e2b6
      Marc Zyngier authored
      
      
      In order to populate the PCI host bridge msi_domain, use the
      "msi-parent" attribute to lookup a corresponding irq domain.
      If found, this is our MSI domain.
      
      This gets plugged into the core PCI code.
      
      Acked-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      Cc: <linux-arm-kernel@lists.infradead.org>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Cc: Ma Jun <majun258@huawei.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Duc Dang <dhdang@apm.com>
      Cc: Hanjun Guo <hanjun.guo@linaro.org>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Link: http://lkml.kernel.org/r/1438091186-10244-6-git-send-email-marc.zyngier@arm.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      b165e2b6
    • Marc Zyngier's avatar
      PCI/MSI: Add hooks to populate the msi_domain field · 44aa0c65
      Marc Zyngier authored
      
      
      In order to be able to populate the device msi_domain field,
      add the necessary hooks to propagate the host bridge msi_domain
      across secondary busses to devices.
      
      So far, nobody populates the initial msi_domain.
      
      Acked-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: default avatarHanjun Guo <hanjun.guo@linaro.org>
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      Cc: <linux-arm-kernel@lists.infradead.org>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Cc: Ma Jun <majun258@huawei.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Duc Dang <dhdang@apm.com>
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Link: http://lkml.kernel.org/r/1438091186-10244-5-git-send-email-marc.zyngier@arm.com
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      44aa0c65