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
Attachment:
.config.gz
Description: application/gzip