1. 19 10月, 2017 5 次提交
  2. 26 9月, 2017 1 次提交
    • T
      genirq/irqdomain: Update irq_domain_ops.activate() signature · 72491643
      Thomas Gleixner 提交于
      The irq_domain_ops.activate() callback has no return value and no way to
      tell the function that the activation is early.
      
      The upcoming changes to support a reservation scheme which allows to assign
      interrupt vectors on x86 only when the interrupt is actually requested
      requires:
      
        - A return value, so activation can fail at request_irq() time
        
        - Information that the activate invocation is early, i.e. before
          request_irq().
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Tested-by: NJuergen Gross <jgross@suse.com>
      Tested-by: NYu Chen <yu.c.chen@intel.com>
      Acked-by: NJuergen Gross <jgross@suse.com>
      Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Marc Zyngier <marc.zyngier@arm.com>
      Cc: Alok Kataria <akataria@vmware.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Rui Zhang <rui.zhang@intel.com>
      Cc: "K. Y. Srinivasan" <kys@microsoft.com>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Cc: Len Brown <lenb@kernel.org>
      Link: https://lkml.kernel.org/r/20170913213152.848490816@linutronix.de
      72491643
  3. 31 8月, 2017 17 次提交
  4. 23 8月, 2017 11 次提交
  5. 19 8月, 2017 1 次提交
  6. 18 8月, 2017 1 次提交
  7. 10 8月, 2017 1 次提交
    • H
      irqchip/gic-v3-its: Allow GIC ITS number more than MAX_NUMNODES · fdf6e7a8
      Hanjun Guo 提交于
      When enabling ITS NUMA support on D05, I got the boot log:
      
      [    0.000000] SRAT: PXM 0 -> ITS 0 -> Node 0
      [    0.000000] SRAT: PXM 0 -> ITS 1 -> Node 0
      [    0.000000] SRAT: PXM 0 -> ITS 2 -> Node 0
      [    0.000000] SRAT: PXM 1 -> ITS 3 -> Node 1
      [    0.000000] SRAT: ITS affinity exceeding max count[4]
      
      This is wrong on D05 as we have 8 ITSs with 4 NUMA nodes.
      
      So dynamically alloc the memory needed instead of using
      its_srat_maps[MAX_NUMNODES], which count the number of
      ITS entry(ies) in SRAT and alloc its_srat_maps as needed,
      then build the mapping of numa node to ITS ID. Of course,
      its_srat_maps will be freed after ITS probing because
      we don't need that after boot.
      
      After doing this, I got what I wanted:
      
      [    0.000000] SRAT: PXM 0 -> ITS 0 -> Node 0
      [    0.000000] SRAT: PXM 0 -> ITS 1 -> Node 0
      [    0.000000] SRAT: PXM 0 -> ITS 2 -> Node 0
      [    0.000000] SRAT: PXM 1 -> ITS 3 -> Node 1
      [    0.000000] SRAT: PXM 2 -> ITS 4 -> Node 2
      [    0.000000] SRAT: PXM 2 -> ITS 5 -> Node 2
      [    0.000000] SRAT: PXM 2 -> ITS 6 -> Node 2
      [    0.000000] SRAT: PXM 3 -> ITS 7 -> Node 3
      
      Fixes: dbd2b826 ("irqchip/gic-v3-its: Add ACPI NUMA node mapping")
      Signed-off-by: NHanjun Guo <hanjun.guo@linaro.org>
      Reviewed-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Ganapatrao Kulkarni <ganapatrao.kulkarni@cavium.com>
      Cc: John Garry <john.garry@huawei.com>
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      fdf6e7a8
  8. 02 8月, 2017 1 次提交
  9. 23 6月, 2017 2 次提交
    • S
      irqchip/gic-v3-its: Don't assume GICv3 hardware supports 16bit INTID · 6c31e123
      Shanker Donthineni 提交于
      The current ITS driver is assuming every ITS hardware implementation
      supports minimum of 16bit INTID. But this is not true, as per GICv3
      specification, INTID field is IMPLEMENTATION DEFINED in the range of
      14-24 bits. We might see an unpredictable system behavior on systems
      where hardware support less than 16bits and software tries to use
      64K LPI interrupts.
      
      On Qualcomm Datacenter Technologies QDF2400 platform, boot log shows
      confusing information about number of LPI chunks as shown below. The
      QDF2400 ITS hardware supports 24bit INTID.
      
      This patch allocates the memory resources for PEND/PROP tables based
      on discoverable value which is specified in GITS_TYPER.IDbits. Also
      it fixes the log message that reflects the correct number of LPI
      chunks were allocated.
      
      ITS@0xff7efe0000: allocated 524288 Devices @3c0400000 (indirect, esz 8, psz 64K, shr 1)
      ITS@0xff7efe0000: allocated 8192 Interrupt Collections @3c0130000 (flat, esz 8, psz 64K, shr 1)
      ITS@0xff7efe0000: allocated 8192 Virtual CPUs @3c0140000 (flat, esz 8, psz 64K, shr 1)
      ITS: Allocated 524032 chunks for LPIs
      PCI/MSI: ITS@0xff7efe0000 domain created
      Platform MSI: ITS@0xff7efe0000 domain created
      Signed-off-by: NShanker Donthineni <shankerd@codeaurora.org>
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      6c31e123
    • G
      irqchip/gic-v3-its: Add ACPI NUMA node mapping · dbd2b826
      Ganapatrao Kulkarni 提交于
      Add code to parse SRAT ITS Affinity sub table as defined in ACPI 6.2.
      Later in per device probe, ITS devices are mapped to numa node using
      ITS Id to proximity domain mapping.
      
      [maz: fix dependency on ACPICA, fixed structure name, minor cleanups]
      Reviewed-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Signed-off-by: NGanapatrao Kulkarni <ganapatrao.kulkarni@cavium.com>
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      dbd2b826