Re: [Intel-gfx] [PATCH] drm/i915: Flush untouched framebuffers before display on !llc
From: kbuild test robot
Date: Mon Jan 09 2017 - 08:49:34 EST
Hi Chris,
[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on v4.10-rc3 next-20170106]
[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/Chris-Wilson/drm-i915-Flush-untouched-framebuffers-before-display-on-llc/20170109-190816
base: git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-randconfig-s3-01092001 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
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_sg_trim':
drivers/gpu/drm/i915/i915_gem.c:2303:8: error: invalid type argument of '->' (have 'struct sg_table')
new_st->orig_nents = orig_st->orig_nents; /* XXX lies for
^~
>> drivers/gpu/drm/i915/i915_gem.c:2307:3: error: "/*" within comment [-Werror=comment]
/* called before being DMA mapped, no need to copy sg->dma_* */
>> drivers/gpu/drm/i915/i915_gem.c:2295:15: error: unused variable 'i' [-Werror=unused-variable]
unsigned int i;
^
>> drivers/gpu/drm/i915/i915_gem.c:2294:22: error: unused variable 'sg' [-Werror=unused-variable]
struct scatterlist *sg, *new_sg;
^~
In file included from include/linux/debug_locks.h:6:0,
from include/linux/lockdep.h:25,
from include/linux/spinlock_types.h:18,
from include/linux/mutex.h:15,
from include/linux/kernfs.h:13,
from include/linux/sysfs.h:15,
from include/linux/kobject.h:21,
from include/linux/cdev.h:4,
from include/drm/drmP.h:36,
from drivers/gpu/drm/i915/i915_gem.c:28:
drivers/gpu/drm/i915/i915_gem.c: At top level:
include/linux/bug.h:45:35: error: expected identifier or '(' before 'void'
#define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e))))
^
drivers/gpu/drm/i915/i915_gem.h:32:26: note: in expansion of macro 'BUILD_BUG_ON_INVALID'
#define GEM_BUG_ON(expr) BUILD_BUG_ON_INVALID(expr)
^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/i915_gem.c:2310:2: note: in expansion of macro 'GEM_BUG_ON'
GEM_BUG_ON(new_sg); /* Should walk exactly nents and hit the end */
^~~~~~~~~~
include/linux/bug.h:45:40: error: expected ')' before '(' token
#define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e))))
^
drivers/gpu/drm/i915/i915_gem.h:32:26: note: in expansion of macro 'BUILD_BUG_ON_INVALID'
#define GEM_BUG_ON(expr) BUILD_BUG_ON_INVALID(expr)
^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/i915_gem.c:2310:2: note: in expansion of macro 'GEM_BUG_ON'
GEM_BUG_ON(new_sg); /* Should walk exactly nents and hit the end */
^~~~~~~~~~
drivers/gpu/drm/i915/i915_gem.c:2312:2: error: data definition has no type or storage class [-Werror]
sg_free_table(orig_st);
^~~~~~~~~~~~~
drivers/gpu/drm/i915/i915_gem.c:2312:2: error: type defaults to 'int' in declaration of 'sg_free_table' [-Werror=implicit-int]
drivers/gpu/drm/i915/i915_gem.c:2312:2: error: parameter names (without types) in function declaration [-Werror]
drivers/gpu/drm/i915/i915_gem.c:2312:2: error: conflicting types for 'sg_free_table'
In file included from include/linux/dma-mapping.h:10:0,
from include/drm/drmP.h:37,
from drivers/gpu/drm/i915/i915_gem.c:28:
include/linux/scatterlist.h:260:6: note: previous declaration of 'sg_free_table' was here
void sg_free_table(struct sg_table *);
^~~~~~~~~~~~~
drivers/gpu/drm/i915/i915_gem.c:2314:2: error: data definition has no type or storage class [-Werror]
*orig_st = new_st;
^
drivers/gpu/drm/i915/i915_gem.c:2314:3: error: type defaults to 'int' in declaration of 'orig_st' [-Werror=implicit-int]
*orig_st = new_st;
^~~~~~~
drivers/gpu/drm/i915/i915_gem.c:2314:13: error: 'new_st' undeclared here (not in a function)
*orig_st = new_st;
^~~~~~
drivers/gpu/drm/i915/i915_gem.c:2315:1: error: expected identifier or '(' before '}' token
}
^
cc1: all warnings being treated as errors
vim +2307 drivers/gpu/drm/i915/i915_gem.c
871dfbd67 Chris Wilson 2016-10-11 2288 #endif
871dfbd67 Chris Wilson 2016-10-11 2289 }
871dfbd67 Chris Wilson 2016-10-11 2290
0c40ce130 Tvrtko Ursulin 2016-11-09 2291 static void i915_sg_trim(struct sg_table *orig_st)
0c40ce130 Tvrtko Ursulin 2016-11-09 2292 {
0c40ce130 Tvrtko Ursulin 2016-11-09 2293 struct sg_table new_st;
0c40ce130 Tvrtko Ursulin 2016-11-09 @2294 struct scatterlist *sg, *new_sg;
0c40ce130 Tvrtko Ursulin 2016-11-09 @2295 unsigned int i;
0c40ce130 Tvrtko Ursulin 2016-11-09 2296
0c40ce130 Tvrtko Ursulin 2016-11-09 2297 if (orig_st->nents == orig_st->orig_nents)
0c40ce130 Tvrtko Ursulin 2016-11-09 2298 return;
0c40ce130 Tvrtko Ursulin 2016-11-09 2299
8bfc478fa Chris Wilson 2016-12-23 2300 if (sg_alloc_table(&new_st, orig_st->nents, GFP_KERNEL | __GFP_NOWARN))
0c40ce130 Tvrtko Ursulin 2016-11-09 2301 return;
0c40ce130 Tvrtko Ursulin 2016-11-09 2302
ccbf455f4 Chris Wilson 2017-01-09 @2303 new_st->orig_nents = orig_st->orig_nents; /* XXX lies for
0c40ce130 Tvrtko Ursulin 2016-11-09 2304 new_sg = new_st.sgl;
0c40ce130 Tvrtko Ursulin 2016-11-09 2305 for_each_sg(orig_st->sgl, sg, orig_st->nents, i) {
0c40ce130 Tvrtko Ursulin 2016-11-09 2306 sg_set_page(new_sg, sg_page(sg), sg->length, 0);
0c40ce130 Tvrtko Ursulin 2016-11-09 @2307 /* called before being DMA mapped, no need to copy sg->dma_* */
0c40ce130 Tvrtko Ursulin 2016-11-09 2308 new_sg = sg_next(new_sg);
0c40ce130 Tvrtko Ursulin 2016-11-09 2309 }
c2dc6cc94 Chris Wilson 2016-12-19 2310 GEM_BUG_ON(new_sg); /* Should walk exactly nents and hit the end */
:::::: The code at line 2307 was first introduced by commit
:::::: 0c40ce130e38aeb9ddcee3ddcffbe5a79f27c080 drm/i915: Trim the object sg table
:::::: TO: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
:::::: CC: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip