aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel J Blueman <daniel@numascale.com>2015-12-30 13:06:47 -0500
committerThomas Gleixner <tglx@linutronix.de>2015-12-30 13:19:03 -0500
commitdd7a5ab495019d424c2b0747892eb2e38a052ba5 (patch)
treea850e188e869f7e7465afc4a1e4533d622a45fac
parent30bfa7b3488bfb1bb75c9f50a5fcac1832970c60 (diff)
x86/numachip: Fix NumaConnect2 MMCFG PCI access
The MMCFG PCI accessors weren't being setup for NumacConnect2 correctly due to over-early assignment; this would create the potential for the wrong PCI domain to be accessed. Fix this by using the correct arch-specific PCI init function. Signed-off-by: Daniel J Blueman <daniel@numascale.com> Acked-by: Steffen Persvold <sp@numascale.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Link: http://lkml.kernel.org/r/1451498807-15920-1-git-send-email-daniel@numascale.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--arch/x86/kernel/apic/apic_numachip.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/arch/x86/kernel/apic/apic_numachip.c b/arch/x86/kernel/apic/apic_numachip.c
index 38dd5efdd04c..2bd2292a316d 100644
--- a/arch/x86/kernel/apic/apic_numachip.c
+++ b/arch/x86/kernel/apic/apic_numachip.c
@@ -193,20 +193,17 @@ static int __init numachip_system_init(void)
193 case 1: 193 case 1:
194 init_extra_mapping_uc(NUMACHIP_LCSR_BASE, NUMACHIP_LCSR_SIZE); 194 init_extra_mapping_uc(NUMACHIP_LCSR_BASE, NUMACHIP_LCSR_SIZE);
195 numachip_apic_icr_write = numachip1_apic_icr_write; 195 numachip_apic_icr_write = numachip1_apic_icr_write;
196 x86_init.pci.arch_init = pci_numachip_init;
197 break; 196 break;
198 case 2: 197 case 2:
199 init_extra_mapping_uc(NUMACHIP2_LCSR_BASE, NUMACHIP2_LCSR_SIZE); 198 init_extra_mapping_uc(NUMACHIP2_LCSR_BASE, NUMACHIP2_LCSR_SIZE);
200 numachip_apic_icr_write = numachip2_apic_icr_write; 199 numachip_apic_icr_write = numachip2_apic_icr_write;
201
202 /* Use MCFG config cycles rather than locked CF8 cycles */
203 raw_pci_ops = &pci_mmcfg;
204 break; 200 break;
205 default: 201 default:
206 return 0; 202 return 0;
207 } 203 }
208 204
209 x86_cpuinit.fixup_cpu_id = fixup_cpu_id; 205 x86_cpuinit.fixup_cpu_id = fixup_cpu_id;
206 x86_init.pci.arch_init = pci_numachip_init;
210 207
211 return 0; 208 return 0;
212} 209}