1. 24 4月, 2015 17 次提交
    • J
      irq_remapping: Clean up unused MSI related code · 7a53a121
      Jiang Liu 提交于
      Now MSI interrupt has been converted to new hierarchical irqdomain
      interfaces, so remove legacy MSI related code and interfaces.
      Signed-off-by: NJiang Liu <jiang.liu@linux.intel.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: David Cohen <david.a.cohen@linux.intel.com>
      Cc: Sander Eikelenboom <linux@eikelenboom.it>
      Cc: David Vrabel <david.vrabel@citrix.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: iommu@lists.linux-foundation.org
      Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
      Cc: Joerg Roedel <jroedel@suse.de>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Dimitri Sivanich <sivanich@sgi.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Yijing Wang <wangyijing@huawei.com>
      Link: http://lkml.kernel.org/r/1428905519-23704-18-git-send-email-jiang.liu@linux.intel.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      7a53a121
    • J
      irq_remapping/amd: Clean up unused MSI related code · 3c3d4f90
      Jiang Liu 提交于
      Now MSI interrupt has been converted to new hierarchical irqdomain
      interfaces, so remove legacy MSI related code.
      Signed-off-by: NJiang Liu <jiang.liu@linux.intel.com>
      Acked-by: NJoerg Roedel <jroedel@suse.de>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: David Cohen <david.a.cohen@linux.intel.com>
      Cc: Sander Eikelenboom <linux@eikelenboom.it>
      Cc: David Vrabel <david.vrabel@citrix.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: iommu@lists.linux-foundation.org
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Dimitri Sivanich <sivanich@sgi.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Link: http://lkml.kernel.org/r/1428905519-23704-17-git-send-email-jiang.liu@linux.intel.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      3c3d4f90
    • J
      irq_remapping/vt-d: Clean up unused MSI related code · 2b43817e
      Jiang Liu 提交于
      Now MSI interrupt has been converted to new hierarchical irqdomain
      interfaces, so remove legacy MSI related code.
      Signed-off-by: NJiang Liu <jiang.liu@linux.intel.com>
      Acked-by: NJoerg Roedel <jroedel@suse.de>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: David Cohen <david.a.cohen@linux.intel.com>
      Cc: Sander Eikelenboom <linux@eikelenboom.it>
      Cc: David Vrabel <david.vrabel@citrix.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: iommu@lists.linux-foundation.org
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Dimitri Sivanich <sivanich@sgi.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Link: http://lkml.kernel.org/r/1428905519-23704-16-git-send-email-jiang.liu@linux.intel.com
      2b43817e
    • J
      x86/irq: Directly call native_compose_msi_msg() for DMAR IRQ · 80aa2833
      Jiang Liu 提交于
      DMAR interrupt won't be remapped by interrupt remapping hardware,
      so directly call native_compose_msi_msg() for DMAR IRQ to compose MSI
      message data. This will help to simplify MSI code later.
      Signed-off-by: NJiang Liu <jiang.liu@linux.intel.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: David Cohen <david.a.cohen@linux.intel.com>
      Cc: Sander Eikelenboom <linux@eikelenboom.it>
      Cc: David Vrabel <david.vrabel@citrix.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Dimitri Sivanich <sivanich@sgi.com>
      Link: http://lkml.kernel.org/r/1428905519-23704-15-git-send-email-jiang.liu@linux.intel.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      80aa2833
    • J
      x86/MSI: Use hierarchical irqdomains to manage MSI interrupts · 52f518a3
      Jiang Liu 提交于
      Enhance MSI code to support hierarchical irqdomains, it helps to make
      the architecture more clear.
      Signed-off-by: NJiang Liu <jiang.liu@linux.intel.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: David Cohen <david.a.cohen@linux.intel.com>
      Cc: Sander Eikelenboom <linux@eikelenboom.it>
      Cc: David Vrabel <david.vrabel@citrix.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: iommu@lists.linux-foundation.org
      Cc: Joerg Roedel <jroedel@suse.de>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Dimitri Sivanich <sivanich@sgi.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Link: http://lkml.kernel.org/r/1428905519-23704-14-git-send-email-jiang.liu@linux.intel.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      52f518a3
    • J
      x86/hpet: Enhance HPET IRQ to support hierarchical irqdomains · 3cb96f0c
      Jiang Liu 提交于
      Signed-off-by: NJiang Liu <jiang.liu@linux.intel.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: David Cohen <david.a.cohen@linux.intel.com>
      Cc: Sander Eikelenboom <linux@eikelenboom.it>
      Cc: David Vrabel <david.vrabel@citrix.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Dimitri Sivanich <sivanich@sgi.com>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Link: http://lkml.kernel.org/r/1428905519-23704-13-git-send-email-jiang.liu@linux.intel.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      3cb96f0c
    • J
      irq_remapping/amd: Enhance AMD IR driver to support hierarchical irqdomains · 7c71d306
      Jiang Liu 提交于
      Signed-off-by: NJiang Liu <jiang.liu@linux.intel.com>
      Acked-by: NJoerg Roedel <jroedel@suse.de>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: David Cohen <david.a.cohen@linux.intel.com>
      Cc: Sander Eikelenboom <linux@eikelenboom.it>
      Cc: David Vrabel <david.vrabel@citrix.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: iommu@lists.linux-foundation.org
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Dimitri Sivanich <sivanich@sgi.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Link: http://lkml.kernel.org/r/1428905519-23704-12-git-send-email-jiang.liu@linux.intel.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      7c71d306
    • J
      irq_remapping/vt-d: Enhance Intel IR driver to support hierarchical irqdomains · b106ee63
      Jiang Liu 提交于
      Enhance Intel interrupt remapping driver to support hierarchical
      irqdomains. Implement intel_ir_chip to support stacked irq_chip.
      Signed-off-by: NJiang Liu <jiang.liu@linux.intel.com>
      Acked-by: NJoerg Roedel <jroedel@suse.de>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: David Cohen <david.a.cohen@linux.intel.com>
      Cc: Sander Eikelenboom <linux@eikelenboom.it>
      Cc: David Vrabel <david.vrabel@citrix.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: iommu@lists.linux-foundation.org
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Dimitri Sivanich <sivanich@sgi.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Link: http://lkml.kernel.org/r/1428905519-23704-11-git-send-email-jiang.liu@linux.intel.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      b106ee63
    • J
      irq_remapping/vt-d: Change prototypes to prepare for hierarchical irqdomain · 8dedf4cf
      Jiang Liu 提交于
      Prepare for the conversion to hierarchical irqdomains by changing
      function prototypes. No functional changes.
      Signed-off-by: NJiang Liu <jiang.liu@linux.intel.com>
      Acked-by: NJoerg Roedel <jroedel@suse.de>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: David Cohen <david.a.cohen@linux.intel.com>
      Cc: Sander Eikelenboom <linux@eikelenboom.it>
      Cc: David Vrabel <david.vrabel@citrix.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: iommu@lists.linux-foundation.org
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Dimitri Sivanich <sivanich@sgi.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Link: http://lkml.kernel.org/r/1428905519-23704-10-git-send-email-jiang.liu@linux.intel.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      8dedf4cf
    • J
      irq_remapping: Introduce new interfaces to support hierarchical irqdomains · 947045a2
      Jiang Liu 提交于
      Introduce new interfaces for interrupt remapping drivers to support
      hierarchical irqdomains:
      
      1) irq_remapping_get_ir_irq_domain(): get irqdomain associated with an
         interrupt remapping unit. IOAPIC/HPET drivers use this interface to
         get parent interrupt remapping irqdomain.
      
      2) irq_remapping_get_irq_domain(): get irqdomain for an IRQ allocation.
         This is mainly used to support MSI irqdomain. We must build one MSI
         irqdomain for each interrupt remapping unit. MSI driver calls this
         interface to get MSI irqdomain associated with an IR irqdomain which
         manages the PCI devices. In a further step we will store the irqdomain
         pointer in the device struct to avoid this call in the irq allocation
         path.
      
      Architecture specific hooks:
      1) arch_get_ir_parent_domain(): get parent irqdomain for IR irqdomain,
         which is x86_vector_domain on x86 platforms.
      2) arch_create_msi_irq_domain(): create an MSI irqdomain associated with
         the interrupt remapping unit.
      
      We also add following callbacks into struct irq_remap_ops:
      	struct irq_domain *(*get_ir_irq_domain)(struct irq_alloc_info *);
      	struct irq_domain *(*get_irq_domain)(struct irq_alloc_info *);
      
      Once all clients of IR have been converted to the new hierarchical irqdomain
      interfaces, we will:
      1) Remove set_ioapic_entry, set_affinity, free_irq, compose_msi_msg,
         msi_alloc_irq, msi_setup_irq, setup_hpet_msi from struct remap_osp
      2) Remove setup_ioapic_remapped_entry, free_remapped_irq,
         compose_remapped_msi_msg, setup_hpet_msi_remapped, setup_remapped_irq.
      3) Simplify x86_io_apic_ops and x86_msi.
      
      We can achieve a way clearer architecture with all these changes
      applied.
      Signed-off-by: NJiang Liu <jiang.liu@linux.intel.com>
      Acked-by: NJoerg Roedel <jroedel@suse.de>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: David Cohen <david.a.cohen@linux.intel.com>
      Cc: Sander Eikelenboom <linux@eikelenboom.it>
      Cc: David Vrabel <david.vrabel@citrix.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: iommu@lists.linux-foundation.org
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Dimitri Sivanich <sivanich@sgi.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Link: http://lkml.kernel.org/r/1428905519-23704-9-git-send-email-jiang.liu@linux.intel.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      947045a2
    • J
      x86/dmar: Use new irqdomain interfaces to allocate/free IRQ · a62b32cd
      Jiang Liu 提交于
      Use new irqdomain interfaces to allocate/free IRQ for DMAR and interrupt
      remapping, so we can remove GENERIC_IRQ_LEGACY_ALLOC_HWIRQ later.
      
      The private definitions of irq_alloc_hwirqs()/irq_free_hwirqs() are a
      temporary solution, they will be removed once we have converted the
      interrupt remapping driver to use irqdomain framework.
      Signed-off-by: NJiang Liu <jiang.liu@linux.intel.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: David Cohen <david.a.cohen@linux.intel.com>
      Cc: Sander Eikelenboom <linux@eikelenboom.it>
      Cc: David Vrabel <david.vrabel@citrix.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: iommu@lists.linux-foundation.org
      Cc: Joerg Roedel <jroedel@suse.de>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Dimitri Sivanich <sivanich@sgi.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Link: http://lkml.kernel.org/r/1428905519-23704-8-git-send-email-jiang.liu@linux.intel.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      a62b32cd
    • J
      x86/htirq: Use new irqdomain interfaces to allocate/free IRQ · af87baed
      Jiang Liu 提交于
      Use new irqdomain interfaces to allocate/free IRQ for HTIRQ, so we can
      remove GENERIC_IRQ_LEGACY_ALLOC_HWIRQ later.
      
      This patch changes the interfaces between arch independent PCI driver
      and arch specific code. Currently HT_IRQ is only enabled on x86, so it
      does not affect other architectures.
      Signed-off-by: NJiang Liu <jiang.liu@linux.intel.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: David Cohen <david.a.cohen@linux.intel.com>
      Cc: Sander Eikelenboom <linux@eikelenboom.it>
      Cc: David Vrabel <david.vrabel@citrix.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Dimitri Sivanich <sivanich@sgi.com>
      Link: http://lkml.kernel.org/r/1428905519-23704-7-git-send-email-jiang.liu@linux.intel.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      af87baed
    • J
      x86/uv: Use new irqdomain interfaces to allocate/free IRQ · 331dd19e
      Jiang Liu 提交于
      Use new irqdomain interfaces to allocate/free IRQ, so we can
      remove GENERIC_IRQ_LEGACY_ALLOC_HWIRQ later.
      Signed-off-by: NJiang Liu <jiang.liu@linux.intel.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: David Cohen <david.a.cohen@linux.intel.com>
      Cc: Sander Eikelenboom <linux@eikelenboom.it>
      Cc: David Vrabel <david.vrabel@citrix.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Dimitri Sivanich <sivanich@sgi.com>
      Link: http://lkml.kernel.org/r/1428905519-23704-6-git-send-email-jiang.liu@linux.intel.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      331dd19e
    • J
      x86/MSI: Use new irqdomain interfaces to allocate/free IRQ · 4c8f9960
      Jiang Liu 提交于
      Use new irqdomain interfaces to allocate/free IRQ for PCI MSI, so we
      can remove GENERIC_IRQ_LEGACY_ALLOC_HWIRQ later.
      Signed-off-by: NJiang Liu <jiang.liu@linux.intel.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: David Cohen <david.a.cohen@linux.intel.com>
      Cc: Sander Eikelenboom <linux@eikelenboom.it>
      Cc: David Vrabel <david.vrabel@citrix.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Dimitri Sivanich <sivanich@sgi.com>
      Link: http://lkml.kernel.org/r/1416894816-23245-5-git-send-email-jiang.liu@linux.intel.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      4c8f9960
    • J
      x86/hpet: Use new irqdomain interfaces to allocate/free IRQ · bd8eb63f
      Jiang Liu 提交于
      Use new irqdomain interfaces to allocate/free IRQ for HPET, so we can
      remove GENERIC_IRQ_LEGACY_ALLOC_HWIRQ later.
      Signed-off-by: NJiang Liu <jiang.liu@linux.intel.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: David Cohen <david.a.cohen@linux.intel.com>
      Cc: Sander Eikelenboom <linux@eikelenboom.it>
      Cc: David Vrabel <david.vrabel@citrix.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Dimitri Sivanich <sivanich@sgi.com>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Link: http://lkml.kernel.org/r/1416894816-23245-4-git-send-email-jiang.liu@linux.intel.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      bd8eb63f
    • J
      x86/irq: Use hierarchical irqdomain to manage CPU interrupt vectors · b5dc8e6c
      Jiang Liu 提交于
      Abstract CPU local APIC as an interrupt controller and create an
      irqdomain for it to manage CPU interrupt vectors. It's the base to
      enable hierarchical irqdomains on x86 systems. 
      
      The final irqdomain hierarchy will look like this:
      
      IOAPIC domain    ----|
      MSI/MSI-x domain ----> [Interrupt Remapping domain] -> CPU vector domain
      HPET_IRQ domain  ----|                                         ^
                                                                     |
      DMAR domain      ----------------------------------------------|
      HT_IRQ domain    ----------------------------------------------|
      Signed-off-by: NJiang Liu <jiang.liu@linux.intel.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: David Cohen <david.a.cohen@linux.intel.com>
      Cc: Sander Eikelenboom <linux@eikelenboom.it>
      Cc: David Vrabel <david.vrabel@citrix.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Prarit Bhargava <prarit@redhat.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Dimitri Sivanich <sivanich@sgi.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Link: http://lkml.kernel.org/r/1428905519-23704-3-git-send-email-jiang.liu@linux.intel.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      b5dc8e6c
    • J
      x86/irq: Save destination CPU ID in irq_cfg · 5f0052f9
      Jiang Liu 提交于
      Cache destination CPU APIC ID into struct irq_cfg when assigning vector
      for interrupt. Upper layer just needs to read the cached APIC ID instead
      of calling apic->cpu_mask_to_apicid_and(), it helps to hide APIC driver
      details from IOAPIC/HPET/MSI drivers..
      Signed-off-by: NJiang Liu <jiang.liu@linux.intel.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: David Cohen <david.a.cohen@linux.intel.com>
      Cc: Sander Eikelenboom <linux@eikelenboom.it>
      Cc: David Vrabel <david.vrabel@citrix.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Joerg Roedel <joro@8bytes.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Dimitri Sivanich <sivanich@sgi.com>
      Link: http://lkml.kernel.org/r/1428905519-23704-2-git-send-email-jiang.liu@linux.intel.comSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      5f0052f9
  2. 21 4月, 2015 10 次提交
    • L
      Merge tag 'remoteproc-4.1-next' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc · 646da631
      Linus Torvalds 提交于
      Pull remoteproc update from Ohad Ben-Cohen:
       "Suman Anna is adding remoteproc support for processors not behind
        IOMMUs"
      
      * tag 'remoteproc-4.1-next' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc:
        remoteproc: add IOMMU hardware capability flag
      646da631
    • L
      Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 8f49309a
      Linus Torvalds 提交于
      Pull misc kbuild updates:
       "This is the remaining part of kbuild stuff for v4.1-rc1:
      
         - One wew coccinelle script and a clarification of the proposed fix
           in bugon.coccinelle
      
         - CONFIG_KERNEL_LZ4 support for extract-ikconfig"
      
      * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        scripts/coccinelle/misc/bugon.cocci: update bug_on conversion warning
        scripts/extract-ikconfig: Support LZ4-compressed images.
        irqf_oneshot.cocci: add check of devm_request_threaded_irq()
      8f49309a
    • L
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · b153f1d3
      Linus Torvalds 提交于
      Pull SCSI fixes from James Bottomley:
       "I'd like to say these were a set of regressions for the recent merge
        window code.  Unfortunately, they all predate the merge window code
        (stable cc'd).
      
        There are two fixes for data integrity (mostly only showing up on
        module removal), an mvsas crash with expander attached SATA devices
        which goes back to the dawn of the driver but is only just being
        picked up as sas expanders become a standard item in low end server
        hardware, an am53c974 one because the interrupt data isn't fully
        initialised before the line is and a megaraid_sas one because it uses
        smp_processor_id() to select MSI-X queues and that now triggers a
        WARN_ON()"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        mvsas: fix panic on expander attached SATA devices
        am53c974: Fix crash during modprobe
        megaraid_sas: use raw_smp_processor_id()
        sd: Fix missing ATO tag check
        sd: Unregister integrity profile
      b153f1d3
    • L
      Merge tag 'fbdev-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux · bf2ae5d3
      Linus Torvalds 提交于
      Pull fbdev updates from Tomi Valkeinen:
       "Small fixes and improvements to various fbdev drivers"
      
      * tag 'fbdev-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (24 commits)
        omapdss: extend pm notifier to handle hibernation
        OMAPDSS: Correct video ports description file path in DT binding doc
        OMAPDSS: disable VT switch
        fbdev: sh_mobile_lcdc: Fix destruction of uninitialized mutex
        video: fbdev: sh_mobile_lcdcfb: Fix ROP3 sysfs attribute parsing
        fbdev: pm3fb: cleanup some confusing indenting
        hyperv: hyperv_fb: match wait_for_completion_timeout return type
        video: fbdev: use msecs_to_jiffies for time conversions
        fbdev: via/via_clock: fix sparse warning
        video: fbdev: make of_device_id array const
        fbdev: sm501fb: use memset_io
        OMAPDSS: workaround for MFLAG + NV12 issue
        OMAPDSS: Add support for MFLAG
        OMAPDSS: setup default fifo thresholds
        OMAPDSS: DISPC: lock access to DISPC_CONTROL & DISPC_CONFIG
        OMAPDSS: DISPC: fix div by zero issue in overlay scaling
        OMAPDSS: DISPC: change sync_pclk_edge default value
        OMAPDSS: change signal_level & signal_edge enum values
        OMAPDSS: DISPC: explicit handling for sync and de levels
        OMAPDSS: DISPC: remove OMAPDSS_DRIVE_SIG_OPPOSITE_EDGES
        ...
      bf2ae5d3
    • L
      Merge branch 'drm-next-merged' of git://people.freedesktop.org/~airlied/linux · 14aa0244
      Linus Torvalds 提交于
      Pull drm updates from Dave Airlie:
       "Highlights:
      
        Core:
         - Virtual GEM layer merged, this has been around for a long time, and
           it provides a software backed device that allows userspace to use
           it as a GEM shared memory handler.  This makes it a lot easier to
           do certain things when you have no GPU but still have to deal with
           DRI expectations.
         - atomic helper updates.
         - framebuffer modifier interface added.
         - i2c over auxch displayport fixes.
         - fb width/height confusion fixes.
         - new driver for ps8622/ps8625 bridge chips
         - lots of new panels
      
        i915:
         - more plane atomic conversion
         - vGPU guest support for XenGT
         - Skylake workarounds and fixes
         - Y-tiling support
         - work on dynamic pagetable allocation
         - EU count report param for gen9+
         - CHV fixes (no longer prelim)
         - remove ilk rc6
         - frontbuffer tracking for fbc
         - Displayport link rate refactoring
         - sprite colorkey refactor
      
        radeon:
         - Displayport MST support (not enabled by default)
         - non-ATOM native hw auxch support (DCE5+)
         - output csc support
         - new queries for userspace debug support
         - new VCE packet
      
        nouveau:
         - gk20a iommu support
         - gm107 graphics support
         - more gm20x bringup (waiting on signed nvidia fw).
      
        amdkfd:
         - multiple kgd instance support
         - use 64-bit time accessors
      
        msm:
         - stolen memory support
         - DSI and dual-DSI support
         - snapdragon 410 support
      
        exynos:
         - cleanups for atomic and pageflip
      
        imx-drm:
         - more media-bus formats
         - TV output prep
         - drm panel support
      
        tegra:
         - hw vblank counter using host1x syncpoints
      
        omap:
         - universal plane support
         - prep work for atomic modesetting
      
        rcar-du:
         - ported to atomic modesetting
      
        atmel-hlcdc:
         - ported to atomic modesetting
         - added suspend/resume support
      
        sti:
         - ported to atomic modesetting
      
        dwhdmi:
         - more compliant audio support
         - update rockchip phy support
      
        tda998x:
         - DT probing for attached crtcs
         - simplified EDID reading
      
        rockchip:
         - fixes
      
        adv7511:
         - fixes"
      
      * 'drm-next-merged' of git://people.freedesktop.org/~airlied/linux: (689 commits)
        media-bus: Fixup RGB444_1X12, RGB565_1X16, and YUV8_1X24 media bus format
        drm/i915: Dont enable CS_PARSER_ERROR interrupts at all
        drm/i915: Move drm_framebuffer_unreference out of struct_mutex for takeover
        drm: fix trivial typo mistake
        drm: Make integer overflow checking cover universal cursor updates (v2)
        drm/nouveau/bios: fix fetching from acpi on certain systems
        drm/nouveau/gr/gm206: initial init+ctx code
        drm/nouveau/ce/gm206: enable support via gm204 code
        drm/nouveau/fifo/gm206: enable support via gm204 code
        drm/nouveau/gr/gm204: initial init+ctx code
        drm/nouveau: support for buffer moves via MaxwellDmaCopyA
        drm/nouveau/ce/gm204: initial support
        drm/nouveau: add support for gm20x fifo channels
        drm/nouveau/fifo/gm204: initial support
        drm/nouveau/gr/gk104-: prevent reading non-existent regs in intr handler
        drm/nouveau/gr/gm107: very slightly demagic part of attrib cb setup
        drm/nouveau/gr/gk104-: correct crop/zrop num_active_fbps setting
        drm/nouveau/gr/gf100-: add symbolic names for classes
        drm/nouveau/gr/gm107: support tpc "strand" ctxsw in gpccs ucode
        drm/nouveau/gr/gf100-: support mmio access with gpc offset from gpccs ucode
        ...
      14aa0244
    • L
      Merge tag 'iommu-updates-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 79319a05
      Linus Torvalds 提交于
      Pull IOMMU updates from Joerg Roedel:
       "Not much this time, but the changes include:
      
         - moving domain allocation into the iommu drivers to prepare for the
           introduction of default domains for devices
      
         - fixing the IO page-table code in the AMD IOMMU driver to correctly
           encode large page sizes
      
         - extension of the PCI support in the ARM-SMMU driver
      
         - various fixes and cleanups"
      
      * tag 'iommu-updates-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (34 commits)
        iommu/amd: Correctly encode huge pages in iommu page tables
        iommu/amd: Optimize amd_iommu_iova_to_phys for new fetch_pte interface
        iommu/amd: Optimize alloc_new_range for new fetch_pte interface
        iommu/amd: Optimize iommu_unmap_page for new fetch_pte interface
        iommu/amd: Return the pte page-size in fetch_pte
        iommu/amd: Add support for contiguous dma allocator
        iommu/amd: Don't allocate with __GFP_ZERO in alloc_coherent
        iommu/amd: Ignore BUS_NOTIFY_UNBOUND_DRIVER event
        iommu/amd: Use BUS_NOTIFY_REMOVED_DEVICE
        iommu/tegra: smmu: Compute PFN mask at runtime
        iommu/tegra: gart: Set aperture at domain initialization time
        iommu/tegra: Setup aperture
        iommu: Remove domain_init and domain_free iommu_ops
        iommu/fsl: Make use of domain_alloc and domain_free
        iommu/rockchip: Make use of domain_alloc and domain_free
        iommu/ipmmu-vmsa: Make use of domain_alloc and domain_free
        iommu/shmobile: Make use of domain_alloc and domain_free
        iommu/msm: Make use of domain_alloc and domain_free
        iommu/tegra-gart: Make use of domain_alloc and domain_free
        iommu/tegra-smmu: Make use of domain_alloc and domain_free
        ...
      79319a05
    • L
      Merge tag 'cpumask-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux · 6496edfc
      Linus Torvalds 提交于
      Pull final removal of deprecated cpus_* cpumask functions from Rusty Russell:
       "This is the final removal (after several years!) of the obsolete
        cpus_* functions, prompted by their mis-use in staging.
      
        With these function removed, all cpu functions should only iterate to
        nr_cpu_ids, so we finally only allocate that many bits when cpumasks
        are allocated offstack"
      
      * tag 'cpumask-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (25 commits)
        cpumask: remove __first_cpu / __next_cpu
        cpumask: resurrect CPU_MASK_CPU0
        linux/cpumask.h: add typechecking to cpumask_test_cpu
        cpumask: only allocate nr_cpumask_bits.
        Fix weird uses of num_online_cpus().
        cpumask: remove deprecated functions.
        mips: fix obsolete cpumask_of_cpu usage.
        x86: fix more deprecated cpu function usage.
        ia64: remove deprecated cpus_ usage.
        powerpc: fix deprecated CPU_MASK_CPU0 usage.
        CPU_MASK_ALL/CPU_MASK_NONE: remove from deprecated region.
        staging/lustre/o2iblnd: Don't use cpus_weight
        staging/lustre/libcfs: replace deprecated cpus_ calls with cpumask_
        staging/lustre/ptlrpc: Do not use deprecated cpus_* functions
        blackfin: fix up obsolete cpu function usage.
        parisc: fix up obsolete cpu function usage.
        tile: fix up obsolete cpu function usage.
        arm64: fix up obsolete cpu function usage.
        mips: fix up obsolete cpu function usage.
        x86: fix up obsolete cpu function usage.
        ...
      6496edfc
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · b19a42e3
      Linus Torvalds 提交于
      Pull more s390 updates from Martin Schwidefsky:
       "The big thing in this second merge for s390 is the new eBPF JIT from
        Michael which replaces the old 32-bit backend.
      
        The remaining commits are bug fixes"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/pci: add locking for fmb access
        s390/pci: extract software counters from fmb
        s390/dasd: Fix unresumed device after suspend/resume having no paths
        s390/dasd: fix unresumed device after suspend/resume
        s390/dasd: fix inability to set a DASD device offline
        s390/mm: Fix memory hotplug for unaligned standby memory
        s390/bpf: Add s390x eBPF JIT compiler backend
        s390: Use bool function return values of true/false not 1/0
      b19a42e3
    • L
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · 5ca08a82
      Linus Torvalds 提交于
      Pull m68k fixes from Greg Ungerer:
       "Nothing big, spelling fixes and fix/cleanup for ColdFire eth device setup"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        m68knommu: fix fec setup warning for ColdFire 5271 builds
        m68knommu: ColdFire 5271 only has a single FEC controller
        m68k: Fix trivial typos in comments
      5ca08a82
    • L
      smp: don't use 16-bit words for atomic accesses · f4d03bd1
      Linus Torvalds 提交于
      Yes, it should work, but it's a bad idea.  Not only did ARM64 not have
      the 16-bit access code (there's a separate patch to add it), it's just
      not a good atomic type.  Some architectures fundamentally don't do
      atomic accesses in them (alpha), and it's not like it saves any space
      here anyway because of structure packing issues.
      
      We normally should aim for flags to be "unsigned int" or "unsigned
      long".  And if space is at a premium, use a single byte (although that
      causes problems on alpha again).  There might be very special cases
      where a 16-byte entity is really wanted, but this is not one of them.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f4d03bd1
  3. 20 4月, 2015 11 次提交
  4. 19 4月, 2015 2 次提交