tree: https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git lto head: da374a5330c824401ab9ba8c91578509192d876a commit: 6edf35469fb63b6ab3d6b9c45a0734c737a22dbf [11/22] pci: lto: fix PREL32 relocations config: x86_64-allnoconfig (attached as .config) compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 8911a35180c6777188fefe0954a2451a2b91deaf) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install x86_64 cross compiling tool for clang build # apt-get install binutils-x86-64-linux-gnu git checkout 6edf35469fb63b6ab3d6b9c45a0734c737a22dbf # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): ^ include/linux/compiler_types.h:54:22: note: expanded from macro '__PASTE' #define __PASTE(a,b) ___PASTE(a,b) ^ include/linux/compiler_types.h:53:23: note: expanded from macro '___PASTE' #define ___PASTE(a,b) a##b ^ <scratch space>:54:1: note: expanded from here __UNIQUE_ID_vt8237_force_enable_hpet225 ^ arch/x86/kernel/quirks.c:343:1: note: declare 'static' if the function is not intended to be used outside of this translation unit DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8235, ^ static include/linux/pci.h:1976:2: note: expanded from macro 'DECLARE_PCI_FIXUP_HEADER' DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ ^ include/linux/pci.h:1928:2: note: expanded from macro 'DECLARE_PCI_FIXUP_SECTION' __DECLARE_PCI_FIXUP_SECTION(sec, name, vendor, device, class, \ ^ include/linux/pci.h:1924:2: note: expanded from macro '__DECLARE_PCI_FIXUP_SECTION' ___DECLARE_PCI_FIXUP_SECTION(sec, name, vendor, device, class, \ ^ include/linux/pci.h:1914:2: note: expanded from macro '___DECLARE_PCI_FIXUP_SECTION' void stub(struct pci_dev *dev) { hook(dev); } \ ^ arch/x86/kernel/quirks.c:345:1: warning: no previous prototype for function '__UNIQUE_ID_vt8237_force_enable_hpet226' [-Wmissing-prototypes] DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8237, ^ include/linux/pci.h:1976:2: note: expanded from macro 'DECLARE_PCI_FIXUP_HEADER' DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ ^ include/linux/pci.h:1929:26: note: expanded from macro 'DECLARE_PCI_FIXUP_SECTION' class_shift, hook, __UNIQUE_ID(hook)) ^ include/linux/compiler-clang.h:13:29: note: expanded from macro '__UNIQUE_ID' #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) ^ include/linux/compiler_types.h:54:22: note: expanded from macro '__PASTE' #define __PASTE(a,b) ___PASTE(a,b) ^ include/linux/compiler_types.h:53:23: note: expanded from macro '___PASTE' #define ___PASTE(a,b) a##b ^ <scratch space>:63:1: note: expanded from here __UNIQUE_ID_vt8237_force_enable_hpet226 ^ arch/x86/kernel/quirks.c:345:1: note: declare 'static' if the function is not intended to be used outside of this translation unit DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8237, ^ static include/linux/pci.h:1976:2: note: expanded from macro 'DECLARE_PCI_FIXUP_HEADER' DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ ^ include/linux/pci.h:1928:2: note: expanded from macro 'DECLARE_PCI_FIXUP_SECTION' __DECLARE_PCI_FIXUP_SECTION(sec, name, vendor, device, class, \ ^ include/linux/pci.h:1924:2: note: expanded from macro '__DECLARE_PCI_FIXUP_SECTION' ___DECLARE_PCI_FIXUP_SECTION(sec, name, vendor, device, class, \ ^ include/linux/pci.h:1914:2: note: expanded from macro '___DECLARE_PCI_FIXUP_SECTION' void stub(struct pci_dev *dev) { hook(dev); } \ ^ arch/x86/kernel/quirks.c:347:1: warning: no previous prototype for function '__UNIQUE_ID_vt8237_force_enable_hpet227' [-Wmissing-prototypes] DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_CX700, ^ include/linux/pci.h:1976:2: note: expanded from macro 'DECLARE_PCI_FIXUP_HEADER' DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ ^ include/linux/pci.h:1929:26: note: expanded from macro 'DECLARE_PCI_FIXUP_SECTION' class_shift, hook, __UNIQUE_ID(hook)) ^ include/linux/compiler-clang.h:13:29: note: expanded from macro '__UNIQUE_ID' #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) ^ include/linux/compiler_types.h:54:22: note: expanded from macro '__PASTE' #define __PASTE(a,b) ___PASTE(a,b) ^ include/linux/compiler_types.h:53:23: note: expanded from macro '___PASTE' #define ___PASTE(a,b) a##b ^ <scratch space>:72:1: note: expanded from here __UNIQUE_ID_vt8237_force_enable_hpet227 ^ arch/x86/kernel/quirks.c:347:1: note: declare 'static' if the function is not intended to be used outside of this translation unit DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_CX700, ^ static include/linux/pci.h:1976:2: note: expanded from macro 'DECLARE_PCI_FIXUP_HEADER' DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ ^ include/linux/pci.h:1928:2: note: expanded from macro 'DECLARE_PCI_FIXUP_SECTION' __DECLARE_PCI_FIXUP_SECTION(sec, name, vendor, device, class, \ ^ include/linux/pci.h:1924:2: note: expanded from macro '__DECLARE_PCI_FIXUP_SECTION' ___DECLARE_PCI_FIXUP_SECTION(sec, name, vendor, device, class, \ ^ include/linux/pci.h:1914:2: note: expanded from macro '___DECLARE_PCI_FIXUP_SECTION' void stub(struct pci_dev *dev) { hook(dev); } \ ^ >> arch/x86/kernel/quirks.c:418:1: warning: no previous prototype for function '__UNIQUE_ID_ati_force_enable_hpet228' [-Wmissing-prototypes] DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP400_SMBUS, ^ include/linux/pci.h:1976:2: note: expanded from macro 'DECLARE_PCI_FIXUP_HEADER' DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ ^ include/linux/pci.h:1929:26: note: expanded from macro 'DECLARE_PCI_FIXUP_SECTION' class_shift, hook, __UNIQUE_ID(hook)) ^ include/linux/compiler-clang.h:13:29: note: expanded from macro '__UNIQUE_ID' #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) ^ include/linux/compiler_types.h:54:22: note: expanded from macro '__PASTE' #define __PASTE(a,b) ___PASTE(a,b) ^ include/linux/compiler_types.h:53:23: note: expanded from macro '___PASTE' #define ___PASTE(a,b) a##b ^ <scratch space>:81:1: note: expanded from here __UNIQUE_ID_ati_force_enable_hpet228 ^ arch/x86/kernel/quirks.c:418:1: note: declare 'static' if the function is not intended to be used outside of this translation unit DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP400_SMBUS, ^ static include/linux/pci.h:1976:2: note: expanded from macro 'DECLARE_PCI_FIXUP_HEADER' DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ ^ include/linux/pci.h:1928:2: note: expanded from macro 'DECLARE_PCI_FIXUP_SECTION' __DECLARE_PCI_FIXUP_SECTION(sec, name, vendor, device, class, \ ^ include/linux/pci.h:1924:2: note: expanded from macro '__DECLARE_PCI_FIXUP_SECTION' ___DECLARE_PCI_FIXUP_SECTION(sec, name, vendor, device, class, \ ^ include/linux/pci.h:1914:2: note: expanded from macro '___DECLARE_PCI_FIXUP_SECTION' void stub(struct pci_dev *dev) { hook(dev); } \ ^ arch/x86/kernel/quirks.c:452:1: warning: no previous prototype for function '__UNIQUE_ID_nvidia_force_enable_hpet229' [-Wmissing-prototypes] DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0050, ^ include/linux/pci.h:1976:2: note: expanded from macro 'DECLARE_PCI_FIXUP_HEADER' DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ ^ include/linux/pci.h:1929:26: note: expanded from macro 'DECLARE_PCI_FIXUP_SECTION' class_shift, hook, __UNIQUE_ID(hook)) ^ include/linux/compiler-clang.h:13:29: note: expanded from macro '__UNIQUE_ID' #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) ^ include/linux/compiler_types.h:54:22: note: expanded from macro '__PASTE' #define __PASTE(a,b) ___PASTE(a,b) ^ include/linux/compiler_types.h:53:23: note: expanded from macro '___PASTE' #define ___PASTE(a,b) a##b ^ <scratch space>:90:1: note: expanded from here __UNIQUE_ID_nvidia_force_enable_hpet229 ^ arch/x86/kernel/quirks.c:452:1: note: declare 'static' if the function is not intended to be used outside of this translation unit DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0050, ^ static include/linux/pci.h:1976:2: note: expanded from macro 'DECLARE_PCI_FIXUP_HEADER' DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ ^ include/linux/pci.h:1928:2: note: expanded from macro 'DECLARE_PCI_FIXUP_SECTION' __DECLARE_PCI_FIXUP_SECTION(sec, name, vendor, device, class, \ ^ include/linux/pci.h:1924:2: note: expanded from macro '__DECLARE_PCI_FIXUP_SECTION' ___DECLARE_PCI_FIXUP_SECTION(sec, name, vendor, device, class, \ ^ include/linux/pci.h:1914:2: note: expanded from macro '___DECLARE_PCI_FIXUP_SECTION' void stub(struct pci_dev *dev) { hook(dev); } \ ^ arch/x86/kernel/quirks.c:454:1: warning: no previous prototype for function '__UNIQUE_ID_nvidia_force_enable_hpet230' [-Wmissing-prototypes] DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0051, ^ include/linux/pci.h:1976:2: note: expanded from macro 'DECLARE_PCI_FIXUP_HEADER' DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ ^ include/linux/pci.h:1929:26: note: expanded from macro 'DECLARE_PCI_FIXUP_SECTION' class_shift, hook, __UNIQUE_ID(hook)) ^ include/linux/compiler-clang.h:13:29: note: expanded from macro '__UNIQUE_ID' #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) ^ include/linux/compiler_types.h:54:22: note: expanded from macro '__PASTE' #define __PASTE(a,b) ___PASTE(a,b) ^ include/linux/compiler_types.h:53:23: note: expanded from macro '___PASTE' #define ___PASTE(a,b) a##b ^ <scratch space>:99:1: note: expanded from here __UNIQUE_ID_nvidia_force_enable_hpet230 ^ arch/x86/kernel/quirks.c:454:1: note: declare 'static' if the function is not intended to be used outside of this translation unit DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0051, ^ static include/linux/pci.h:1976:2: note: expanded from macro 'DECLARE_PCI_FIXUP_HEADER' DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ -- ^ include/linux/compiler_types.h:54:22: note: expanded from macro '__PASTE' #define __PASTE(a,b) ___PASTE(a,b) ^ include/linux/compiler_types.h:53:23: note: expanded from macro '___PASTE' #define ___PASTE(a,b) a##b ^ <scratch space>:162:1: note: expanded from here __UNIQUE_ID_nvidia_force_enable_hpet237 ^ arch/x86/kernel/quirks.c:470:1: note: declare 'static' if the function is not intended to be used outside of this translation unit DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0365, ^ static include/linux/pci.h:1976:2: note: expanded from macro 'DECLARE_PCI_FIXUP_HEADER' DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ ^ include/linux/pci.h:1928:2: note: expanded from macro 'DECLARE_PCI_FIXUP_SECTION' __DECLARE_PCI_FIXUP_SECTION(sec, name, vendor, device, class, \ ^ include/linux/pci.h:1924:2: note: expanded from macro '__DECLARE_PCI_FIXUP_SECTION' ___DECLARE_PCI_FIXUP_SECTION(sec, name, vendor, device, class, \ ^ include/linux/pci.h:1914:2: note: expanded from macro '___DECLARE_PCI_FIXUP_SECTION' void stub(struct pci_dev *dev) { hook(dev); } \ ^ arch/x86/kernel/quirks.c:472:1: warning: no previous prototype for function '__UNIQUE_ID_nvidia_force_enable_hpet238' [-Wmissing-prototypes] DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0366, ^ include/linux/pci.h:1976:2: note: expanded from macro 'DECLARE_PCI_FIXUP_HEADER' DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ ^ include/linux/pci.h:1929:26: note: expanded from macro 'DECLARE_PCI_FIXUP_SECTION' class_shift, hook, __UNIQUE_ID(hook)) ^ include/linux/compiler-clang.h:13:29: note: expanded from macro '__UNIQUE_ID' #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) ^ include/linux/compiler_types.h:54:22: note: expanded from macro '__PASTE' #define __PASTE(a,b) ___PASTE(a,b) ^ include/linux/compiler_types.h:53:23: note: expanded from macro '___PASTE' #define ___PASTE(a,b) a##b ^ <scratch space>:171:1: note: expanded from here __UNIQUE_ID_nvidia_force_enable_hpet238 ^ arch/x86/kernel/quirks.c:472:1: note: declare 'static' if the function is not intended to be used outside of this translation unit DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0366, ^ static include/linux/pci.h:1976:2: note: expanded from macro 'DECLARE_PCI_FIXUP_HEADER' DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ ^ include/linux/pci.h:1928:2: note: expanded from macro 'DECLARE_PCI_FIXUP_SECTION' __DECLARE_PCI_FIXUP_SECTION(sec, name, vendor, device, class, \ ^ include/linux/pci.h:1924:2: note: expanded from macro '__DECLARE_PCI_FIXUP_SECTION' ___DECLARE_PCI_FIXUP_SECTION(sec, name, vendor, device, class, \ ^ include/linux/pci.h:1914:2: note: expanded from macro '___DECLARE_PCI_FIXUP_SECTION' void stub(struct pci_dev *dev) { hook(dev); } \ ^ arch/x86/kernel/quirks.c:474:1: warning: no previous prototype for function '__UNIQUE_ID_nvidia_force_enable_hpet239' [-Wmissing-prototypes] DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0367, ^ include/linux/pci.h:1976:2: note: expanded from macro 'DECLARE_PCI_FIXUP_HEADER' DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ ^ include/linux/pci.h:1929:26: note: expanded from macro 'DECLARE_PCI_FIXUP_SECTION' class_shift, hook, __UNIQUE_ID(hook)) ^ include/linux/compiler-clang.h:13:29: note: expanded from macro '__UNIQUE_ID' #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) ^ include/linux/compiler_types.h:54:22: note: expanded from macro '__PASTE' #define __PASTE(a,b) ___PASTE(a,b) ^ include/linux/compiler_types.h:53:23: note: expanded from macro '___PASTE' #define ___PASTE(a,b) a##b ^ <scratch space>:180:1: note: expanded from here __UNIQUE_ID_nvidia_force_enable_hpet239 ^ arch/x86/kernel/quirks.c:474:1: note: declare 'static' if the function is not intended to be used outside of this translation unit DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0367, ^ static include/linux/pci.h:1976:2: note: expanded from macro 'DECLARE_PCI_FIXUP_HEADER' DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ ^ include/linux/pci.h:1928:2: note: expanded from macro 'DECLARE_PCI_FIXUP_SECTION' __DECLARE_PCI_FIXUP_SECTION(sec, name, vendor, device, class, \ ^ include/linux/pci.h:1924:2: note: expanded from macro '__DECLARE_PCI_FIXUP_SECTION' ___DECLARE_PCI_FIXUP_SECTION(sec, name, vendor, device, class, \ ^ include/linux/pci.h:1914:2: note: expanded from macro '___DECLARE_PCI_FIXUP_SECTION' void stub(struct pci_dev *dev) { hook(dev); } \ ^ >> arch/x86/kernel/quirks.c:514:1: warning: no previous prototype for function '__UNIQUE_ID_e6xx_force_enable_hpet240' [-Wmissing-prototypes] DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_E6XX_CU, ^ include/linux/pci.h:1976:2: note: expanded from macro 'DECLARE_PCI_FIXUP_HEADER' DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ ^ include/linux/pci.h:1929:26: note: expanded from macro 'DECLARE_PCI_FIXUP_SECTION' class_shift, hook, __UNIQUE_ID(hook)) ^ include/linux/compiler-clang.h:13:29: note: expanded from macro '__UNIQUE_ID' #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) ^ include/linux/compiler_types.h:54:22: note: expanded from macro '__PASTE' #define __PASTE(a,b) ___PASTE(a,b) ^ include/linux/compiler_types.h:53:23: note: expanded from macro '___PASTE' #define ___PASTE(a,b) a##b ^ <scratch space>:189:1: note: expanded from here __UNIQUE_ID_e6xx_force_enable_hpet240 ^ arch/x86/kernel/quirks.c:514:1: note: declare 'static' if the function is not intended to be used outside of this translation unit DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_E6XX_CU, ^ static include/linux/pci.h:1976:2: note: expanded from macro 'DECLARE_PCI_FIXUP_HEADER' DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ ^ include/linux/pci.h:1928:2: note: expanded from macro 'DECLARE_PCI_FIXUP_SECTION' __DECLARE_PCI_FIXUP_SECTION(sec, name, vendor, device, class, \ ^ include/linux/pci.h:1924:2: note: expanded from macro '__DECLARE_PCI_FIXUP_SECTION' ___DECLARE_PCI_FIXUP_SECTION(sec, name, vendor, device, class, \ ^ include/linux/pci.h:1914:2: note: expanded from macro '___DECLARE_PCI_FIXUP_SECTION' void stub(struct pci_dev *dev) { hook(dev); } \ ^ >> arch/x86/kernel/quirks.c:529:1: warning: no previous prototype for function '__UNIQUE_ID_force_disable_hpet_msi241' [-Wmissing-prototypes] DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_SBX00_SMBUS, ^ include/linux/pci.h:1976:2: note: expanded from macro 'DECLARE_PCI_FIXUP_HEADER' DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ ^ include/linux/pci.h:1929:26: note: expanded from macro 'DECLARE_PCI_FIXUP_SECTION' class_shift, hook, __UNIQUE_ID(hook)) ^ include/linux/compiler-clang.h:13:29: note: expanded from macro '__UNIQUE_ID' #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) ^ include/linux/compiler_types.h:54:22: note: expanded from macro '__PASTE' #define __PASTE(a,b) ___PASTE(a,b) ^ include/linux/compiler_types.h:53:23: note: expanded from macro '___PASTE' #define ___PASTE(a,b) a##b ^ <scratch space>:198:1: note: expanded from here __UNIQUE_ID_force_disable_hpet_msi241 ^ arch/x86/kernel/quirks.c:529:1: note: declare 'static' if the function is not intended to be used outside of this translation unit DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_SBX00_SMBUS, ^ static include/linux/pci.h:1976:2: note: expanded from macro 'DECLARE_PCI_FIXUP_HEADER' DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ ^ include/linux/pci.h:1928:2: note: expanded from macro 'DECLARE_PCI_FIXUP_SECTION' __DECLARE_PCI_FIXUP_SECTION(sec, name, vendor, device, class, \ ^ include/linux/pci.h:1924:2: note: expanded from macro '__DECLARE_PCI_FIXUP_SECTION' ___DECLARE_PCI_FIXUP_SECTION(sec, name, vendor, device, class, \ ^ include/linux/pci.h:1914:2: note: expanded from macro '___DECLARE_PCI_FIXUP_SECTION' void stub(struct pci_dev *dev) { hook(dev); } \ ^ 34 warnings generated. vim +/__UNIQUE_ID_ati_force_enable_hpet228 +418 arch/x86/kernel/quirks.c e7250b8ae3870f Andreas Herrmann 2008-09-05 376 e8aa4667baf74d Andreas Herrmann 2008-05-09 377 static void ati_force_enable_hpet(struct pci_dev *dev) e8aa4667baf74d Andreas Herrmann 2008-05-09 378 { e7250b8ae3870f Andreas Herrmann 2008-09-05 379 u32 d, val; e7250b8ae3870f Andreas Herrmann 2008-09-05 380 u8 b; e8aa4667baf74d Andreas Herrmann 2008-05-09 381 7c4728f4a86506 Thomas Gleixner 2008-05-10 382 if (hpet_address || force_hpet_address) 7c4728f4a86506 Thomas Gleixner 2008-05-10 383 return; 7c4728f4a86506 Thomas Gleixner 2008-05-10 384 7c4728f4a86506 Thomas Gleixner 2008-05-10 385 if (!hpet_force_user) { 7c4728f4a86506 Thomas Gleixner 2008-05-10 386 hpet_print_force_info(); e8aa4667baf74d Andreas Herrmann 2008-05-09 387 return; 7c4728f4a86506 Thomas Gleixner 2008-05-10 388 } e8aa4667baf74d Andreas Herrmann 2008-05-09 389 e7250b8ae3870f Andreas Herrmann 2008-09-05 390 d = ati_ixp4x0_rev(dev); e7250b8ae3870f Andreas Herrmann 2008-09-05 391 if (d < 0x82) e7250b8ae3870f Andreas Herrmann 2008-09-05 392 return; e7250b8ae3870f Andreas Herrmann 2008-09-05 393 e7250b8ae3870f Andreas Herrmann 2008-09-05 394 /* base address */ e8aa4667baf74d Andreas Herrmann 2008-05-09 395 pci_write_config_dword(dev, 0x14, 0xfed00000); e8aa4667baf74d Andreas Herrmann 2008-05-09 396 pci_read_config_dword(dev, 0x14, &val); e7250b8ae3870f Andreas Herrmann 2008-09-05 397 e7250b8ae3870f Andreas Herrmann 2008-09-05 398 /* enable interrupt */ e7250b8ae3870f Andreas Herrmann 2008-09-05 399 outb(0x72, 0xcd6); b = inb(0xcd7); e7250b8ae3870f Andreas Herrmann 2008-09-05 400 b |= 0x1; e7250b8ae3870f Andreas Herrmann 2008-09-05 401 outb(0x72, 0xcd6); outb(b, 0xcd7); e7250b8ae3870f Andreas Herrmann 2008-09-05 402 outb(0x72, 0xcd6); b = inb(0xcd7); e7250b8ae3870f Andreas Herrmann 2008-09-05 403 if (!(b & 0x1)) e7250b8ae3870f Andreas Herrmann 2008-09-05 404 return; e7250b8ae3870f Andreas Herrmann 2008-09-05 405 pci_read_config_dword(dev, 0x64, &d); e7250b8ae3870f Andreas Herrmann 2008-09-05 406 d |= (1<<10); e7250b8ae3870f Andreas Herrmann 2008-09-05 407 pci_write_config_dword(dev, 0x64, d); e7250b8ae3870f Andreas Herrmann 2008-09-05 408 pci_read_config_dword(dev, 0x64, &d); e7250b8ae3870f Andreas Herrmann 2008-09-05 409 if (!(d & (1<<10))) e7250b8ae3870f Andreas Herrmann 2008-09-05 410 return; e7250b8ae3870f Andreas Herrmann 2008-09-05 411 e8aa4667baf74d Andreas Herrmann 2008-05-09 412 force_hpet_address = val; e8aa4667baf74d Andreas Herrmann 2008-05-09 413 force_hpet_resume_type = ATI_FORCE_HPET_RESUME; e8aa4667baf74d Andreas Herrmann 2008-05-09 414 dev_printk(KERN_DEBUG, &dev->dev, "Force enabled HPET at 0x%lx\n", e8aa4667baf74d Andreas Herrmann 2008-05-09 415 force_hpet_address); e8aa4667baf74d Andreas Herrmann 2008-05-09 416 cached_dev = dev; e8aa4667baf74d Andreas Herrmann 2008-05-09 417 } e8aa4667baf74d Andreas Herrmann 2008-05-09 @418 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP400_SMBUS, e8aa4667baf74d Andreas Herrmann 2008-05-09 419 ati_force_enable_hpet); e8aa4667baf74d Andreas Herrmann 2008-05-09 420 d79a5f80dc1153 Carlos Corbacho 2007-10-19 421 /* d79a5f80dc1153 Carlos Corbacho 2007-10-19 422 * Undocumented chipset feature taken from LinuxBIOS. d79a5f80dc1153 Carlos Corbacho 2007-10-19 423 */ d79a5f80dc1153 Carlos Corbacho 2007-10-19 424 static void nvidia_force_hpet_resume(void) d79a5f80dc1153 Carlos Corbacho 2007-10-19 425 { d79a5f80dc1153 Carlos Corbacho 2007-10-19 426 pci_write_config_dword(cached_dev, 0x44, 0xfed00001); d79a5f80dc1153 Carlos Corbacho 2007-10-19 427 printk(KERN_DEBUG "Force enabled HPET at resume\n"); d79a5f80dc1153 Carlos Corbacho 2007-10-19 428 } d79a5f80dc1153 Carlos Corbacho 2007-10-19 429 d79a5f80dc1153 Carlos Corbacho 2007-10-19 430 static void nvidia_force_enable_hpet(struct pci_dev *dev) d79a5f80dc1153 Carlos Corbacho 2007-10-19 431 { d79a5f80dc1153 Carlos Corbacho 2007-10-19 432 u32 uninitialized_var(val); d79a5f80dc1153 Carlos Corbacho 2007-10-19 433 7c4728f4a86506 Thomas Gleixner 2008-05-10 434 if (hpet_address || force_hpet_address) 7c4728f4a86506 Thomas Gleixner 2008-05-10 435 return; 7c4728f4a86506 Thomas Gleixner 2008-05-10 436 7c4728f4a86506 Thomas Gleixner 2008-05-10 437 if (!hpet_force_user) { 7c4728f4a86506 Thomas Gleixner 2008-05-10 438 hpet_print_force_info(); d79a5f80dc1153 Carlos Corbacho 2007-10-19 439 return; 7c4728f4a86506 Thomas Gleixner 2008-05-10 440 } d79a5f80dc1153 Carlos Corbacho 2007-10-19 441 d79a5f80dc1153 Carlos Corbacho 2007-10-19 442 pci_write_config_dword(dev, 0x44, 0xfed00001); d79a5f80dc1153 Carlos Corbacho 2007-10-19 443 pci_read_config_dword(dev, 0x44, &val); d79a5f80dc1153 Carlos Corbacho 2007-10-19 444 force_hpet_address = val & 0xfffffffe; d79a5f80dc1153 Carlos Corbacho 2007-10-19 445 force_hpet_resume_type = NVIDIA_FORCE_HPET_RESUME; 9ed885541bc57a bjorn.helgaas@xxxxxx 2007-12-17 446 dev_printk(KERN_DEBUG, &dev->dev, "Force enabled HPET at 0x%lx\n", d79a5f80dc1153 Carlos Corbacho 2007-10-19 447 force_hpet_address); d79a5f80dc1153 Carlos Corbacho 2007-10-19 448 cached_dev = dev; d79a5f80dc1153 Carlos Corbacho 2007-10-19 449 } d79a5f80dc1153 Carlos Corbacho 2007-10-19 450 d79a5f80dc1153 Carlos Corbacho 2007-10-19 451 /* ISA Bridges */ d79a5f80dc1153 Carlos Corbacho 2007-10-19 452 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0050, d79a5f80dc1153 Carlos Corbacho 2007-10-19 453 nvidia_force_enable_hpet); d79a5f80dc1153 Carlos Corbacho 2007-10-19 454 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0051, d79a5f80dc1153 Carlos Corbacho 2007-10-19 455 nvidia_force_enable_hpet); b196884e2f5d45 Udo A. Steinberg 2007-10-19 456 1b82ba6e47c13e Carlos Corbacho 2007-10-19 457 /* LPC bridges */ 96bcf458cbc71f Zbigniew Luszpinski 2008-03-19 458 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0260, 96bcf458cbc71f Zbigniew Luszpinski 2008-03-19 459 nvidia_force_enable_hpet); 1b82ba6e47c13e Carlos Corbacho 2007-10-19 460 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0360, 1b82ba6e47c13e Carlos Corbacho 2007-10-19 461 nvidia_force_enable_hpet); 1b82ba6e47c13e Carlos Corbacho 2007-10-19 462 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0361, 1b82ba6e47c13e Carlos Corbacho 2007-10-19 463 nvidia_force_enable_hpet); 1b82ba6e47c13e Carlos Corbacho 2007-10-19 464 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0362, 1b82ba6e47c13e Carlos Corbacho 2007-10-19 465 nvidia_force_enable_hpet); 1b82ba6e47c13e Carlos Corbacho 2007-10-19 466 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0363, 1b82ba6e47c13e Carlos Corbacho 2007-10-19 467 nvidia_force_enable_hpet); 1b82ba6e47c13e Carlos Corbacho 2007-10-19 468 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0364, 1b82ba6e47c13e Carlos Corbacho 2007-10-19 469 nvidia_force_enable_hpet); 1b82ba6e47c13e Carlos Corbacho 2007-10-19 470 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0365, 1b82ba6e47c13e Carlos Corbacho 2007-10-19 471 nvidia_force_enable_hpet); 1b82ba6e47c13e Carlos Corbacho 2007-10-19 472 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0366, 1b82ba6e47c13e Carlos Corbacho 2007-10-19 473 nvidia_force_enable_hpet); 1b82ba6e47c13e Carlos Corbacho 2007-10-19 474 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, 0x0367, 1b82ba6e47c13e Carlos Corbacho 2007-10-19 475 nvidia_force_enable_hpet); 1b82ba6e47c13e Carlos Corbacho 2007-10-19 476 bfe0c1cc6456bb Venki Pallipadi 2007-10-12 477 void force_hpet_resume(void) bfe0c1cc6456bb Venki Pallipadi 2007-10-12 478 { bfe0c1cc6456bb Venki Pallipadi 2007-10-12 479 switch (force_hpet_resume_type) { bfe0c1cc6456bb Venki Pallipadi 2007-10-12 480 case ICH_FORCE_HPET_RESUME: 4a5a77d106d6b4 Harvey Harrison 2008-02-06 481 ich_force_hpet_resume(); 4a5a77d106d6b4 Harvey Harrison 2008-02-06 482 return; bfe0c1cc6456bb Venki Pallipadi 2007-10-12 483 case OLD_ICH_FORCE_HPET_RESUME: 4a5a77d106d6b4 Harvey Harrison 2008-02-06 484 old_ich_force_hpet_resume(); 4a5a77d106d6b4 Harvey Harrison 2008-02-06 485 return; b196884e2f5d45 Udo A. Steinberg 2007-10-19 486 case VT8237_FORCE_HPET_RESUME: 4a5a77d106d6b4 Harvey Harrison 2008-02-06 487 vt8237_force_hpet_resume(); 4a5a77d106d6b4 Harvey Harrison 2008-02-06 488 return; d79a5f80dc1153 Carlos Corbacho 2007-10-19 489 case NVIDIA_FORCE_HPET_RESUME: 4a5a77d106d6b4 Harvey Harrison 2008-02-06 490 nvidia_force_hpet_resume(); 4a5a77d106d6b4 Harvey Harrison 2008-02-06 491 return; e8aa4667baf74d Andreas Herrmann 2008-05-09 492 case ATI_FORCE_HPET_RESUME: e8aa4667baf74d Andreas Herrmann 2008-05-09 493 ati_force_hpet_resume(); e8aa4667baf74d Andreas Herrmann 2008-05-09 494 return; bfe0c1cc6456bb Venki Pallipadi 2007-10-12 495 default: bfe0c1cc6456bb Venki Pallipadi 2007-10-12 496 break; bfe0c1cc6456bb Venki Pallipadi 2007-10-12 497 } bfe0c1cc6456bb Venki Pallipadi 2007-10-12 498 } 73472a46b5b281 Pallipadi, Venkatesh 2010-01-21 499 2e151c70dfb007 Peter Neubauer 2014-09-12 500 /* 2e151c70dfb007 Peter Neubauer 2014-09-12 501 * According to the datasheet e6xx systems have the HPET hardwired to 2e151c70dfb007 Peter Neubauer 2014-09-12 502 * 0xfed00000 2e151c70dfb007 Peter Neubauer 2014-09-12 503 */ 2e151c70dfb007 Peter Neubauer 2014-09-12 504 static void e6xx_force_enable_hpet(struct pci_dev *dev) 2e151c70dfb007 Peter Neubauer 2014-09-12 505 { 2e151c70dfb007 Peter Neubauer 2014-09-12 506 if (hpet_address || force_hpet_address) 2e151c70dfb007 Peter Neubauer 2014-09-12 507 return; 2e151c70dfb007 Peter Neubauer 2014-09-12 508 2e151c70dfb007 Peter Neubauer 2014-09-12 509 force_hpet_address = 0xFED00000; 2e151c70dfb007 Peter Neubauer 2014-09-12 510 force_hpet_resume_type = NONE_FORCE_HPET_RESUME; 2e151c70dfb007 Peter Neubauer 2014-09-12 511 dev_printk(KERN_DEBUG, &dev->dev, "Force enabled HPET at " 2e151c70dfb007 Peter Neubauer 2014-09-12 512 "0x%lx\n", force_hpet_address); 2e151c70dfb007 Peter Neubauer 2014-09-12 513 } 2e151c70dfb007 Peter Neubauer 2014-09-12 @514 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_E6XX_CU, 2e151c70dfb007 Peter Neubauer 2014-09-12 515 e6xx_force_enable_hpet); 2e151c70dfb007 Peter Neubauer 2014-09-12 516 73472a46b5b281 Pallipadi, Venkatesh 2010-01-21 517 /* 73472a46b5b281 Pallipadi, Venkatesh 2010-01-21 518 * HPET MSI on some boards (ATI SB700/SB800) has side effect on 73472a46b5b281 Pallipadi, Venkatesh 2010-01-21 519 * floppy DMA. Disable HPET MSI on such platforms. fec84e330719c2 Andreas Herrmann 2010-05-17 520 * See erratum #27 (Misinterpreted MSI Requests May Result in fec84e330719c2 Andreas Herrmann 2010-05-17 521 * Corrupted LPC DMA Data) in AMD Publication #46837, fec84e330719c2 Andreas Herrmann 2010-05-17 522 * "SB700 Family Product Errata", Rev. 1.0, March 2010. 73472a46b5b281 Pallipadi, Venkatesh 2010-01-21 523 */ 73472a46b5b281 Pallipadi, Venkatesh 2010-01-21 524 static void force_disable_hpet_msi(struct pci_dev *unused) 73472a46b5b281 Pallipadi, Venkatesh 2010-01-21 525 { 3d45ac4b35cbdf Jan Beulich 2015-10-19 526 hpet_msi_disable = true; 73472a46b5b281 Pallipadi, Venkatesh 2010-01-21 527 } 73472a46b5b281 Pallipadi, Venkatesh 2010-01-21 528 73472a46b5b281 Pallipadi, Venkatesh 2010-01-21 @529 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_SBX00_SMBUS, 73472a46b5b281 Pallipadi, Venkatesh 2010-01-21 530 force_disable_hpet_msi); 73472a46b5b281 Pallipadi, Venkatesh 2010-01-21 531 :::::: The code at line 418 was first introduced by commit :::::: e8aa4667baf74dfd85fbaab86861465acb811085 x86: enable hpet=force for AMD SB400 :::::: TO: Andreas Herrmann <andreas.herrmann3@xxxxxxx> :::::: CC: Ingo Molnar <mingo@xxxxxxx> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip