lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <201907170655.gqywAWjW%lkp@intel.com>
Date:   Wed, 17 Jul 2019 06:31:03 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Michel Thierry <michel.thierry@...el.com>
Cc:     kbuild-all@...org, linux-kernel@...r.kernel.org,
        tipbuild@...or.com, Thomas Gleixner <tglx@...utronix.de>,
        Lucas De Marchi <lucas.demarchi@...el.com>,
        Rodrigo Vivi <rodrigo.vivi@...el.com>
Subject: [tip:x86/urgent 6/9] arch/x86/kernel/early-quirks.c:518:67: warning:
 missing braces around initializer

tree:   https://kernel.googlesource.com/pub/scm/linux/kernel/git/tip/tip.git x86/urgent
head:   907cb11da7a725445dccc6c2ca2d428739f6cd71
commit: 080ac61bad4a3307880bb982cec48b225912b362 [6/9] x86/gpu: Add TGL stolen memory support
config: i386-defconfig (attached as .config)
compiler: gcc-7 (Debian 7.4.0-6) 7.4.0
reproduce:
        git checkout 080ac61bad4a3307880bb982cec48b225912b362
        # save the attached .config to linux build tree
        make ARCH=i386 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@...el.com>

All warnings (new ones prefixed by >>):

   arch/x86/kernel/early-quirks.c:552:2: error: implicit declaration of function 'INTEL_TGL_12_IDS'; did you mean 'INTEL_ICL_11_IDS'? [-Werror=implicit-function-declaration]
     INTEL_TGL_12_IDS(&gen11_early_ops),
     ^~~~~~~~~~~~~~~~
     INTEL_ICL_11_IDS
   arch/x86/kernel/early-quirks.c:552:2: error: initializer element is not constant
   arch/x86/kernel/early-quirks.c:552:2: note: (near initialization for 'intel_early_ids[261].vendor')
>> arch/x86/kernel/early-quirks.c:518:67: warning: missing braces around initializer [-Wmissing-braces]
    static const struct pci_device_id intel_early_ids[] __initconst = {
                                                                      ^
   arch/x86/kernel/early-quirks.c:552:2:
     INTEL_TGL_12_IDS(&gen11_early_ops),
     {
    };
    }
   cc1: some warnings being treated as errors

vim +518 arch/x86/kernel/early-quirks.c

