1. 08 8月, 2013 1 次提交
    • M
      powerpc/fsl_msi: add MSIIR1 support for MPIC v4.3 · f31dd944
      Minghuan Lian 提交于
      The original MPIC MSI bank contains 8 registers, MPIC v4.3 MSI bank
      contains 16 registers, and this patch adds NR_MSI_REG_MAX and
      NR_MSI_IRQS_MAX to describe the maximum capability of MSI bank.
      MPIC v4.3 provides MSIIR1 to index these 16 MSI registers. MSIIR1
      uses different bits definition than MSIIR. This patch adds
      ibs_shift and srs_shift to indicate the bits definition of the
      MSIIR and MSIIR1, so the same code can handle the MSIIR and MSIIR1
      simultaneously.
      Signed-off-by: NMinghuan Lian <Minghuan.Lian@freescale.com>
      [scottwood@freescale.com: reinstated static on all_avail]
      Signed-off-by: NScott Wood <scottwood@freescale.com>
      f31dd944
  2. 15 2月, 2012 1 次提交
    • G
      irq_domain/powerpc: Use common irq_domain structure instead of irq_host · bae1d8f1
      Grant Likely 提交于
      This patch drops the powerpc-specific irq_host structures and uses the common
      irq_domain strucutres defined in linux/irqdomain.h.  It also fixes all
      the users to use the new structure names.
      
      Renaming irq_host to irq_domain has been discussed for a long time, and this
      patch is a step in the process of generalizing the powerpc virq code to be
      usable by all architecture.
      
      An astute reader will notice that this patch actually removes the irq_host
      structure instead of renaming it.  This is because the irq_domain structure
      already exists in include/linux/irqdomain.h and has the needed data members.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Milton Miller <miltonm@bga.com>
      Tested-by: NOlof Johansson <olof@lixom.net>
      bae1d8f1
  3. 05 1月, 2012 1 次提交
    • T
      powerpc/fsl: add MSI support for the Freescale hypervisor · 446bc1ff
      Timur Tabi 提交于
      Add support for vmpic-msi nodes to the fsl_msi driver.  The MSI is
      virtualized by the hypervisor, so the vmpic-msi does not contain a 'reg'
      property.  Instead, the driver uses hcalls.
      
      Add support for the "msi-address-64" property to the fsl_pci driver.
      The Freescale hypervisor typically puts the virtualized MSIIR register
      in the page after the end of DDR, so we extend the DDR ATMU to cover it.
      Any other location for MSIIR is not supported, for now.
      Signed-off-by: NTimur Tabi <timur@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      446bc1ff
  4. 24 11月, 2011 1 次提交
    • T
      powerpc/fsl_msi: add support for the fsl, msi property in PCI nodes · 895d603f
      Timur Tabi 提交于
      On Freescale parts with multiple MSI controllers, the controllers are
      combined into one "pool" of interrupts.  Whenever a device requests an MSI
      interrupt, the next available interrupt from the pool is selected,
      regardless of which MSI controller the interrupt is from.  This works
      because each PCI bus has an ATMU to all of CCSR, so any PCI device can
      access any MSI interrupt register.
      
      The fsl,msi property is used to specify that a given PCI bus should only
      use a specific MSI device.  This is necessary, for example, with the
      Freescale hypervisor, because the MSI devices are assigned to specific
      partitions.
      
      Ideally, we'd like to be able to assign MSI devices to PCI busses within
      the MSI or PCI layers.  However, there does not appear to be a mechanism
      to do that.  Whenever the MSI layer wants to allocate an MSI interrupt to
      a PCI device, it just calls arch_setup_msi_irqs().  It would be nice if we
      could register an MSI device with a specific PCI bus.
      
      So instead we remember the phandles of each MSI device, and we use that to
      limit our search for an available interrupt.  Whenever we are asked to
      allocate a new interrupt for a PCI device, we check the fsl,msi property
      of the PCI bus for that device.  If it exists, then as we are looping over
      all MSI devices, we skip the ones that don't have a matching phandle.
      Signed-off-by: NTimur Tabi <timur@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      895d603f
  5. 14 10月, 2011 1 次提交
  6. 25 5月, 2010 2 次提交
  7. 20 8月, 2008 2 次提交
  8. 03 6月, 2008 1 次提交
    • J
      [POWERPC] fsl: PCIe MSI support for 83xx/85xx/86xx processors. · 34e36c15
      Jason Jin 提交于
      This MSI driver can be used on 83xx/85xx/86xx board.
      In this driver, virtual interrupt host and chip were
      setup. There are 256 MSI interrupts in this host, Every 32
      MSI interrupts cascaded to one IPIC/MPIC interrupt.
      The chip was treated as edge sensitive and some necessary
      functions were setup for this chip.
      
      Before using the MSI interrupt, PCI/PCIE device need to
      ask for a MSI interrupt in the 256 MSI interrupts. A 256bit
      bitmap show which MSI interrupt was used, reserve bit in
      the bitmap can be used to force the device use some designate
      MSI interrupt in the 256 MSI interrupts. Sometimes this is useful
      for testing the all the MSI interrupts. The msi-available-ranges
      property in the dts file was used for this purpose.
      Signed-off-by: NJason Jin <Jason.jin@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      34e36c15