WSL2-Linux-Kernel/arch/x86/kernel
Matthew Wilcox 9585ca02f8 Use proper abstractions in quirk_intel_irqbalance
Since we may not have a pci_dev for the device we need to access, we can't
use pci_read_config_word.  But raw_pci_read is an internal implementation
detail; it's better to use the architected pci_bus_read_config_word
interface.  Using PCI_DEVFN instead of a mysterious constant helps
reassure everyone that we really do intend to access device 8.

[ Thanks to Grant Grundler for pointing out to me that this is exactly
  what the write immediately above this is doing -- enabling device 8 to
  respond to config space cycles.
					- Matthew

  Grant also says:

	"Can you also add a comment which points at the Intel
	 documentation?

	 The 'Intel E7320 Memory Controller Hub (MCH) Datasheet' at

	  http://download.intel.com/design/chipsets/datashts/30300702.pdf

	 Page 69 documents register F4h (DEVPRES1).

	 And I just doubled checked that the 0xf4 register value is
	 restored later in the quirk (obvious when you look at the code
	 but not from the patch"

  so here it is.
					 - Linus ]

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Acked-by: Grant Grundler <grundler@parisc-linux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-11 08:15:03 -08:00
..
acpi Merge branches 'release' and 'fluff' into release 2008-02-07 03:38:22 -05:00
cpu x86: sparse warning in therm_throt.c 2008-02-09 23:24:08 +01:00
.gitignore .gitignore update for x86 arch 2007-10-17 21:19:04 +02:00
Makefile x86 PM: move 64-bit hibernation files to arch/x86/power 2008-02-09 23:24:09 +01:00
alternative.c x86: fix up alternatives with lockdep enabled 2008-01-30 13:33:24 +01:00
aperture_64.c x86: change aper valid checking sequence 2008-01-30 13:33:39 +01:00
apic_32.c x86: don't disable the APIC if it hasn't been mapped yet 2008-01-30 13:33:17 +01:00
apic_64.c x86: change bios_cpu_apicid to percpu data variable fixup 2008-01-30 13:33:21 +01:00
apm_32.c x86: isolate PIC/PIT in/out calls 2008-01-30 13:33:14 +01:00
asm-offsets.c
asm-offsets_32.c x86: unify struct desc_ptr 2008-01-30 13:31:12 +01:00
asm-offsets_64.c x86: add asm_offset PARAVIRT constants 2008-01-30 13:33:19 +01:00
audit_64.c
bootflag.c x86: coding style cleanup for kernel/bootflag.c 2008-01-30 13:32:31 +01:00
bugs_64.c x86, 32-bit: trim memory not covered by wb mtrrs 2008-01-30 13:33:18 +01:00
cpuid.c x86: cpuid, msr: use inode mutex instead of big kernel lock 2008-02-04 16:47:59 +01:00
crash.c x86: disable hpet legacy replacement for kdump 2007-12-03 17:17:10 +01:00
crash_dump_32.c kmap leak fix for x86_32 kdump 2007-10-19 11:53:33 -07:00
crash_dump_64.c
doublefault_32.c x86: unify tss_struct 2008-01-30 13:31:31 +01:00
ds.c x86: fix small sparse warning 2008-01-31 22:05:47 +01:00
e820_32.c x86_32: trim memory by updating e820 2008-01-30 13:33:32 +01:00
e820_64.c x86_64: make bootmap_start page align v6 2008-02-01 17:49:41 +01:00
early-quirks.c x86: fix section mismatch warning in early-quirks.c 2008-01-30 13:33:37 +01:00
early_printk.c x86: make early_console static in early_printk.c 2008-02-01 17:49:42 +01:00
efi.c x86: fix EFI mapping 2008-02-04 16:48:06 +01:00
efi_32.c x86: fixes some bugs about EFI memory map handling 2008-01-30 13:34:10 +01:00
efi_64.c x86: fix EFI mapping 2008-02-04 16:48:06 +01:00
efi_stub_32.S
efi_stub_64.S x86: EFI runtime service support 2008-01-30 13:31:19 +01:00
entry_32.S x86: fixup more paravirt fallout 2008-02-09 23:24:08 +01:00
entry_64.S x86: fixup more paravirt fallout 2008-02-09 23:24:08 +01:00
genapic_64.c x86: cleanup x86_cpu_to_apicid references 2008-01-30 13:33:11 +01:00
genapic_flat_64.c x86: convert cpu_to_apicid to be a per cpu variable 2007-10-19 20:35:03 +02:00
geode_32.c x86: GEODE: MFGPT: Use "just-in-time" detection for the MFGPT timers 2008-02-09 23:24:08 +01:00
head64.c x86_64: add debug name for early_res 2008-02-01 17:49:41 +01:00
head_32.S x86: construct 32-bit boot time page tables in native format. 2008-02-09 23:24:09 +01:00
head_64.S x86: fix 64-bit sections 2008-02-06 22:39:45 +01:00
hpet.c rtc: use the IRQ callback interface in (old) RTC driver 2008-01-30 13:33:31 +01:00
i386_ksyms_32.c x86: unexport __{read,write}_lock_failed 2008-01-30 13:30:29 +01:00
i387.c x86: x86 user_regset cleanup 2008-01-30 13:31:55 +01:00
i8237.c Driver core: change sysdev classes to use dynamic kobject names 2008-01-24 20:40:40 -08:00
i8253.c x86: isolate PIC/PIT in/out calls 2008-01-30 13:33:14 +01:00
i8259_32.c x86: isolate PIC/PIT in/out calls 2008-01-30 13:33:14 +01:00
i8259_64.c x86: provide a native_init_IRQ function on 64-bit 2008-01-30 13:33:19 +01:00
init_task.c x86: nuke a ton of unused exports 2008-01-30 13:30:28 +01:00
io_apic_32.c arch/x86/kernel/io_apic_{64,32}.c: use time_before 2008-01-30 13:32:19 +01:00
io_apic_64.c arch/x86/kernel/io_apic_{64,32}.c: use time_before 2008-01-30 13:32:19 +01:00
io_delay.c x86: add DMI quirk for io-delay hangs on Compaq Presario V6000 laptops 2008-01-30 13:30:05 +01:00
ioport.c x86: refactor ioport unification 2008-01-30 13:33:10 +01:00
irq_32.c x86: remove all definitions with fastcall 2008-01-30 13:31:17 +01:00
irq_64.c x86: rename the struct pt_regs members for 32/64-bit consistency 2008-01-30 13:30:56 +01:00
k8.c
kdebugfs.c x86 boot : export boot_params via debugfs for debugging 2008-01-30 13:32:51 +01:00
kprobes.c x86: remove unneded casts 2008-01-30 13:33:23 +01:00
ldt.c x86: cleanup - eliminate numbers in LDT allocation code 2008-02-04 16:48:03 +01:00
machine_kexec_32.c vmcoreinfo: fix the configuration dependencies 2008-02-07 08:42:25 -08:00
machine_kexec_64.c vmcoreinfo: fix the configuration dependencies 2008-02-07 08:42:25 -08:00
mca_32.c
mfgpt_32.c x86: GEODE: MFGPT: fix typo in printk in mfgpt_timer_setup 2008-02-09 23:24:08 +01:00
microcode.c x86: fix section mismatch warnings when referencing notifiers 2008-02-01 17:49:42 +01:00
module_32.c
module_64.c
mpparse_32.c Introduce flags for reserve_bootmem() 2008-02-07 08:42:25 -08:00
mpparse_64.c x86: fix section mismatch warning in acpi/boot.c 2008-01-30 13:33:37 +01:00
msr.c x86: cpuid, msr: use inode mutex instead of big kernel lock 2008-02-04 16:47:59 +01:00
nmi_32.c x86: clean up nmi_32/64.c 2008-01-30 13:30:33 +01:00
nmi_64.c x86: clean up nmi_32/64.c 2008-01-30 13:30:33 +01:00
numaq_32.c x86: convert TSC disabling to generic cpuid disable bitmap 2008-01-30 13:33:20 +01:00
paravirt.c x86: fill in missing pv_mmu_ops entries for PAGETABLE_LEVELS >= 3 2008-01-30 13:33:20 +01:00
paravirt_patch_32.c x86: move patching code to arch-specific file. 2008-01-30 13:32:10 +01:00
paravirt_patch_64.c x86: add stringify header 2008-01-30 13:33:19 +01:00
pci-calgary_64.c iommu sg: x86: convert calgary IOMMU to use the IOMMU helper 2008-02-05 09:44:11 -08:00
pci-dma_32.c i386: Clean up duplicate includes in arch/i386/kernel/ 2007-10-17 20:15:51 +02:00
pci-dma_64.c x86: pci-dma_64.c: cleanups 2008-01-30 13:30:31 +01:00
pci-gart_64.c iommu sg: x86: convert gart IOMMU to use the IOMMU helper 2008-02-05 09:44:11 -08:00
pci-nommu_64.c x86 gart: rename iommu.h to gart.h 2007-10-30 00:22:22 +01:00
pci-swiotlb_64.c x86: nuke a ton of unused exports 2008-01-30 13:30:28 +01:00
pcspeaker.c
pmtimer_64.c x86: move pmtmr related declarations 2008-01-30 13:30:18 +01:00
process_32.c aout: remove unnecessary inclusions of {asm, linux}/a.out.h 2008-02-08 09:22:30 -08:00
process_64.c aout: remove unnecessary inclusions of {asm, linux}/a.out.h 2008-02-08 09:22:30 -08:00
ptrace.c x86 ptrace: disallow null cs/ss 2008-02-06 22:39:44 +01:00
quirks.c Use proper abstractions in quirk_intel_irqbalance 2008-02-11 08:15:03 -08:00
reboot.c x86: reboot: remove inb_p usage 2008-01-30 13:33:25 +01:00
reboot_fixups_32.c x86: add the RDC machine specific reboot fixup 2008-01-30 13:33:36 +01:00
relocate_kernel_32.S
relocate_kernel_64.S
rtc.c x86: fix sched_clock() 2008-01-30 13:32:40 +01:00
scx200_32.c x86: fix sparse warning in kernel/scx200_32.c 2008-01-31 22:05:45 +01:00
setup64.c x86: export __supported_pte_mask 2008-01-30 13:33:24 +01:00
setup_32.c x86: construct 32-bit boot time page tables in native format. 2008-02-09 23:24:09 +01:00
setup_64.c aout: remove unnecessary inclusions of {asm, linux}/a.out.h 2008-02-08 09:22:30 -08:00
sigframe_32.h
signal_32.c x86: remove unneded casts 2008-01-30 13:33:23 +01:00
signal_64.c x86: print which shared library/executable faulted in segfault etc. messages v3 2008-01-30 13:33:18 +01:00
smp_32.c x86: voluntary leave_mm before entering ACPI C3 2008-01-30 13:32:01 +01:00
smp_64.c x86: voluntary leave_mm before entering ACPI C3 2008-01-30 13:32:01 +01:00
smpboot_32.c calibrate_delay() must be __cpuinit 2008-02-06 10:41:08 -08:00
smpboot_64.c x86: silence section mismatch warning in smpboot_64.c 2008-02-01 17:49:41 +01:00
smpcommon_32.c x86: change write_gdt_entry signature. 2008-01-30 13:31:13 +01:00
srat_32.c Merge branches 'release', 'bugzilla-6217', 'bugzilla-6629', 'bugzilla-6933', 'bugzilla-7186', 'bugzilla-8269', 'bugzilla-8570', 'bugzilla-9139', 'bugzilla-9277', 'bugzilla-9341', 'bugzilla-9444', 'bugzilla-9614', 'bugzilla-9643' and 'bugzilla-9644' into release 2008-02-07 03:09:43 -05:00
stacktrace.c x86: remove unneded casts 2008-01-30 13:33:23 +01:00
step.c x86: remove last user of get_segment_eip 2008-01-30 13:33:12 +01:00
summit_32.c spelling fixes: arch/i386/ 2007-10-20 01:13:56 +02:00
sys_i386_32.c remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
sys_x86_64.c x86: PIE executable randomization, checkpatch fixes 2008-01-30 13:31:07 +01:00
syscall_64.c
syscall_table_32.S timerfd: wire the new timerfd API to the x86 family 2008-02-05 09:44:07 -08:00
tce_64.c x86: Create clflush() inline, remove hardcoded wbinvd 2007-10-17 20:16:12 +02:00
test_nx.c x86: mark the .rodata section also NX 2008-02-06 22:39:45 +01:00
test_rodata.c x86: add testcases for RODATA and NX protections/attributes 2008-01-30 13:34:08 +01:00
time_32.c x86: rename the struct pt_regs members for 32/64-bit consistency 2008-01-30 13:30:56 +01:00
time_64.c time: fix typo in comments 2008-02-08 09:22:29 -08:00
tls.c x86: x86 user_regset TLS 2008-01-30 13:31:52 +01:00
tls.h x86: x86 user_regset TLS 2008-01-30 13:31:52 +01:00
topology.c x86: fix sparse warning in topology.c 2008-02-09 23:24:08 +01:00
trampoline_32.S x86: remove misleading comments in trampoline_*.S 2008-02-04 16:48:01 +01:00
trampoline_64.S x86: remove misleading comments in trampoline_*.S 2008-02-04 16:48:01 +01:00
traps_32.c x86: fix sparse error in traps_32.c 2008-02-06 22:39:44 +01:00
traps_64.c x86: use KSYM_NAME_LEN 2008-01-30 13:33:33 +01:00
tsc_32.c x86: convert TSC disabling to generic cpuid disable bitmap 2008-01-30 13:33:20 +01:00
tsc_64.c x86: export check_tsc_unstable 2008-01-30 13:33:24 +01:00
tsc_sync.c x86: add warning to check_tsc_warp() 2008-01-30 13:33:24 +01:00
verify_cpu_64.S
vm86_32.c arch/x86/: spelling fixes 2008-01-30 13:31:42 +01:00
vmi_32.c x86: VMI fix 2008-02-04 16:47:54 +01:00
vmiclock_32.c x86: isolate PIC/PIT in/out calls 2008-01-30 13:33:14 +01:00
vmlinux.lds.S
vmlinux_32.lds.S x86: make arch/x86/kernel/acpi/wakeup_32.S use a separate 2008-01-30 13:32:50 +01:00
vmlinux_64.lds.S x86: provide __parainstructions section 2008-01-30 13:33:19 +01:00
vsmp_64.c x86: clean up arch/x86/kernel/vsmp_64.c 2008-01-30 13:30:24 +01:00
vsyscall_64.c x86: map vsyscalls early enough 2008-01-30 13:32:39 +01:00
x8664_ksyms_64.c x86: export cpu_gdt_descr 2008-01-30 13:31:10 +01:00