db0c8d8b031d2b5 arch/x86/kernel/early-quirks.c    Paulo Zanoni     2018-05-04  517  
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22 @518  static const struct pci_device_id intel_early_ids[] __initconst = {
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  519  	INTEL_I830_IDS(&i830_early_ops),
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  520  	INTEL_I845G_IDS(&i845_early_ops),
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  521  	INTEL_I85X_IDS(&i85x_early_ops),
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  522  	INTEL_I865G_IDS(&i865_early_ops),
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  523  	INTEL_I915G_IDS(&gen3_early_ops),
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  524  	INTEL_I915GM_IDS(&gen3_early_ops),
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  525  	INTEL_I945G_IDS(&gen3_early_ops),
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  526  	INTEL_I945GM_IDS(&gen3_early_ops),
8d9c20e1d1e3833 arch/x86/kernel/early-quirks.c    Carlos Santa     2016-08-17  527  	INTEL_VLV_IDS(&gen6_early_ops),
86d35d4e7625f7c arch/x86/kernel/early-quirks.c    Tvrtko Ursulin   2019-03-26  528  	INTEL_PINEVIEW_G_IDS(&gen3_early_ops),
86d35d4e7625f7c arch/x86/kernel/early-quirks.c    Tvrtko Ursulin   2019-03-26  529  	INTEL_PINEVIEW_M_IDS(&gen3_early_ops),
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  530  	INTEL_I965G_IDS(&gen3_early_ops),
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  531  	INTEL_G33_IDS(&gen3_early_ops),
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  532  	INTEL_I965GM_IDS(&gen3_early_ops),
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  533  	INTEL_GM45_IDS(&gen3_early_ops),
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  534  	INTEL_G45_IDS(&gen3_early_ops),
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  535  	INTEL_IRONLAKE_D_IDS(&gen3_early_ops),
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  536  	INTEL_IRONLAKE_M_IDS(&gen3_early_ops),
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  537  	INTEL_SNB_D_IDS(&gen6_early_ops),
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  538  	INTEL_SNB_M_IDS(&gen6_early_ops),
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  539  	INTEL_IVB_M_IDS(&gen6_early_ops),
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  540  	INTEL_IVB_D_IDS(&gen6_early_ops),
8d9c20e1d1e3833 arch/x86/kernel/early-quirks.c    Carlos Santa     2016-08-17  541  	INTEL_HSW_IDS(&gen6_early_ops),
8d9c20e1d1e3833 arch/x86/kernel/early-quirks.c    Carlos Santa     2016-08-17  542  	INTEL_BDW_IDS(&gen8_early_ops),
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  543  	INTEL_CHV_IDS(&chv_early_ops),
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  544  	INTEL_SKL_IDS(&gen9_early_ops),
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  545  	INTEL_BXT_IDS(&gen9_early_ops),
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  546  	INTEL_KBL_IDS(&gen9_early_ops),
33aa69ed8aacd92 arch/x86/kernel/early-quirks.c    Lucas De Marchi  2017-12-13  547  	INTEL_CFL_IDS(&gen9_early_ops),
bc384c77e3bb3df arch/x86/kernel/early-quirks.c    Paulo Zanoni     2017-01-24  548  	INTEL_GLK_IDS(&gen9_early_ops),
2e1e9d48939edad arch/x86/kernel/early-quirks.c    Paulo Zanoni     2017-07-05  549  	INTEL_CNL_IDS(&gen9_early_ops),
db0c8d8b031d2b5 arch/x86/kernel/early-quirks.c    Paulo Zanoni     2018-05-04  550  	INTEL_ICL_11_IDS(&gen11_early_ops),
d53fef0be4a5f2f arch/x86/kernel/early-quirks.c    Rodrigo Vivi     2019-03-15  551  	INTEL_EHL_IDS(&gen11_early_ops),
080ac61bad4a330 arch/x86/kernel/early-quirks.c    Michel Thierry   2019-07-12 @552  	INTEL_TGL_12_IDS(&gen11_early_ops),
814c5f1f52a4beb arch/x86/kernel/early-quirks.c    Jesse Barnes     2013-07-26  553  };
814c5f1f52a4beb arch/x86/kernel/early-quirks.c    Jesse Barnes     2013-07-26  554  
55f56fc46020ea5 arch/x86/kernel/early-quirks.c    Matthew Auld     2017-12-11  555  struct resource intel_graphics_stolen_res __ro_after_init = DEFINE_RES_MEM(0, 0);
55f56fc46020ea5 arch/x86/kernel/early-quirks.c    Matthew Auld     2017-12-11  556  EXPORT_SYMBOL(intel_graphics_stolen_res);
55f56fc46020ea5 arch/x86/kernel/early-quirks.c    Matthew Auld     2017-12-11  557  
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  558  static void __init
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  559  intel_graphics_stolen(int num, int slot, int func,
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  560  		      const struct intel_early_ops *early_ops)
814c5f1f52a4beb arch/x86/kernel/early-quirks.c    Jesse Barnes     2013-07-26  561  {
6f9fa996c9bf3d8 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2017-12-11  562  	resource_size_t base, size;
6f9fa996c9bf3d8 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2017-12-11  563  	resource_size_t end;
814c5f1f52a4beb arch/x86/kernel/early-quirks.c    Jesse Barnes     2013-07-26  564  
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  565  	size = early_ops->stolen_size(num, slot, func);
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  566  	base = early_ops->stolen_base(num, slot, func, size);
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  567  
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  568  	if (!size || !base)
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  569  		return;
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  570  
01e5d3b42e2047d arch/x86/kernel/early-quirks.c    Chris Wilson     2016-05-09  571  	end = base + size - 1;
55f56fc46020ea5 arch/x86/kernel/early-quirks.c    Matthew Auld     2017-12-11  572  
55f56fc46020ea5 arch/x86/kernel/early-quirks.c    Matthew Auld     2017-12-11  573  	intel_graphics_stolen_res.start = base;
55f56fc46020ea5 arch/x86/kernel/early-quirks.c    Matthew Auld     2017-12-11  574  	intel_graphics_stolen_res.end = end;
55f56fc46020ea5 arch/x86/kernel/early-quirks.c    Matthew Auld     2017-12-11  575  
55f56fc46020ea5 arch/x86/kernel/early-quirks.c    Matthew Auld     2017-12-11  576  	printk(KERN_INFO "Reserving Intel graphics memory at %pR\n",
55f56fc46020ea5 arch/x86/kernel/early-quirks.c    Matthew Auld     2017-12-11  577  	       &intel_graphics_stolen_res);
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  578  
814c5f1f52a4beb arch/x86/kernel/early-quirks.c    Jesse Barnes     2013-07-26  579  	/* Mark this space as reserved */
09821ff1d50a1ec arch/x86/kernel/early-quirks.c    Ingo Molnar      2017-01-28  580  	e820__range_add(base, size, E820_TYPE_RESERVED);
f9748fa04585104 arch/x86/kernel/early-quirks.c    Ingo Molnar      2017-01-28  581  	e820__update_table(e820_table);
814c5f1f52a4beb arch/x86/kernel/early-quirks.c    Jesse Barnes     2013-07-26  582  }
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  583  
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  584  static void __init intel_graphics_quirks(int num, int slot, int func)
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  585  {
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  586  	const struct intel_early_ops *early_ops;
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  587  	u16 device;
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  588  	int i;
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  589  
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  590  	device = read_pci_config_16(num, slot, func, PCI_DEVICE_ID);
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  591  
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  592  	for (i = 0; i < ARRAY_SIZE(intel_early_ids); i++) {
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  593  		kernel_ulong_t driver_data = intel_early_ids[i].driver_data;
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  594  
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  595  		if (intel_early_ids[i].device != device)
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  596  			continue;
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  597  
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  598  		early_ops = (typeof(early_ops))driver_data;
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  599  
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  600  		intel_graphics_stolen(num, slot, func, early_ops);
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  601  
814c5f1f52a4beb arch/x86/kernel/early-quirks.c    Jesse Barnes     2013-07-26  602  		return;
814c5f1f52a4beb arch/x86/kernel/early-quirks.c    Jesse Barnes     2013-07-26  603  	}
814c5f1f52a4beb arch/x86/kernel/early-quirks.c    Jesse Barnes     2013-07-26  604  }
814c5f1f52a4beb arch/x86/kernel/early-quirks.c    Jesse Barnes     2013-07-26  605  
62187910b0fc7a7 arch/x86/kernel/early-quirks.c    Feng Tang        2014-04-24  606  static void __init force_disable_hpet(int num, int slot, int func)
62187910b0fc7a7 arch/x86/kernel/early-quirks.c    Feng Tang        2014-04-24  607  {
62187910b0fc7a7 arch/x86/kernel/early-quirks.c    Feng Tang        2014-04-24  608  #ifdef CONFIG_HPET_TIMER
3d45ac4b35cbdf9 arch/x86/kernel/early-quirks.c    Jan Beulich      2015-10-19  609  	boot_hpet_disable = true;
62187910b0fc7a7 arch/x86/kernel/early-quirks.c    Feng Tang        2014-04-24  610  	pr_info("x86/hpet: Will disable the HPET for this platform because it's not reliable\n");
62187910b0fc7a7 arch/x86/kernel/early-quirks.c    Feng Tang        2014-04-24  611  #endif
62187910b0fc7a7 arch/x86/kernel/early-quirks.c    Feng Tang        2014-04-24  612  }
62187910b0fc7a7 arch/x86/kernel/early-quirks.c    Feng Tang        2014-04-24  613  
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  614  #define BCM4331_MMIO_SIZE	16384
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  615  #define BCM4331_PM_CAP		0x40
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  616  #define bcma_aread32(reg)	ioread32(mmio + 1 * BCMA_CORE_SIZE + reg)
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  617  #define bcma_awrite32(reg, val)	iowrite32(val, mmio + 1 * BCMA_CORE_SIZE + reg)
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  618  
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  619  static void __init apple_airport_reset(int bus, int slot, int func)
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  620  {
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  621  	void __iomem *mmio;
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  622  	u16 pmcsr;
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  623  	u64 addr;
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  624  	int i;
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  625  
630b3aff8a51c90 arch/x86/kernel/early-quirks.c    Lukas Wunner     2017-08-01  626  	if (!x86_apple_machine)
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  627  		return;
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  628  
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  629  	/* Card may have been put into PCI_D3hot by grub quirk */
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  630  	pmcsr = read_pci_config_16(bus, slot, func, BCM4331_PM_CAP + PCI_PM_CTRL);
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  631  
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  632  	if ((pmcsr & PCI_PM_CTRL_STATE_MASK) != PCI_D0) {
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  633  		pmcsr &= ~PCI_PM_CTRL_STATE_MASK;
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  634  		write_pci_config_16(bus, slot, func, BCM4331_PM_CAP + PCI_PM_CTRL, pmcsr);
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  635  		mdelay(10);
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  636  
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  637  		pmcsr = read_pci_config_16(bus, slot, func, BCM4331_PM_CAP + PCI_PM_CTRL);
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  638  		if ((pmcsr & PCI_PM_CTRL_STATE_MASK) != PCI_D0) {
a7a3153a98d5811 arch/x86/kernel/early-quirks.c    Joe Perches      2018-05-09  639  			pr_err("pci 0000:%02x:%02x.%d: Cannot power up Apple AirPort card\n",
a7a3153a98d5811 arch/x86/kernel/early-quirks.c    Joe Perches      2018-05-09  640  			       bus, slot, func);
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  641  			return;
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  642  		}
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  643  	}
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  644  
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  645  	addr  =      read_pci_config(bus, slot, func, PCI_BASE_ADDRESS_0);
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  646  	addr |= (u64)read_pci_config(bus, slot, func, PCI_BASE_ADDRESS_1) << 32;
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  647  	addr &= PCI_BASE_ADDRESS_MEM_MASK;
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  648  
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  649  	mmio = early_ioremap(addr, BCM4331_MMIO_SIZE);
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  650  	if (!mmio) {
a7a3153a98d5811 arch/x86/kernel/early-quirks.c    Joe Perches      2018-05-09  651  		pr_err("pci 0000:%02x:%02x.%d: Cannot iomap Apple AirPort card\n",
a7a3153a98d5811 arch/x86/kernel/early-quirks.c    Joe Perches      2018-05-09  652  		       bus, slot, func);
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  653  		return;
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  654  	}
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  655  
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  656  	pr_info("Resetting Apple AirPort card (left enabled by EFI)\n");
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  657  
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  658  	for (i = 0; bcma_aread32(BCMA_RESET_ST) && i < 30; i++)
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  659  		udelay(10);
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  660  
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  661  	bcma_awrite32(BCMA_RESET_CTL, BCMA_RESET_CTL_RESET);
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  662  	bcma_aread32(BCMA_RESET_CTL);
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  663  	udelay(1);
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  664  
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  665  	bcma_awrite32(BCMA_RESET_CTL, 0);
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  666  	bcma_aread32(BCMA_RESET_CTL);
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  667  	udelay(10);
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  668  
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  669  	early_iounmap(mmio, BCM4331_MMIO_SIZE);
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  670  }
62187910b0fc7a7 arch/x86/kernel/early-quirks.c    Feng Tang        2014-04-24  671  
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  672  #define QFLAG_APPLY_ONCE 	0x1
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  673  #define QFLAG_APPLIED		0x2
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  674  #define QFLAG_DONE		(QFLAG_APPLY_ONCE|QFLAG_APPLIED)
dfa4698c50bf85b arch/x86_64/kernel/early-quirks.c Andi Kleen       2006-09-26  675  struct chipset {
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  676  	u32 vendor;
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  677  	u32 device;
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  678  	u32 class;
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  679  	u32 class_mask;
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  680  	u32 flags;
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  681  	void (*f)(int num, int slot, int func);
dfa4698c50bf85b arch/x86_64/kernel/early-quirks.c Andi Kleen       2006-09-26  682  };
dfa4698c50bf85b arch/x86_64/kernel/early-quirks.c Andi Kleen       2006-09-26  683  
c993c7355df5528 arch/x86_64/kernel/early-quirks.c Andrew Morton    2007-04-08  684  static struct chipset early_qrk[] __initdata = {
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  685  	{ PCI_VENDOR_ID_NVIDIA, PCI_ANY_ID,
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  686  	  PCI_CLASS_BRIDGE_PCI, PCI_ANY_ID, QFLAG_APPLY_ONCE, nvidia_bugs },
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  687  	{ PCI_VENDOR_ID_VIA, PCI_ANY_ID,
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  688  	  PCI_CLASS_BRIDGE_PCI, PCI_ANY_ID, QFLAG_APPLY_ONCE, via_bugs },
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  689  	{ PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_K8_NB,
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  690  	  PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, fix_hypertransport_config },
33fb0e4eb53f16a arch/x86/kernel/early-quirks.c    Andreas Herrmann 2008-10-07  691  	{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP400_SMBUS,
33fb0e4eb53f16a arch/x86/kernel/early-quirks.c    Andreas Herrmann 2008-10-07  692  	  PCI_CLASS_SERIAL_SMBUS, PCI_ANY_ID, 0, ati_bugs },
26adcfbf00e0726 arch/x86/kernel/early-quirks.c    Andreas Herrmann 2008-10-14  693  	{ PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_SBX00_SMBUS,
26adcfbf00e0726 arch/x86/kernel/early-quirks.c    Andreas Herrmann 2008-10-14  694  	  PCI_CLASS_SERIAL_SMBUS, PCI_ANY_ID, 0, ati_bugs_contd },
03bbcb2e7e29283 arch/x86/kernel/early-quirks.c    Neil Horman      2013-04-16  695  	{ PCI_VENDOR_ID_INTEL, 0x3403, PCI_CLASS_BRIDGE_HOST,
03bbcb2e7e29283 arch/x86/kernel/early-quirks.c    Neil Horman      2013-04-16  696  	  PCI_BASE_CLASS_BRIDGE, 0, intel_remapping_check },
803075dba31c17a arch/x86/kernel/early-quirks.c    Neil Horman      2013-07-17  697  	{ PCI_VENDOR_ID_INTEL, 0x3405, PCI_CLASS_BRIDGE_HOST,
803075dba31c17a arch/x86/kernel/early-quirks.c    Neil Horman      2013-07-17  698  	  PCI_BASE_CLASS_BRIDGE, 0, intel_remapping_check },
03bbcb2e7e29283 arch/x86/kernel/early-quirks.c    Neil Horman      2013-04-16  699  	{ PCI_VENDOR_ID_INTEL, 0x3406, PCI_CLASS_BRIDGE_HOST,
03bbcb2e7e29283 arch/x86/kernel/early-quirks.c    Neil Horman      2013-04-16  700  	  PCI_BASE_CLASS_BRIDGE, 0, intel_remapping_check },
814c5f1f52a4beb arch/x86/kernel/early-quirks.c    Jesse Barnes     2013-07-26  701  	{ PCI_VENDOR_ID_INTEL, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA, PCI_ANY_ID,
ee0629cfd3c16c7 arch/x86/kernel/early-quirks.c    Joonas Lahtinen  2016-04-22  702  	  QFLAG_APPLY_ONCE, intel_graphics_quirks },
62187910b0fc7a7 arch/x86/kernel/early-quirks.c    Feng Tang        2014-04-24  703  	/*
b58d930750135d6 arch/x86/kernel/early-quirks.c    Feng Tang        2015-06-15  704  	 * HPET on the current version of the Baytrail platform has accuracy
b58d930750135d6 arch/x86/kernel/early-quirks.c    Feng Tang        2015-06-15  705  	 * problems: it will halt in deep idle state - so we disable it.
b58d930750135d6 arch/x86/kernel/early-quirks.c    Feng Tang        2015-06-15  706  	 *
b58d930750135d6 arch/x86/kernel/early-quirks.c    Feng Tang        2015-06-15  707  	 * More details can be found in section 18.10.1.3 of the datasheet:
b58d930750135d6 arch/x86/kernel/early-quirks.c    Feng Tang        2015-06-15  708  	 *
b58d930750135d6 arch/x86/kernel/early-quirks.c    Feng Tang        2015-06-15  709  	 *    http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/atom-z8000-datasheet-vol-1.pdf
62187910b0fc7a7 arch/x86/kernel/early-quirks.c    Feng Tang        2014-04-24  710  	 */
62187910b0fc7a7 arch/x86/kernel/early-quirks.c    Feng Tang        2014-04-24  711  	{ PCI_VENDOR_ID_INTEL, 0x0f00,
62187910b0fc7a7 arch/x86/kernel/early-quirks.c    Feng Tang        2014-04-24  712  		PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, force_disable_hpet},
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  713  	{ PCI_VENDOR_ID_BROADCOM, 0x4331,
abb2bafd295fe96 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  714  	  PCI_CLASS_NETWORK_OTHER, PCI_ANY_ID, 0, apple_airport_reset},
dfa4698c50bf85b arch/x86_64/kernel/early-quirks.c Andi Kleen       2006-09-26  715  	{}
dfa4698c50bf85b arch/x86_64/kernel/early-quirks.c Andi Kleen       2006-09-26  716  };
dfa4698c50bf85b arch/x86_64/kernel/early-quirks.c Andi Kleen       2006-09-26  717  
850c321027c2e31 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  718  static void __init early_pci_scan_bus(int bus);
850c321027c2e31 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  719  
15650a2f644a2f1 arch/x86/kernel/early-quirks.c    Jesse Barnes     2008-06-16  720  /**
15650a2f644a2f1 arch/x86/kernel/early-quirks.c    Jesse Barnes     2008-06-16  721   * check_dev_quirk - apply early quirks to a given PCI device
15650a2f644a2f1 arch/x86/kernel/early-quirks.c    Jesse Barnes     2008-06-16  722   * @num: bus number
15650a2f644a2f1 arch/x86/kernel/early-quirks.c    Jesse Barnes     2008-06-16  723   * @slot: slot number
15650a2f644a2f1 arch/x86/kernel/early-quirks.c    Jesse Barnes     2008-06-16  724   * @func: PCI function
15650a2f644a2f1 arch/x86/kernel/early-quirks.c    Jesse Barnes     2008-06-16  725   *
15650a2f644a2f1 arch/x86/kernel/early-quirks.c    Jesse Barnes     2008-06-16  726   * Check the vendor & device ID against the early quirks table.
15650a2f644a2f1 arch/x86/kernel/early-quirks.c    Jesse Barnes     2008-06-16  727   *
850c321027c2e31 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  728   * If the device is single function, let early_pci_scan_bus() know so we don't
15650a2f644a2f1 arch/x86/kernel/early-quirks.c    Jesse Barnes     2008-06-16  729   * poke at this device again.
15650a2f644a2f1 arch/x86/kernel/early-quirks.c    Jesse Barnes     2008-06-16  730   */
15650a2f644a2f1 arch/x86/kernel/early-quirks.c    Jesse Barnes     2008-06-16  731  static int __init check_dev_quirk(int num, int slot, int func)
dfa4698c50bf85b arch/x86_64/kernel/early-quirks.c Andi Kleen       2006-09-26  732  {
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  733  	u16 class;
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  734  	u16 vendor;
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  735  	u16 device;
dfa4698c50bf85b arch/x86_64/kernel/early-quirks.c Andi Kleen       2006-09-26  736  	u8 type;
850c321027c2e31 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  737  	u8 sec;
dfa4698c50bf85b arch/x86_64/kernel/early-quirks.c Andi Kleen       2006-09-26  738  	int i;
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  739  
7bcbc78dea92fdf arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  740  	class = read_pci_config_16(num, slot, func, PCI_CLASS_DEVICE);
7bcbc78dea92fdf arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  741  
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  742  	if (class == 0xffff)
15650a2f644a2f1 arch/x86/kernel/early-quirks.c    Jesse Barnes     2008-06-16  743  		return -1; /* no class, treat as single function */
dfa4698c50bf85b arch/x86_64/kernel/early-quirks.c Andi Kleen       2006-09-26  744  
7bcbc78dea92fdf arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  745  	vendor = read_pci_config_16(num, slot, func, PCI_VENDOR_ID);
dfa4698c50bf85b arch/x86_64/kernel/early-quirks.c Andi Kleen       2006-09-26  746  
7bcbc78dea92fdf arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  747  	device = read_pci_config_16(num, slot, func, PCI_DEVICE_ID);
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  748  
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  749  	for (i = 0; early_qrk[i].f != NULL; i++) {
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  750  		if (((early_qrk[i].vendor == PCI_ANY_ID) ||
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  751  			(early_qrk[i].vendor == vendor)) &&
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  752  			((early_qrk[i].device == PCI_ANY_ID) ||
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  753  			(early_qrk[i].device == device)) &&
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  754  			(!((early_qrk[i].class ^ class) &
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  755  			    early_qrk[i].class_mask))) {
7bcbc78dea92fdf arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  756  				if ((early_qrk[i].flags &
7bcbc78dea92fdf arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  757  				     QFLAG_DONE) != QFLAG_DONE)
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  758  					early_qrk[i].f(num, slot, func);
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  759  				early_qrk[i].flags |= QFLAG_APPLIED;
c6b48324325ffb6 arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  760  			}
dfa4698c50bf85b arch/x86_64/kernel/early-quirks.c Andi Kleen       2006-09-26  761  	}
dfa4698c50bf85b arch/x86_64/kernel/early-quirks.c Andi Kleen       2006-09-26  762  
dfa4698c50bf85b arch/x86_64/kernel/early-quirks.c Andi Kleen       2006-09-26  763  	type = read_pci_config_byte(num, slot, func,
dfa4698c50bf85b arch/x86_64/kernel/early-quirks.c Andi Kleen       2006-09-26  764  				    PCI_HEADER_TYPE);
850c321027c2e31 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  765  
850c321027c2e31 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  766  	if ((type & 0x7f) == PCI_HEADER_TYPE_BRIDGE) {
850c321027c2e31 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  767  		sec = read_pci_config_byte(num, slot, func, PCI_SECONDARY_BUS);
850c321027c2e31 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  768  		if (sec > num)
850c321027c2e31 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  769  			early_pci_scan_bus(sec);
850c321027c2e31 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  770  	}
850c321027c2e31 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  771  
dfa4698c50bf85b arch/x86_64/kernel/early-quirks.c Andi Kleen       2006-09-26  772  	if (!(type & 0x80))
15650a2f644a2f1 arch/x86/kernel/early-quirks.c    Jesse Barnes     2008-06-16  773  		return -1;
15650a2f644a2f1 arch/x86/kernel/early-quirks.c    Jesse Barnes     2008-06-16  774  
15650a2f644a2f1 arch/x86/kernel/early-quirks.c    Jesse Barnes     2008-06-16  775  	return 0;
dfa4698c50bf85b arch/x86_64/kernel/early-quirks.c Andi Kleen       2006-09-26  776  }
7bcbc78dea92fdf arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  777  
850c321027c2e31 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  778  static void __init early_pci_scan_bus(int bus)
7bcbc78dea92fdf arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  779  {
8659c406ade32f4 arch/x86/kernel/early-quirks.c    Andi Kleen       2009-01-09  780  	int slot, func;
7bcbc78dea92fdf arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  781  
7bcbc78dea92fdf arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  782  	/* Poor man's PCI discovery */
7bcbc78dea92fdf arch/x86/kernel/early-quirks.c    Neil Horman      2008-01-30  783  	for (slot = 0; slot < 32; slot++)
15650a2f644a2f1 arch/x86/kernel/early-quirks.c    Jesse Barnes     2008-06-16  784  		for (func = 0; func < 8; func++) {
15650a2f644a2f1 arch/x86/kernel/early-quirks.c    Jesse Barnes     2008-06-16  785  			/* Only probe function 0 on single fn devices */
850c321027c2e31 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  786  			if (check_dev_quirk(bus, slot, func))
15650a2f644a2f1 arch/x86/kernel/early-quirks.c    Jesse Barnes     2008-06-16  787  				break;
15650a2f644a2f1 arch/x86/kernel/early-quirks.c    Jesse Barnes     2008-06-16  788  		}
dfa4698c50bf85b arch/x86_64/kernel/early-quirks.c Andi Kleen       2006-09-26  789  }
850c321027c2e31 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  790  
850c321027c2e31 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  791  void __init early_quirks(void)
850c321027c2e31 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  792  {
850c321027c2e31 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  793  	if (!early_pci_allowed())
850c321027c2e31 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  794  		return;
850c321027c2e31 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  795  
850c321027c2e31 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  796  	early_pci_scan_bus(0);
850c321027c2e31 arch/x86/kernel/early-quirks.c    Lukas Wunner     2016-06-12  797  }

:::::: The code at line 518 was first introduced by commit
:::::: ee0629cfd3c16c716801c84e939ff5db5e23f54d drm/i915: Function per early graphics quirk

:::::: TO: Joonas Lahtinen <joonas.lahtinen@...ux.intel.com>
:::::: CC: Joonas Lahtinen <joonas.lahtinen@...ux.intel.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/gzip" (27996 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