Messages in this thread | | | Date | Wed, 17 Jul 2019 06:31:03 +0800 | From | kbuild test robot <> | 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@intel.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@linux.intel.com> :::::: CC: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
--- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation [unhandled content-type:application/gzip] | |