Another strange error from 0-day bot. The source file does not make use of my added macros, so not sure how they could generate such a warning. On Tue, Jul 31, 2018 at 6:54 AM kbuild test robot <lkp@xxxxxxxxx> wrote: > > Hi Nick, > > Thank you for the patch! Yet something to improve: > > [auto build test ERROR on linus/master] > [also build test ERROR on v4.18-rc7 next-20180727] > [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] > > url: https://github.com/0day-ci/linux/commits/Nick-Desaulniers/compiler-clang-h-Add-CLANG_VERSION-and-__diag-macros/20180731-161932 > config: x86_64-randconfig-s1-07312048 (attached as .config) > compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 > reproduce: > # save the attached .config to linux build tree > make ARCH=x86_64 > > All errors (new ones prefixed by >>): > > drivers/gpu//drm/i915/i915_gem.c: In function '__i915_gem_object_set_pages': > >> drivers/gpu//drm/i915/i915_gem.c:2697:1: error: expected expression before '#pragma' > GEM_BUG_ON(!HAS_PAGE_SIZES(i915, obj->mm.page_sizes.sg)); > ^~~ > > vim +2697 drivers/gpu//drm/i915/i915_gem.c > > 03ac84f18 Chris Wilson 2016-10-28 2658 > 03ac84f18 Chris Wilson 2016-10-28 2659 void __i915_gem_object_set_pages(struct drm_i915_gem_object *obj, > a5c081662 Matthew Auld 2017-10-06 2660 struct sg_table *pages, > 84e8978e6 Matthew Auld 2017-10-09 2661 unsigned int sg_page_sizes) > 03ac84f18 Chris Wilson 2016-10-28 2662 { > a5c081662 Matthew Auld 2017-10-06 2663 struct drm_i915_private *i915 = to_i915(obj->base.dev); > a5c081662 Matthew Auld 2017-10-06 2664 unsigned long supported = INTEL_INFO(i915)->page_sizes; > a5c081662 Matthew Auld 2017-10-06 2665 int i; > a5c081662 Matthew Auld 2017-10-06 2666 > 1233e2db1 Chris Wilson 2016-10-28 2667 lockdep_assert_held(&obj->mm.lock); > 03ac84f18 Chris Wilson 2016-10-28 2668 > 03ac84f18 Chris Wilson 2016-10-28 2669 obj->mm.get_page.sg_pos = pages->sgl; > 03ac84f18 Chris Wilson 2016-10-28 2670 obj->mm.get_page.sg_idx = 0; > 03ac84f18 Chris Wilson 2016-10-28 2671 > 03ac84f18 Chris Wilson 2016-10-28 2672 obj->mm.pages = pages; > 2c3a3f44d Chris Wilson 2016-11-04 2673 > 2c3a3f44d Chris Wilson 2016-11-04 2674 if (i915_gem_object_is_tiled(obj) && > f2123818f Chris Wilson 2017-10-16 2675 i915->quirks & QUIRK_PIN_SWIZZLED_PAGES) { > 2c3a3f44d Chris Wilson 2016-11-04 2676 GEM_BUG_ON(obj->mm.quirked); > 2c3a3f44d Chris Wilson 2016-11-04 2677 __i915_gem_object_pin_pages(obj); > 2c3a3f44d Chris Wilson 2016-11-04 2678 obj->mm.quirked = true; > 2c3a3f44d Chris Wilson 2016-11-04 2679 } > a5c081662 Matthew Auld 2017-10-06 2680 > 84e8978e6 Matthew Auld 2017-10-09 2681 GEM_BUG_ON(!sg_page_sizes); > 84e8978e6 Matthew Auld 2017-10-09 2682 obj->mm.page_sizes.phys = sg_page_sizes; > a5c081662 Matthew Auld 2017-10-06 2683 > a5c081662 Matthew Auld 2017-10-06 2684 /* > 84e8978e6 Matthew Auld 2017-10-09 2685 * Calculate the supported page-sizes which fit into the given > 84e8978e6 Matthew Auld 2017-10-09 2686 * sg_page_sizes. This will give us the page-sizes which we may be able > 84e8978e6 Matthew Auld 2017-10-09 2687 * to use opportunistically when later inserting into the GTT. For > 84e8978e6 Matthew Auld 2017-10-09 2688 * example if phys=2G, then in theory we should be able to use 1G, 2M, > 84e8978e6 Matthew Auld 2017-10-09 2689 * 64K or 4K pages, although in practice this will depend on a number of > 84e8978e6 Matthew Auld 2017-10-09 2690 * other factors. > a5c081662 Matthew Auld 2017-10-06 2691 */ > a5c081662 Matthew Auld 2017-10-06 2692 obj->mm.page_sizes.sg = 0; > a5c081662 Matthew Auld 2017-10-06 2693 for_each_set_bit(i, &supported, ilog2(I915_GTT_MAX_PAGE_SIZE) + 1) { > a5c081662 Matthew Auld 2017-10-06 2694 if (obj->mm.page_sizes.phys & ~0u << i) > a5c081662 Matthew Auld 2017-10-06 2695 obj->mm.page_sizes.sg |= BIT(i); > a5c081662 Matthew Auld 2017-10-06 2696 } > a5c081662 Matthew Auld 2017-10-06 @2697 GEM_BUG_ON(!HAS_PAGE_SIZES(i915, obj->mm.page_sizes.sg)); > f2123818f Chris Wilson 2017-10-16 2698 > f2123818f Chris Wilson 2017-10-16 2699 spin_lock(&i915->mm.obj_lock); > f2123818f Chris Wilson 2017-10-16 2700 list_add(&obj->mm.link, &i915->mm.unbound_list); > f2123818f Chris Wilson 2017-10-16 2701 spin_unlock(&i915->mm.obj_lock); > 03ac84f18 Chris Wilson 2016-10-28 2702 } > 03ac84f18 Chris Wilson 2016-10-28 2703 > > :::::: The code at line 2697 was first introduced by commit > :::::: a5c08166265adc172a4cbde8ed26a1a96ce77fb7 drm/i915: introduce page_size members > > :::::: TO: Matthew Auld <matthew.auld@xxxxxxxxx> > :::::: CC: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://lists.01.org/pipermail/kbuild-all Intel Corporation -- Thanks, ~Nick Desaulniers