Valentin Rothberg
507224aa88
serial: 8250: remove Kconfig indirection
...
Remove CONFIG_SERIAL_DETECT_IRQ and CONFIG_SERIAL_MANY_PORTS, and
substitute all references to the proper 8250 Kconfig options. Now, the
actual Kconfig dependencies are not hidden when reading the code and
static analyzers are less confused.
Signed-off-by: Valentin Rothberg <valentinrothberg@gmail.com >
Reviewed-by: Peter Hurley <peter@hurleysoftware.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2015-05-06 22:27:00 +02:00
Aravind Gopalakrishnan
7559e13fb4
x86/mce: Add support for deferred errors on AMD
...
Deferred errors indicate error conditions that were not corrected, but
those errors have not been consumed yet. They require no action from
S/W (or action is optional). These errors provide info about a latent
uncorrectable MCE that can occur when a poisoned data is consumed by the
processor.
Newer AMD processors can generate deferred errors and can be configured
to generate APIC interrupts on such events.
SUCCOR stands for S/W UnCorrectable error COntainment and Recovery.
It indicates support for data poisoning in HW and deferred error
interrupts.
Add new bitfield to mce_vendor_flags for this. We use this to verify
presence of deferred error interrupts before we enable them in mce_amd.c
While at it, clarify comments in mce_vendor_flags to provide an
indication of usages of the bitfields.
Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@amd.com >
Cc: Tony Luck <tony.luck@intel.com >
Cc: x86-ml <x86@kernel.org >
Cc: linux-edac <linux-edac@vger.kernel.org >
Link: http://lkml.kernel.org/r/1430913538-1415-4-git-send-email-Aravind.Gopalakrishnan@amd.com
[ beef up commit message, do CPUID(8000_0007) only once. ]
Signed-off-by: Borislav Petkov <bp@suse.de >
2015-05-06 20:34:31 +02:00
Linus Torvalds
3d54ac9e35
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
...
Pull x86 fixes from Ingo Molnar:
"EFI fixes, and FPU fix, a ticket spinlock boundary condition fix and
two build fixes"
* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/fpu: Always restore_xinit_state() when use_eager_cpu()
x86: Make cpu_tss available to external modules
efi: Fix error handling in add_sysfs_runtime_map_entry()
x86/spinlocks: Fix regression in spinlock contention detection
x86/mm: Clean up types in xlate_dev_mem_ptr()
x86/efi: Store upper bits of command line buffer address in ext_cmd_line_ptr
efivarfs: Ensure VariableName is NUL-terminated
2015-05-06 10:57:37 -07:00
Stefano Stabellini
8746515d7f
xen: Add __GFP_DMA flag when xen_swiotlb_init gets free pages on ARM
...
Make sure that xen_swiotlb_init allocates buffers that are DMA capable
when at least one memblock is available below 4G. Otherwise we assume
that all devices on the SoC can cope with >4G addresses. We do this on
ARM and ARM64, where dom0 is mapped 1:1, so pfn == mfn in this case.
No functional changes on x86.
From: Chen Baozi <baozich@gmail.com >
Signed-off-by: Chen Baozi <baozich@gmail.com >
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com >
Tested-by: Chen Baozi <baozich@gmail.com >
Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com >
Signed-off-by: David Vrabel <david.vrabel@citrix.com >
2015-05-06 15:02:58 +01:00
Borislav Petkov
5b673a48c5
x86/alternatives: Document macros
...
Add some text to the macro magic for future reference and against
failing human memory.
Requested-by: Ingo Molnar <mingo@kernel.org >
Signed-off-by: Borislav Petkov <bp@suse.de >
Cc: Andy Lutomirski <luto@amacapital.net >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Brian Gerst <brgerst@gmail.com >
Cc: Denys Vlasenko <dvlasenk@redhat.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2015-05-06 11:25:31 +02:00
Borislav Petkov
760d765b2b
x86/microcode: Parse built-in microcode early
...
Apparently, people do build microcode into the kernel image, i.e.
CONFIG_FIRMWARE_IN_KERNEL=y.
Make that work in the early loader which is where microcode should be
preferably loaded anyway.
Note that you need to specify the microcode filename with the path
relative to the toplevel firmware directory (the same like the late
loading method) in CONFIG_EXTRA_FIRMWARE=y so that early loader can
find it.
I.e., something like this (Intel variant):
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE="intel-ucode/06-3a-09"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware/"
While at it, add me to the loader copyright boilerplate.
Signed-off-by: Borislav Petkov <bp@suse.de >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Daniel J Blueman <daniel@numascale.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2015-05-06 11:24:53 +02:00
Borislav Petkov
da9b50765e
x86/microcode/intel: Remove unused @rev arg of get_matching_sig()
...
@rev wasn't used in get_matching_sig(), drop it.
Signed-off-by: Borislav Petkov <bp@suse.de >
Cc: Borislav Petkov <bp@alien8.de >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2015-05-06 11:24:52 +02:00
Borislav Petkov
a1a32d29f9
x86/microcode/intel: Get rid of revision_is_newer()
...
It is a one-liner for checking microcode header revisions. On top of
that, it can be used wrong as it was the case in _save_mc(). Get rid of
it.
Signed-off-by: Borislav Petkov <bp@suse.de >
Acked-by: Quentin Casasnovas <quentin.casasnovas@oracle.com >
Cc: Borislav Petkov <bp@alien8.de >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2015-05-06 11:24:44 +02:00
Aravind Gopalakrishnan
1b4574292e
x86/gart: Check for GART support before accessing GART registers
...
GART registers are not present in newer AMD processors (Fam15h, Model
10h and later). So, avoid accessing those in PCI config space by
returning early in early_gart_iommu_check() and gart_iommu_hole_init()
if GART is not available.
Current code doesn't break on existing processors but there are some
side effects:
We get bogus AGP aperture messages which are simply noise on
GART-less processors:
AGP: Node 0: aperture [bus addr 0x00000000-0x01ffffff] (32MB)
AGP: Your BIOS doesn't leave aperture memory hole
AGP: Please enable the IOMMU option in the BIOS setup
AGP: This costs you 64MB of RAM
AGP: Mapping aperture over RAM [mem 0xd4000000-0xd7ffffff]
We can avoid calling allocate_aperture() and would not have to
wastefully reserve 64MB of RAM with memblock_reserve(). Also, we can
avoid having to loop through all PCI buses and devices twice, searching
for a non-existent AGP bridge if we bail out early.
Refactor the family check used in amd_nb.c into an inline function so we
can use it here as well as in amd_nb.c
Fix some typos while at it.
Tested the patch on Fam10h and Fam15h Model 00h-fh and this code runs
fine. On Fam15h Model 60h-6fh and on Fam16h, we bail early as they don't
have GART.
Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@amd.com >
Signed-off-by: Borislav Petkov <bp@suse.de >
Reviewed-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
Cc: Borislav Petkov <bp@alien8.de >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Joerg Rodel <joro@8bytes.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: http://lkml.kernel.org/r/1428443197-3834-1-git-send-email-Aravind.Gopalakrishnan@amd.com
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2015-05-06 11:15:53 +02:00
Christoph Hellwig
84be456f88
remove <asm/scatterlist.h>
...
We don't have any arch specific scatterlist now that parisc switched over
to the generic one.
Signed-off-by: Christoph Hellwig <hch@lst.de >
Signed-off-by: Jens Axboe <axboe@fb.com >
2015-05-05 13:35:39 -06:00
Denys Vlasenko
f1dc154f82
x86: Deinline dma_free_attrs()
...
Reduces kernel size by 76720 bytes on allyesconfig build:
text data bss dec hex filename
82594029 22255352 20627456 125476837 77a9fe5 vmlinux1
82517277 22255384 20627456 125400117 7797435 vmlinux2
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com >
Cc: Marek Szyprowski <m.szyprowski@samsung.com >
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com >
Cc: David Woodhouse <dwmw2@infradead.org >
Cc: Don Dutile <ddutile@redhat.com >
Cc: Andi Kleen <andi@firstfloor.org >
Cc: x86@kernel.org
Link: http://lkml.kernel.org/r/1428926075-28796-3-git-send-email-dvlasenk@redhat.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-05-05 20:48:02 +02:00
Denys Vlasenko
0c7965ff22
x86: Deinline dma_alloc_attrs()
...
Reduces kernel size by 68739 bytes on allyesconfig build:
text data bss dec hex filename
82662736 22255384 20627456 125545576 77bac68 vmlinux0
82594029 22255352 20627456 125476837 77a9fe5 vmlinux1
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com >
Cc: Marek Szyprowski <m.szyprowski@samsung.com >
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com >
Cc: David Woodhouse <dwmw2@infradead.org >
Cc: Don Dutile <ddutile@redhat.com >
Cc: Andi Kleen <andi@firstfloor.org >
Cc: x86@kernel.org
Link: http://lkml.kernel.org/r/1428926075-28796-2-git-send-email-dvlasenk@redhat.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-05-05 20:48:02 +02:00
Boris Ostrovsky
a71dbdaa8c
hypervisor/x86/xen: Unset X86_BUG_SYSRET_SS_ATTRS on Xen PV guests
...
Commit 61f01dd941 ("x86_64, asm: Work around AMD SYSRET SS descriptor
attribute issue") makes AMD processors set SS to __KERNEL_DS in
__switch_to() to deal with cases when SS is NULL.
This breaks Xen PV guests who do not want to load SS with__KERNEL_DS.
Since the problem that the commit is trying to address would have to be
fixed in the hypervisor (if it in fact exists under Xen) there is no
reason to set X86_BUG_SYSRET_SS_ATTRS flag for PV VPCUs here.
This can be easily achieved by adding x86_hyper_xen_hvm.set_cpu_features
op which will clear this flag. (And since this structure is no longer
HVM-specific we should do some renaming).
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com >
Reported-by: Sander Eikelenboom <linux@eikelenboom.it >
Signed-off-by: David Vrabel <david.vrabel@citrix.com >
2015-05-05 18:27:43 +01:00
Tahsin Erdogan
e8a4a2696f
x86/spinlocks: Fix regression in spinlock contention detection
...
A spinlock is regarded as contended when there is at least one waiter.
Currently, the code that checks whether there are any waiters rely on
tail value being greater than head. However, this is not true if tail
reaches the max value and wraps back to zero, so arch_spin_is_contended()
incorrectly returns 0 (not contended) when tail is smaller than head.
The original code (before regression) handled this case by casting the
(tail - head) to an unsigned value. This change simply restores that
behavior.
Fixes: d6abfdb202 ("x86/spinlocks/paravirt: Fix memory corruption on unlock")
Signed-off-by: Tahsin Erdogan <tahsin@google.com >
Cc: peterz@infradead.org
Cc: Waiman.Long@hp.com
Cc: borntraeger@de.ibm.com
Cc: oleg@redhat.com
Cc: raghavendra.kt@linux.vnet.ibm.com
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/1430799331-20445-1-git-send-email-tahsin@google.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-05-05 11:01:38 +02:00
Jiri Kosina
535b3ddc28
x86: kaslr: fix build due to missing ALIGN definition
...
Fengguang's bot reported that 4545c898 ("x86: introduce kaslr_offset()") broke
randconfig build
In file included from arch/x86/xen/vga.c:5:0:
arch/x86/include/asm/setup.h: In function 'kaslr_offset':
>> arch/x86/include/asm/setup.h:77:2: error: implicit declaration of function 'ALIGN' [-Werror=implicit-function-declaration]
return (unsigned long)&_text - __START_KERNEL;
^
Fix that by making setup.h self-sufficient by explicitly including
linux/kernel.h, which is needed for ALIGN() (which is what __START_KERNEL
contains in its expansion).
Reported-by: fengguang.wu@intel.com
Signed-off-by: Jiri Kosina <jkosina@suse.cz >
2015-04-29 21:54:54 +02:00
Jiri Kosina
5d4351ba65
livepatch: x86: make kASLR logic more accurate
...
We give up old_addr hint from the coming patch module in cases when kernel load
base has been randomized (as in such case, the coming module has no idea about
the exact randomization offset).
We are currently too pessimistic, and give up immediately as soon as
CONFIG_RANDOMIZE_BASE is set; this doesn't however directly imply that the
load base has actually been randomized. There are config options that
disable kASLR (such as hibernation), user could have disabled kaslr on
kernel command-line, etc.
The loader propagates the information whether kernel has been randomized
through bootparams. This allows us to have the condition more accurate.
On top of that, it seems unnecessary to give up old_addr hints even if
randomization is active. The relocation offset can be computed using
kaslr_ofsset(), and therefore old_addr can be adjusted accordingly.
Acked-by: Josh Poimboeuf <jpoimboe@redhat.com >
Signed-off-by: Jiri Kosina <jkosina@suse.cz >
2015-04-29 16:51:33 +02:00
Jiri Kosina
4545c89880
x86: introduce kaslr_offset()
...
Offset that has been chosen for kaslr during kernel decompression can be
easily computed as a difference between _text and __START_KERNEL. We are
already making use of this in dump_kernel_offset() notifier and in
arch_crash_save_vmcoreinfo().
Introduce kaslr_offset() that makes this computation instead of hard-coding
it, so that other kernel code (such as live patching) can make use of it.
Also convert existing users to make use of it.
This patch is equivalent transofrmation without any effects on the resulting
code:
$ diff -u vmlinux.old.asm vmlinux.new.asm
--- vmlinux.old.asm 2015-04-28 17:55:19.520983368 +0200
+++ vmlinux.new.asm 2015-04-28 17:55:24.141206072 +0200
@@ -1,5 +1,5 @@
-vmlinux.old: file format elf64-x86-64
+vmlinux.new: file format elf64-x86-64
Disassembly of section .text:
$
Acked-by: Borislav Petkov <bp@suse.de >
Signed-off-by: Jiri Kosina <jkosina@suse.cz >
2015-04-29 16:51:33 +02:00
Paolo Bonzini
73459e2a1a
x86: pvclock: Really remove the sched notifier for cross-cpu migrations
...
This reverts commits 0a4e6be9ca
and 80f7fdb1c7 .
The task migration notifier was originally introduced in order to support
the pvclock vsyscall with non-synchronized TSC, but KVM only supports it
with synchronized TSC. Hence, on KVM the race condition is only needed
due to a bad implementation on the host side, and even then it's so rare
that it's mostly theoretical.
As far as KVM is concerned it's possible to fix the host, avoiding the
additional complexity in the vDSO and the (re)introduction of the task
migration notifier.
Xen, on the other hand, hasn't yet implemented vsyscall support at
all, so we do not care about its plans for non-synchronized TSC.
Reported-by: Peter Zijlstra <peterz@infradead.org >
Suggested-by: Marcelo Tosatti <mtosatti@redhat.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2015-04-27 15:49:30 +02:00
Andy Lutomirski
61f01dd941
x86_64, asm: Work around AMD SYSRET SS descriptor attribute issue
...
AMD CPUs don't reinitialize the SS descriptor on SYSRET, so SYSRET with
SS == 0 results in an invalid usermode state in which SS is apparently
equal to __USER_DS but causes #SS if used.
Work around the issue by setting SS to __KERNEL_DS __switch_to, thus
ensuring that SYSRET never happens with SS set to NULL.
This was exposed by a recent vDSO cleanup.
Fixes: e7d6eefaaa x86/vdso32/syscall.S: Do not load __USER32_DS to %ss
Signed-off-by: Andy Lutomirski <luto@kernel.org >
Cc: Peter Anvin <hpa@zytor.com >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Denys Vlasenko <vda.linux@googlemail.com >
Cc: Brian Gerst <brgerst@gmail.com >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2015-04-26 17:57:38 -07:00
Jiang Liu
d746d1ebd3
x86/irq: Move irqdomain specific code into asm/irqdomain.h
...
Now we have dedicated asm/irqdomain.h, so move irqdomain specific
code into it.
Signed-off-by: Jiang 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 >
Cc: Joerg Roedel <jroedel@suse.de >
Cc: Andy Lutomirski <luto@amacapital.net >
Link: http://lkml.kernel.org/r/1428978610-28986-33-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:55 +02:00
Thomas Gleixner
f7a0c78669
x86: Cleanup irq_domain ops
...
We have 3 identical copies of the ioapic domain ops for acpi, mpparse,
and sfi. Have a global one in the io_apic code and be done with it.
To avoid include hell in io_apic.h, create a private irqdomain header
and include the generic irqdomain header from there.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Jiang 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: sfi-devel@simplefirmware.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: Len Brown <len.brown@intel.com >
Cc: Pavel Machek <pavel@ucw.cz >
Cc: Grant Likely <grant.likely@linaro.org >
Cc: Rob Herring <robh@kernel.org >
Cc: x86@kernel.org
Link: http://lkml.kernel.org/r/1428978610-28986-32-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:55 +02:00
Thomas Gleixner
335efdf57d
x86, ioapic: Use proper defines for the entry fields
...
While looking at the printout issue, I stumbled more than once over
the various 0/1 assignments which are either commented in strange ways
or force to lookup the meaning.
Use proper constants and fix the misleading comments. While at it
remove pointless 0 assignments in native_disable_io_apic() which have
no value for understanding the code.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Jiang 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 >
Cc: Grant Likely <grant.likely@linaro.org >
Cc: x86@kernel.org
Link: http://lkml.kernel.org/r/1428978610-28986-30-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:55 +02:00
Jiang Liu
4399b14fa7
x86/irq: Refine the way to calculate NR_IRQS
...
Now we have made MSI independent of IOAPIC, so we need to refine the
way to calculate NR_IRQS to support configuration with MSI enabled but
IOAPIC disabled.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com >
Tested-by: Joerg 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: 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 >
Cc: Jan Beulich <JBeulich@suse.com >
Link: http://lkml.kernel.org/r/1428978610-28986-28-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:55 +02:00
Jiang Liu
7f3262edcd
x86/irq: Move private data in struct irq_cfg into dedicated data structure
...
Several fields in struct irq_cfg are private to vector.c, so move it
into dedicated data structure. This helps to hide implementation
details.
Signed-off-by: Jiang 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/1428978610-28986-27-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.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 >
Link: http://lkml.kernel.org/r/1416901802-24211-35-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Tested-by: Joerg Roedel <jroedel@suse.de >
2015-04-24 15:36:55 +02:00
Jiang Liu
68f9f4404d
x86/irq: Remove function apic_set_affinity()
...
Now there's no user of apic_set_affinity(), so remove it. Also rename
vector_set_affinity() to apic_set_affinity() for consistency.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com >
Tested-by: Joerg 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: 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/1428978610-28986-25-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:54 +02:00
Jiang Liu
f970510cc5
x86/irq: Make functions only used in vector.c static
...
Function {assign|clear}_irq_vector() and apic_retrigger_irq() are only
used in vector.c, so make them static.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com >
Tested-by: Joerg 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: 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/1428978610-28986-24-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:54 +02:00
Jiang Liu
a2cbbb47fd
x86/irq: Remove unused alloc_irq_and_cfg_at()
...
There's no caller of alloc_irq_and_cfg_at() anymore, so remove it.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com >
Tested-by: Joerg 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: 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/1428978610-28986-23-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:54 +02:00
Thomas Gleixner
1f93464129
x86/irq: Remove sis apic bug workaround
...
The SiS apic bug workaround is now obsolete as we cache the register
values for performance reasons.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Jiang 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 >
Cc: Grant Likely <grant.likely@linaro.org >
Link: http://lkml.kernel.org/r/1428978610-28986-22-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:54 +02:00
Jiang Liu
154d9e50e4
x86/irq: Clean up io_apic.h
...
Clean up io_apic.h by:
1) moving definition of struct mp_ioapic_gsi into io_apic.c
2) changing mp_pin_to_gsi() and mp_ioapic_gsi_routing() as static
3) removing unused MP_MAX_IOAPIC_PIN
4) removing useless forward declaration
5) removing useless comments
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com >
Tested-by: Joerg 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: 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 >
Cc: Grant Likely <grant.likely@linaro.org >
Link: http://lkml.kernel.org/r/1428978610-28986-20-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:54 +02:00
Thomas Gleixner
ca1b88622e
x86: Remove more unmodified io_apic_ops
...
io_apic_ops.init() is either NULL, if IO-APIC support is disabled at
compile time or native_io_apic_init_mappings(). No point to have that
as we can achieve the same thing with an empty inline.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:54 +02:00
Jiang Liu
9a93d4736e
x86/irq: Remove x86_io_apic_ops.write and x86_io_apic_ops.modify
...
x86_io_apic_ops.write is always set to native_io_apic_write(),
and nobody overrides it. So get rid of the indirection by changing
native_io_apic_write() as io_apic_write() and removing
x86_io_apic_ops.write.
Do the same for x86_io_apic_ops.modify and native_io_apic_modify().
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com >
Tested-by: Joerg 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: 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 >
Cc: Yijing Wang <wangyijing@huawei.com >
Cc: Grant Likely <grant.likely@linaro.org >
Link: http://lkml.kernel.org/r/1428978610-28986-19-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:53 +02:00
Jiang Liu
50a6ad84b2
x86/irq: Remove struct io_apic_irq_attr
...
Now there's no user of struct io_apic_irq_attr anymore, so remove it.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com >
Tested-by: Joerg 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: 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 >
Cc: Grant Likely <grant.likely@linaro.org >
Link: http://lkml.kernel.org/r/1428978610-28986-18-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:53 +02:00
Jiang Liu
4467715a44
x86/irq: Move irq_cfg.irq_2_pin into io_apic.c
...
Now only io_apic.c accesses struct irq_cfg.irq_2_pin, so move irq_2_pin
into struct mp_chip_data in io_apic.c to clean up struct irq_cfg further.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com >
Tested-by: Joerg 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: 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 >
Cc: Grant Likely <grant.likely@linaro.org >
Link: http://lkml.kernel.org/r/1428978610-28986-17-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:53 +02:00
Jiang Liu
9c72496698
irq_remapping/amd: Move struct irq_2_irte into amd_iommu.c
...
Now only amd_iommu.c access irq_2_irte, so move it from hw_irq.h into
amd_iommu.c.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com >
Tested-by: Joerg 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/1428978610-28986-16-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:53 +02:00
Jiang Liu
099c5c0348
irq_remapping/vt-d: Move struct irq_2_iommu into intel_irq_remapping.c
...
Now only intel_irq_remapping.c access irq_2_iommu, so move it from
hw_irq.h into intel_irq_remapping.c.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com >
Tested-by: Joerg 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/1428978610-28986-15-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:53 +02:00
Jiang Liu
bac4f90784
x86/irq: Remove irq_cfg.irq_remapped
...
Now there is no user of irq_cfg.irq_remapped, so remove it.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com >
Tested-by: Joerg 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/1428978610-28986-14-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:53 +02:00
Jiang Liu
9880534989
irq_remapping: Clean up unsued code to support IOAPIC
...
Now we have converted to hierarchical irqdomains, so clean up unused code.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com >
Tested-by: Joerg 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/1428978610-28986-10-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:52 +02:00
Jiang Liu
3dd786ea3a
x86/irq: Clean up unused forward declarations in x86_init.h
...
Clean up unused forward declarations in x86_init.h.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com >
Tested-by: Joerg 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: 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 >
Cc: Yijing Wang <wangyijing@huawei.com >
Link: http://lkml.kernel.org/r/1428978610-28986-9-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:52 +02:00
Jiang Liu
ad66e1efc9
x86/irq: Remove x86_io_apic_ops.eoi_ioapic_pin and related interfaces
...
Now there is no user of x86_io_apic_ops.eoi_ioapic_pin anymore, so remove
it.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com >
Tested-by: Joerg 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: Yijing Wang <wangyijing@huawei.com >
Cc: Grant Likely <grant.likely@linaro.org >
Link: http://lkml.kernel.org/r/1428978610-28986-7-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:52 +02:00
Jiang Liu
aa5cb97f14
x86/irq: Remove x86_io_apic_ops.set_affinity and related interfaces
...
Now there is no user of x86_io_apic_ops.set_affinity anymore, so remove
it.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com >
Tested-by: Joerg 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: Yijing Wang <wangyijing@huawei.com >
Cc: Grant Likely <grant.likely@linaro.org >
Link: http://lkml.kernel.org/r/1428978610-28986-6-git-send-email-jiang.liu@linux.intel.com
2015-04-24 15:36:52 +02:00
Jiang Liu
35d50d8fd5
x86/irq: Remove x86_io_apic_ops.setup_entry and related interfaces
...
Now there is no user of x86_io_apic_ops.setup_entry anymore, so remove it.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com >
Tested-by: Joerg 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: Yijing Wang <wangyijing@huawei.com >
Cc: Grant Likely <grant.likely@linaro.org >
Link: http://lkml.kernel.org/r/1428978610-28986-5-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:52 +02:00
Jiang Liu
84bea5cc77
x86/irq: Remove x86_io_apic_ops.print_entries and related interfaces
...
Now there is no user of x86_io_apic_ops.print_entries anymore, so remove
it.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com >
Tested-by: Joerg 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: Yijing Wang <wangyijing@huawei.com >
Cc: Grant Likely <grant.likely@linaro.org >
Link: http://lkml.kernel.org/r/1428978610-28986-4-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:52 +02:00
Jiang Liu
5ad274d41c
x86/irq: Remove unused old IOAPIC irqdomain interfaces
...
Now we have converted to hierarchical irqdomain, so remove unused old
IOAPIC interfaces and code.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com >
Tested-by: Joerg 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: 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 >
Cc: Grant Likely <grant.likely@linaro.org >
Link: http://lkml.kernel.org/r/1428978610-28986-2-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:51 +02:00
Jiang Liu
49c7e60022
x86/irq: Implement callbacks to enable hierarchical irqdomains on IOAPICs
...
Implement required callbacks to prepare for enabling hierarchical
irqdomains on IOAPICs. After the conversion we can remove quite some
code from the old implementation.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com >
Tested-by: Joerg 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: 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 >
Cc: Jan Beulich <JBeulich@suse.com >
Cc: Grant Likely <grant.likely@linaro.org >
Link: http://lkml.kernel.org/r/1428905519-23704-34-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:51 +02:00
Jiang Liu
c4d05a2c35
x86/irq: Prepare IOAPIC interfaces to support hierarchical irqdomains
...
Introduce helper functions to manipulate struct irq_alloc_info for
IOAPIC. Also add an extra parameter to IOAPIC interfaces to prepare
for hierarchical irqdomain. Function mp_set_gsi_attr() will be removed
once we have switched to hierarchical irqdomains.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com >
Tested-by: Joerg Roedel <jroedel@suse.de >
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.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 >
Cc: Len Brown <len.brown@intel.com >
Cc: Pavel Machek <pavel@ucw.cz >
Cc: Jan Beulich <JBeulich@suse.com >
Cc: Grant Likely <grant.likely@linaro.org >
Cc: David Cohen <david.a.cohen@linux.intel.com >
Link: http://lkml.kernel.org/r/1428905519-23704-33-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:51 +02:00
Jiang Liu
4e69d7eab4
x86/irq: Remove unused pre_init_apic_IRQ0()
...
Now there's no user of pre_init_apic_IRQ0(), so remove it.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com >
Tested-by: Andy Shevchenko <andriy.shevchenko@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 >
Cc: Jan Beulich <JBeulich@suse.com >
Cc: Grant Likely <grant.likely@linaro.org >
Link: http://lkml.kernel.org/r/1428905519-23704-32-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:51 +02:00
Jiang Liu
0cddfc7946
irq_remapping: Remove unused function irq_remapping_print_chip()
...
Now there's no user of irq_remapping_print_chip() anymore, so remove it.
Signed-off-by: Jiang 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: Joerg Roedel <jroedel@suse.de >
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-29-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:50 +02:00
Jiang Liu
43fe1abc18
x86/uv: Use hierarchical irqdomain to manage UV interrupts
...
Enhance UV code to support hierarchical irqdomain, it helps to make
the architecture more clear.
We construct hwirq based on mmr_blade and mmr_offset, but mmr_offset
has type unsigned long, it may exceed the range of irq_hw_number_t. So
help about the way to construct hwirq based on mmr_blade and
mmr_offset is welcomed!
Folded a patch from Dimitri Sivanich <sivanich@sgi.com > to fix a bug
on UV platforms, please refer to:
http://lkml.org/lkml/2014/12/16/351
Signed-off-by: Jiang 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: Russ Anderson <rja@sgi.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 >
Link: http://lkml.kernel.org/r/1428905519-23704-23-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:50 +02:00
Jiang Liu
49e07d8f28
x86/htirq: Use hierarchical irqdomain to manage Hypertransport interrupts
...
We have slightly changed the architecture interfaces to support htirq
PCI driver. It's safe because currently Hypertransport interrupt is
only enabled on x86 platforms.
Signed-off-by: Jiang 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-22-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:50 +02:00
Jiang Liu
0921f1da64
x86/irq: Use hierarchical irqdomain to manage DMAR interrupts
...
Enhance DMAR code to support hierarchical irqdomain, it helps to make
the architecture more clear.
Signed-off-by: Jiang 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-21-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2015-04-24 15:36:49 +02:00