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.a...@intel.com>
:::::: CC: Chris Wilson <ch...@chris-wilson.co.uk>

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

Attachment: .config.gz
Description: application/gzip

Reply via email to