All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/gpu/drm/i915/gt/selftest_migrate.c:102 copy() error: uninitialized symbol 'rq'.
@ 2021-12-21 13:49 kernel test robot
  0 siblings, 0 replies; 5+ messages in thread
From: kernel test robot @ 2021-12-21 13:49 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 8237 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Chris Wilson <chris@chris-wilson.co.uk>
CC: Matthew Auld <matthew.auld@intel.com>
CC: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   6e0567b7305209c2d689ce57180a63d8dc657ad8
commit: cf586021642d8017cde111b7dd1ba86224e9da51 drm/i915/gt: Pipelined page migration
date:   6 months ago
:::::: branch date: 12 hours ago
:::::: commit date: 6 months ago
config: i386-randconfig-m021-20211207 (https://download.01.org/0day-ci/archive/20211221/202112212142.bD6wSbTv-lkp(a)intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
drivers/gpu/drm/i915/gt/selftest_migrate.c:102 copy() error: uninitialized symbol 'rq'.
drivers/gpu/drm/i915/gt/selftest_migrate.c:113 copy() error: uninitialized symbol 'vaddr'.

Old smatch warnings:
drivers/gpu/drm/i915/gem/i915_gem_object.h:182 __i915_gem_object_lock() error: we previously assumed 'ww' could be null (see line 171)

vim +/rq +102 drivers/gpu/drm/i915/gt/selftest_migrate.c

cf586021642d80 Chris Wilson 2021-06-17   31  
cf586021642d80 Chris Wilson 2021-06-17   32  static int copy(struct intel_migrate *migrate,
cf586021642d80 Chris Wilson 2021-06-17   33  		int (*fn)(struct intel_migrate *migrate,
cf586021642d80 Chris Wilson 2021-06-17   34  			  struct i915_gem_ww_ctx *ww,
cf586021642d80 Chris Wilson 2021-06-17   35  			  struct drm_i915_gem_object *src,
cf586021642d80 Chris Wilson 2021-06-17   36  			  struct drm_i915_gem_object *dst,
cf586021642d80 Chris Wilson 2021-06-17   37  			  struct i915_request **out),
cf586021642d80 Chris Wilson 2021-06-17   38  		u32 sz, struct rnd_state *prng)
cf586021642d80 Chris Wilson 2021-06-17   39  {
cf586021642d80 Chris Wilson 2021-06-17   40  	struct drm_i915_private *i915 = migrate->context->engine->i915;
cf586021642d80 Chris Wilson 2021-06-17   41  	struct drm_i915_gem_object *src, *dst;
cf586021642d80 Chris Wilson 2021-06-17   42  	struct i915_request *rq;
cf586021642d80 Chris Wilson 2021-06-17   43  	struct i915_gem_ww_ctx ww;
cf586021642d80 Chris Wilson 2021-06-17   44  	u32 *vaddr;
cf586021642d80 Chris Wilson 2021-06-17   45  	int err = 0;
cf586021642d80 Chris Wilson 2021-06-17   46  	int i;
cf586021642d80 Chris Wilson 2021-06-17   47  
cf586021642d80 Chris Wilson 2021-06-17   48  	src = create_lmem_or_internal(i915, sz);
cf586021642d80 Chris Wilson 2021-06-17   49  	if (IS_ERR(src))
cf586021642d80 Chris Wilson 2021-06-17   50  		return 0;
cf586021642d80 Chris Wilson 2021-06-17   51  
cf586021642d80 Chris Wilson 2021-06-17   52  	dst = i915_gem_object_create_internal(i915, sz);
cf586021642d80 Chris Wilson 2021-06-17   53  	if (IS_ERR(dst))
cf586021642d80 Chris Wilson 2021-06-17   54  		goto err_free_src;
cf586021642d80 Chris Wilson 2021-06-17   55  
cf586021642d80 Chris Wilson 2021-06-17   56  	for_i915_gem_ww(&ww, err, true) {
cf586021642d80 Chris Wilson 2021-06-17   57  		err = i915_gem_object_lock(src, &ww);
cf586021642d80 Chris Wilson 2021-06-17   58  		if (err)
cf586021642d80 Chris Wilson 2021-06-17   59  			continue;
cf586021642d80 Chris Wilson 2021-06-17   60  
cf586021642d80 Chris Wilson 2021-06-17   61  		err = i915_gem_object_lock(dst, &ww);
cf586021642d80 Chris Wilson 2021-06-17   62  		if (err)
cf586021642d80 Chris Wilson 2021-06-17   63  			continue;
cf586021642d80 Chris Wilson 2021-06-17   64  
cf586021642d80 Chris Wilson 2021-06-17   65  		vaddr = i915_gem_object_pin_map(src, I915_MAP_WC);
cf586021642d80 Chris Wilson 2021-06-17   66  		if (IS_ERR(vaddr)) {
cf586021642d80 Chris Wilson 2021-06-17   67  			err = PTR_ERR(vaddr);
cf586021642d80 Chris Wilson 2021-06-17   68  			continue;
cf586021642d80 Chris Wilson 2021-06-17   69  		}
cf586021642d80 Chris Wilson 2021-06-17   70  
cf586021642d80 Chris Wilson 2021-06-17   71  		for (i = 0; i < sz / sizeof(u32); i++)
cf586021642d80 Chris Wilson 2021-06-17   72  			vaddr[i] = i;
cf586021642d80 Chris Wilson 2021-06-17   73  		i915_gem_object_flush_map(src);
cf586021642d80 Chris Wilson 2021-06-17   74  
cf586021642d80 Chris Wilson 2021-06-17   75  		vaddr = i915_gem_object_pin_map(dst, I915_MAP_WC);
cf586021642d80 Chris Wilson 2021-06-17   76  		if (IS_ERR(vaddr)) {
cf586021642d80 Chris Wilson 2021-06-17   77  			err = PTR_ERR(vaddr);
cf586021642d80 Chris Wilson 2021-06-17   78  			goto unpin_src;
cf586021642d80 Chris Wilson 2021-06-17   79  		}
cf586021642d80 Chris Wilson 2021-06-17   80  
cf586021642d80 Chris Wilson 2021-06-17   81  		for (i = 0; i < sz / sizeof(u32); i++)
cf586021642d80 Chris Wilson 2021-06-17   82  			vaddr[i] = ~i;
cf586021642d80 Chris Wilson 2021-06-17   83  		i915_gem_object_flush_map(dst);
cf586021642d80 Chris Wilson 2021-06-17   84  
cf586021642d80 Chris Wilson 2021-06-17   85  		err = fn(migrate, &ww, src, dst, &rq);
cf586021642d80 Chris Wilson 2021-06-17   86  		if (!err)
cf586021642d80 Chris Wilson 2021-06-17   87  			continue;
cf586021642d80 Chris Wilson 2021-06-17   88  
cf586021642d80 Chris Wilson 2021-06-17   89  		if (err != -EDEADLK && err != -EINTR && err != -ERESTARTSYS)
cf586021642d80 Chris Wilson 2021-06-17   90  			pr_err("%ps failed, size: %u\n", fn, sz);
cf586021642d80 Chris Wilson 2021-06-17   91  		if (rq) {
cf586021642d80 Chris Wilson 2021-06-17   92  			i915_request_wait(rq, 0, HZ);
cf586021642d80 Chris Wilson 2021-06-17   93  			i915_request_put(rq);
cf586021642d80 Chris Wilson 2021-06-17   94  		}
cf586021642d80 Chris Wilson 2021-06-17   95  		i915_gem_object_unpin_map(dst);
cf586021642d80 Chris Wilson 2021-06-17   96  unpin_src:
cf586021642d80 Chris Wilson 2021-06-17   97  		i915_gem_object_unpin_map(src);
cf586021642d80 Chris Wilson 2021-06-17   98  	}
cf586021642d80 Chris Wilson 2021-06-17   99  	if (err)
cf586021642d80 Chris Wilson 2021-06-17  100  		goto err_out;
cf586021642d80 Chris Wilson 2021-06-17  101  
cf586021642d80 Chris Wilson 2021-06-17 @102  	if (rq) {
cf586021642d80 Chris Wilson 2021-06-17  103  		if (i915_request_wait(rq, 0, HZ) < 0) {
cf586021642d80 Chris Wilson 2021-06-17  104  			pr_err("%ps timed out, size: %u\n", fn, sz);
cf586021642d80 Chris Wilson 2021-06-17  105  			err = -ETIME;
cf586021642d80 Chris Wilson 2021-06-17  106  		}
cf586021642d80 Chris Wilson 2021-06-17  107  		i915_request_put(rq);
cf586021642d80 Chris Wilson 2021-06-17  108  	}
cf586021642d80 Chris Wilson 2021-06-17  109  
cf586021642d80 Chris Wilson 2021-06-17  110  	for (i = 0; !err && i < sz / PAGE_SIZE; i++) {
cf586021642d80 Chris Wilson 2021-06-17  111  		int x = i * 1024 + i915_prandom_u32_max_state(1024, prng);
cf586021642d80 Chris Wilson 2021-06-17  112  
cf586021642d80 Chris Wilson 2021-06-17 @113  		if (vaddr[x] != x) {
cf586021642d80 Chris Wilson 2021-06-17  114  			pr_err("%ps failed, size: %u, offset: %zu\n",
cf586021642d80 Chris Wilson 2021-06-17  115  			       fn, sz, x * sizeof(u32));
cf586021642d80 Chris Wilson 2021-06-17  116  			igt_hexdump(vaddr + i * 1024, 4096);
cf586021642d80 Chris Wilson 2021-06-17  117  			err = -EINVAL;
cf586021642d80 Chris Wilson 2021-06-17  118  		}
cf586021642d80 Chris Wilson 2021-06-17  119  	}
cf586021642d80 Chris Wilson 2021-06-17  120  
cf586021642d80 Chris Wilson 2021-06-17  121  	i915_gem_object_unpin_map(dst);
cf586021642d80 Chris Wilson 2021-06-17  122  	i915_gem_object_unpin_map(src);
cf586021642d80 Chris Wilson 2021-06-17  123  
cf586021642d80 Chris Wilson 2021-06-17  124  err_out:
cf586021642d80 Chris Wilson 2021-06-17  125  	i915_gem_object_put(dst);
cf586021642d80 Chris Wilson 2021-06-17  126  err_free_src:
cf586021642d80 Chris Wilson 2021-06-17  127  	i915_gem_object_put(src);
cf586021642d80 Chris Wilson 2021-06-17  128  
cf586021642d80 Chris Wilson 2021-06-17  129  	return err;
cf586021642d80 Chris Wilson 2021-06-17  130  }
cf586021642d80 Chris Wilson 2021-06-17  131  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

^ permalink raw reply	[flat|nested] 5+ messages in thread

* drivers/gpu/drm/i915/gt/selftest_migrate.c:102 copy() error: uninitialized symbol 'rq'.
@ 2022-02-10  7:39 kernel test robot
  0 siblings, 0 replies; 5+ messages in thread
From: kernel test robot @ 2022-02-10  7:39 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 8237 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Chris Wilson <chris@chris-wilson.co.uk>
CC: Matthew Auld <matthew.auld@intel.com>
CC: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   f4bc5bbb5fef3cf421ba3485d6d383c27ec473ed
commit: cf586021642d8017cde111b7dd1ba86224e9da51 drm/i915/gt: Pipelined page migration
date:   8 months ago
:::::: branch date: 14 hours ago
:::::: commit date: 8 months ago
config: i386-randconfig-m031-20220207 (https://download.01.org/0day-ci/archive/20220210/202202101512.BQ2yInmB-lkp(a)intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
drivers/gpu/drm/i915/gt/selftest_migrate.c:102 copy() error: uninitialized symbol 'rq'.
drivers/gpu/drm/i915/gt/selftest_migrate.c:113 copy() error: uninitialized symbol 'vaddr'.

Old smatch warnings:
drivers/gpu/drm/i915/gem/i915_gem_object.h:182 __i915_gem_object_lock() error: we previously assumed 'ww' could be null (see line 171)

vim +/rq +102 drivers/gpu/drm/i915/gt/selftest_migrate.c

cf586021642d80 Chris Wilson 2021-06-17   31  
cf586021642d80 Chris Wilson 2021-06-17   32  static int copy(struct intel_migrate *migrate,
cf586021642d80 Chris Wilson 2021-06-17   33  		int (*fn)(struct intel_migrate *migrate,
cf586021642d80 Chris Wilson 2021-06-17   34  			  struct i915_gem_ww_ctx *ww,
cf586021642d80 Chris Wilson 2021-06-17   35  			  struct drm_i915_gem_object *src,
cf586021642d80 Chris Wilson 2021-06-17   36  			  struct drm_i915_gem_object *dst,
cf586021642d80 Chris Wilson 2021-06-17   37  			  struct i915_request **out),
cf586021642d80 Chris Wilson 2021-06-17   38  		u32 sz, struct rnd_state *prng)
cf586021642d80 Chris Wilson 2021-06-17   39  {
cf586021642d80 Chris Wilson 2021-06-17   40  	struct drm_i915_private *i915 = migrate->context->engine->i915;
cf586021642d80 Chris Wilson 2021-06-17   41  	struct drm_i915_gem_object *src, *dst;
cf586021642d80 Chris Wilson 2021-06-17   42  	struct i915_request *rq;
cf586021642d80 Chris Wilson 2021-06-17   43  	struct i915_gem_ww_ctx ww;
cf586021642d80 Chris Wilson 2021-06-17   44  	u32 *vaddr;
cf586021642d80 Chris Wilson 2021-06-17   45  	int err = 0;
cf586021642d80 Chris Wilson 2021-06-17   46  	int i;
cf586021642d80 Chris Wilson 2021-06-17   47  
cf586021642d80 Chris Wilson 2021-06-17   48  	src = create_lmem_or_internal(i915, sz);
cf586021642d80 Chris Wilson 2021-06-17   49  	if (IS_ERR(src))
cf586021642d80 Chris Wilson 2021-06-17   50  		return 0;
cf586021642d80 Chris Wilson 2021-06-17   51  
cf586021642d80 Chris Wilson 2021-06-17   52  	dst = i915_gem_object_create_internal(i915, sz);
cf586021642d80 Chris Wilson 2021-06-17   53  	if (IS_ERR(dst))
cf586021642d80 Chris Wilson 2021-06-17   54  		goto err_free_src;
cf586021642d80 Chris Wilson 2021-06-17   55  
cf586021642d80 Chris Wilson 2021-06-17   56  	for_i915_gem_ww(&ww, err, true) {
cf586021642d80 Chris Wilson 2021-06-17   57  		err = i915_gem_object_lock(src, &ww);
cf586021642d80 Chris Wilson 2021-06-17   58  		if (err)
cf586021642d80 Chris Wilson 2021-06-17   59  			continue;
cf586021642d80 Chris Wilson 2021-06-17   60  
cf586021642d80 Chris Wilson 2021-06-17   61  		err = i915_gem_object_lock(dst, &ww);
cf586021642d80 Chris Wilson 2021-06-17   62  		if (err)
cf586021642d80 Chris Wilson 2021-06-17   63  			continue;
cf586021642d80 Chris Wilson 2021-06-17   64  
cf586021642d80 Chris Wilson 2021-06-17   65  		vaddr = i915_gem_object_pin_map(src, I915_MAP_WC);
cf586021642d80 Chris Wilson 2021-06-17   66  		if (IS_ERR(vaddr)) {
cf586021642d80 Chris Wilson 2021-06-17   67  			err = PTR_ERR(vaddr);
cf586021642d80 Chris Wilson 2021-06-17   68  			continue;
cf586021642d80 Chris Wilson 2021-06-17   69  		}
cf586021642d80 Chris Wilson 2021-06-17   70  
cf586021642d80 Chris Wilson 2021-06-17   71  		for (i = 0; i < sz / sizeof(u32); i++)
cf586021642d80 Chris Wilson 2021-06-17   72  			vaddr[i] = i;
cf586021642d80 Chris Wilson 2021-06-17   73  		i915_gem_object_flush_map(src);
cf586021642d80 Chris Wilson 2021-06-17   74  
cf586021642d80 Chris Wilson 2021-06-17   75  		vaddr = i915_gem_object_pin_map(dst, I915_MAP_WC);
cf586021642d80 Chris Wilson 2021-06-17   76  		if (IS_ERR(vaddr)) {
cf586021642d80 Chris Wilson 2021-06-17   77  			err = PTR_ERR(vaddr);
cf586021642d80 Chris Wilson 2021-06-17   78  			goto unpin_src;
cf586021642d80 Chris Wilson 2021-06-17   79  		}
cf586021642d80 Chris Wilson 2021-06-17   80  
cf586021642d80 Chris Wilson 2021-06-17   81  		for (i = 0; i < sz / sizeof(u32); i++)
cf586021642d80 Chris Wilson 2021-06-17   82  			vaddr[i] = ~i;
cf586021642d80 Chris Wilson 2021-06-17   83  		i915_gem_object_flush_map(dst);
cf586021642d80 Chris Wilson 2021-06-17   84  
cf586021642d80 Chris Wilson 2021-06-17   85  		err = fn(migrate, &ww, src, dst, &rq);
cf586021642d80 Chris Wilson 2021-06-17   86  		if (!err)
cf586021642d80 Chris Wilson 2021-06-17   87  			continue;
cf586021642d80 Chris Wilson 2021-06-17   88  
cf586021642d80 Chris Wilson 2021-06-17   89  		if (err != -EDEADLK && err != -EINTR && err != -ERESTARTSYS)
cf586021642d80 Chris Wilson 2021-06-17   90  			pr_err("%ps failed, size: %u\n", fn, sz);
cf586021642d80 Chris Wilson 2021-06-17   91  		if (rq) {
cf586021642d80 Chris Wilson 2021-06-17   92  			i915_request_wait(rq, 0, HZ);
cf586021642d80 Chris Wilson 2021-06-17   93  			i915_request_put(rq);
cf586021642d80 Chris Wilson 2021-06-17   94  		}
cf586021642d80 Chris Wilson 2021-06-17   95  		i915_gem_object_unpin_map(dst);
cf586021642d80 Chris Wilson 2021-06-17   96  unpin_src:
cf586021642d80 Chris Wilson 2021-06-17   97  		i915_gem_object_unpin_map(src);
cf586021642d80 Chris Wilson 2021-06-17   98  	}
cf586021642d80 Chris Wilson 2021-06-17   99  	if (err)
cf586021642d80 Chris Wilson 2021-06-17  100  		goto err_out;
cf586021642d80 Chris Wilson 2021-06-17  101  
cf586021642d80 Chris Wilson 2021-06-17 @102  	if (rq) {
cf586021642d80 Chris Wilson 2021-06-17  103  		if (i915_request_wait(rq, 0, HZ) < 0) {
cf586021642d80 Chris Wilson 2021-06-17  104  			pr_err("%ps timed out, size: %u\n", fn, sz);
cf586021642d80 Chris Wilson 2021-06-17  105  			err = -ETIME;
cf586021642d80 Chris Wilson 2021-06-17  106  		}
cf586021642d80 Chris Wilson 2021-06-17  107  		i915_request_put(rq);
cf586021642d80 Chris Wilson 2021-06-17  108  	}
cf586021642d80 Chris Wilson 2021-06-17  109  
cf586021642d80 Chris Wilson 2021-06-17  110  	for (i = 0; !err && i < sz / PAGE_SIZE; i++) {
cf586021642d80 Chris Wilson 2021-06-17  111  		int x = i * 1024 + i915_prandom_u32_max_state(1024, prng);
cf586021642d80 Chris Wilson 2021-06-17  112  
cf586021642d80 Chris Wilson 2021-06-17 @113  		if (vaddr[x] != x) {
cf586021642d80 Chris Wilson 2021-06-17  114  			pr_err("%ps failed, size: %u, offset: %zu\n",
cf586021642d80 Chris Wilson 2021-06-17  115  			       fn, sz, x * sizeof(u32));
cf586021642d80 Chris Wilson 2021-06-17  116  			igt_hexdump(vaddr + i * 1024, 4096);
cf586021642d80 Chris Wilson 2021-06-17  117  			err = -EINVAL;
cf586021642d80 Chris Wilson 2021-06-17  118  		}
cf586021642d80 Chris Wilson 2021-06-17  119  	}
cf586021642d80 Chris Wilson 2021-06-17  120  
cf586021642d80 Chris Wilson 2021-06-17  121  	i915_gem_object_unpin_map(dst);
cf586021642d80 Chris Wilson 2021-06-17  122  	i915_gem_object_unpin_map(src);
cf586021642d80 Chris Wilson 2021-06-17  123  
cf586021642d80 Chris Wilson 2021-06-17  124  err_out:
cf586021642d80 Chris Wilson 2021-06-17  125  	i915_gem_object_put(dst);
cf586021642d80 Chris Wilson 2021-06-17  126  err_free_src:
cf586021642d80 Chris Wilson 2021-06-17  127  	i915_gem_object_put(src);
cf586021642d80 Chris Wilson 2021-06-17  128  
cf586021642d80 Chris Wilson 2021-06-17  129  	return err;
cf586021642d80 Chris Wilson 2021-06-17  130  }
cf586021642d80 Chris Wilson 2021-06-17  131  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

^ permalink raw reply	[flat|nested] 5+ messages in thread

* drivers/gpu/drm/i915/gt/selftest_migrate.c:102 copy() error: uninitialized symbol 'rq'.
@ 2021-12-17 14:37 kernel test robot
  0 siblings, 0 replies; 5+ messages in thread
From: kernel test robot @ 2021-12-17 14:37 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 8237 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Chris Wilson <chris@chris-wilson.co.uk>
CC: Matthew Auld <matthew.auld@intel.com>
CC: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   6441998e2e37131b0a4c310af9156d79d3351c16
commit: cf586021642d8017cde111b7dd1ba86224e9da51 drm/i915/gt: Pipelined page migration
date:   6 months ago
:::::: branch date: 15 hours ago
:::::: commit date: 6 months ago
config: i386-randconfig-m021-20211207 (https://download.01.org/0day-ci/archive/20211217/202112172224.2FWnygq5-lkp(a)intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
drivers/gpu/drm/i915/gt/selftest_migrate.c:102 copy() error: uninitialized symbol 'rq'.
drivers/gpu/drm/i915/gt/selftest_migrate.c:113 copy() error: uninitialized symbol 'vaddr'.

Old smatch warnings:
drivers/gpu/drm/i915/gem/i915_gem_object.h:182 __i915_gem_object_lock() error: we previously assumed 'ww' could be null (see line 171)

vim +/rq +102 drivers/gpu/drm/i915/gt/selftest_migrate.c

cf586021642d80 Chris Wilson 2021-06-17   31  
cf586021642d80 Chris Wilson 2021-06-17   32  static int copy(struct intel_migrate *migrate,
cf586021642d80 Chris Wilson 2021-06-17   33  		int (*fn)(struct intel_migrate *migrate,
cf586021642d80 Chris Wilson 2021-06-17   34  			  struct i915_gem_ww_ctx *ww,
cf586021642d80 Chris Wilson 2021-06-17   35  			  struct drm_i915_gem_object *src,
cf586021642d80 Chris Wilson 2021-06-17   36  			  struct drm_i915_gem_object *dst,
cf586021642d80 Chris Wilson 2021-06-17   37  			  struct i915_request **out),
cf586021642d80 Chris Wilson 2021-06-17   38  		u32 sz, struct rnd_state *prng)
cf586021642d80 Chris Wilson 2021-06-17   39  {
cf586021642d80 Chris Wilson 2021-06-17   40  	struct drm_i915_private *i915 = migrate->context->engine->i915;
cf586021642d80 Chris Wilson 2021-06-17   41  	struct drm_i915_gem_object *src, *dst;
cf586021642d80 Chris Wilson 2021-06-17   42  	struct i915_request *rq;
cf586021642d80 Chris Wilson 2021-06-17   43  	struct i915_gem_ww_ctx ww;
cf586021642d80 Chris Wilson 2021-06-17   44  	u32 *vaddr;
cf586021642d80 Chris Wilson 2021-06-17   45  	int err = 0;
cf586021642d80 Chris Wilson 2021-06-17   46  	int i;
cf586021642d80 Chris Wilson 2021-06-17   47  
cf586021642d80 Chris Wilson 2021-06-17   48  	src = create_lmem_or_internal(i915, sz);
cf586021642d80 Chris Wilson 2021-06-17   49  	if (IS_ERR(src))
cf586021642d80 Chris Wilson 2021-06-17   50  		return 0;
cf586021642d80 Chris Wilson 2021-06-17   51  
cf586021642d80 Chris Wilson 2021-06-17   52  	dst = i915_gem_object_create_internal(i915, sz);
cf586021642d80 Chris Wilson 2021-06-17   53  	if (IS_ERR(dst))
cf586021642d80 Chris Wilson 2021-06-17   54  		goto err_free_src;
cf586021642d80 Chris Wilson 2021-06-17   55  
cf586021642d80 Chris Wilson 2021-06-17   56  	for_i915_gem_ww(&ww, err, true) {
cf586021642d80 Chris Wilson 2021-06-17   57  		err = i915_gem_object_lock(src, &ww);
cf586021642d80 Chris Wilson 2021-06-17   58  		if (err)
cf586021642d80 Chris Wilson 2021-06-17   59  			continue;
cf586021642d80 Chris Wilson 2021-06-17   60  
cf586021642d80 Chris Wilson 2021-06-17   61  		err = i915_gem_object_lock(dst, &ww);
cf586021642d80 Chris Wilson 2021-06-17   62  		if (err)
cf586021642d80 Chris Wilson 2021-06-17   63  			continue;
cf586021642d80 Chris Wilson 2021-06-17   64  
cf586021642d80 Chris Wilson 2021-06-17   65  		vaddr = i915_gem_object_pin_map(src, I915_MAP_WC);
cf586021642d80 Chris Wilson 2021-06-17   66  		if (IS_ERR(vaddr)) {
cf586021642d80 Chris Wilson 2021-06-17   67  			err = PTR_ERR(vaddr);
cf586021642d80 Chris Wilson 2021-06-17   68  			continue;
cf586021642d80 Chris Wilson 2021-06-17   69  		}
cf586021642d80 Chris Wilson 2021-06-17   70  
cf586021642d80 Chris Wilson 2021-06-17   71  		for (i = 0; i < sz / sizeof(u32); i++)
cf586021642d80 Chris Wilson 2021-06-17   72  			vaddr[i] = i;
cf586021642d80 Chris Wilson 2021-06-17   73  		i915_gem_object_flush_map(src);
cf586021642d80 Chris Wilson 2021-06-17   74  
cf586021642d80 Chris Wilson 2021-06-17   75  		vaddr = i915_gem_object_pin_map(dst, I915_MAP_WC);
cf586021642d80 Chris Wilson 2021-06-17   76  		if (IS_ERR(vaddr)) {
cf586021642d80 Chris Wilson 2021-06-17   77  			err = PTR_ERR(vaddr);
cf586021642d80 Chris Wilson 2021-06-17   78  			goto unpin_src;
cf586021642d80 Chris Wilson 2021-06-17   79  		}
cf586021642d80 Chris Wilson 2021-06-17   80  
cf586021642d80 Chris Wilson 2021-06-17   81  		for (i = 0; i < sz / sizeof(u32); i++)
cf586021642d80 Chris Wilson 2021-06-17   82  			vaddr[i] = ~i;
cf586021642d80 Chris Wilson 2021-06-17   83  		i915_gem_object_flush_map(dst);
cf586021642d80 Chris Wilson 2021-06-17   84  
cf586021642d80 Chris Wilson 2021-06-17   85  		err = fn(migrate, &ww, src, dst, &rq);
cf586021642d80 Chris Wilson 2021-06-17   86  		if (!err)
cf586021642d80 Chris Wilson 2021-06-17   87  			continue;
cf586021642d80 Chris Wilson 2021-06-17   88  
cf586021642d80 Chris Wilson 2021-06-17   89  		if (err != -EDEADLK && err != -EINTR && err != -ERESTARTSYS)
cf586021642d80 Chris Wilson 2021-06-17   90  			pr_err("%ps failed, size: %u\n", fn, sz);
cf586021642d80 Chris Wilson 2021-06-17   91  		if (rq) {
cf586021642d80 Chris Wilson 2021-06-17   92  			i915_request_wait(rq, 0, HZ);
cf586021642d80 Chris Wilson 2021-06-17   93  			i915_request_put(rq);
cf586021642d80 Chris Wilson 2021-06-17   94  		}
cf586021642d80 Chris Wilson 2021-06-17   95  		i915_gem_object_unpin_map(dst);
cf586021642d80 Chris Wilson 2021-06-17   96  unpin_src:
cf586021642d80 Chris Wilson 2021-06-17   97  		i915_gem_object_unpin_map(src);
cf586021642d80 Chris Wilson 2021-06-17   98  	}
cf586021642d80 Chris Wilson 2021-06-17   99  	if (err)
cf586021642d80 Chris Wilson 2021-06-17  100  		goto err_out;
cf586021642d80 Chris Wilson 2021-06-17  101  
cf586021642d80 Chris Wilson 2021-06-17 @102  	if (rq) {
cf586021642d80 Chris Wilson 2021-06-17  103  		if (i915_request_wait(rq, 0, HZ) < 0) {
cf586021642d80 Chris Wilson 2021-06-17  104  			pr_err("%ps timed out, size: %u\n", fn, sz);
cf586021642d80 Chris Wilson 2021-06-17  105  			err = -ETIME;
cf586021642d80 Chris Wilson 2021-06-17  106  		}
cf586021642d80 Chris Wilson 2021-06-17  107  		i915_request_put(rq);
cf586021642d80 Chris Wilson 2021-06-17  108  	}
cf586021642d80 Chris Wilson 2021-06-17  109  
cf586021642d80 Chris Wilson 2021-06-17  110  	for (i = 0; !err && i < sz / PAGE_SIZE; i++) {
cf586021642d80 Chris Wilson 2021-06-17  111  		int x = i * 1024 + i915_prandom_u32_max_state(1024, prng);
cf586021642d80 Chris Wilson 2021-06-17  112  
cf586021642d80 Chris Wilson 2021-06-17 @113  		if (vaddr[x] != x) {
cf586021642d80 Chris Wilson 2021-06-17  114  			pr_err("%ps failed, size: %u, offset: %zu\n",
cf586021642d80 Chris Wilson 2021-06-17  115  			       fn, sz, x * sizeof(u32));
cf586021642d80 Chris Wilson 2021-06-17  116  			igt_hexdump(vaddr + i * 1024, 4096);
cf586021642d80 Chris Wilson 2021-06-17  117  			err = -EINVAL;
cf586021642d80 Chris Wilson 2021-06-17  118  		}
cf586021642d80 Chris Wilson 2021-06-17  119  	}
cf586021642d80 Chris Wilson 2021-06-17  120  
cf586021642d80 Chris Wilson 2021-06-17  121  	i915_gem_object_unpin_map(dst);
cf586021642d80 Chris Wilson 2021-06-17  122  	i915_gem_object_unpin_map(src);
cf586021642d80 Chris Wilson 2021-06-17  123  
cf586021642d80 Chris Wilson 2021-06-17  124  err_out:
cf586021642d80 Chris Wilson 2021-06-17  125  	i915_gem_object_put(dst);
cf586021642d80 Chris Wilson 2021-06-17  126  err_free_src:
cf586021642d80 Chris Wilson 2021-06-17  127  	i915_gem_object_put(src);
cf586021642d80 Chris Wilson 2021-06-17  128  
cf586021642d80 Chris Wilson 2021-06-17  129  	return err;
cf586021642d80 Chris Wilson 2021-06-17  130  }
cf586021642d80 Chris Wilson 2021-06-17  131  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

^ permalink raw reply	[flat|nested] 5+ messages in thread

* drivers/gpu/drm/i915/gt/selftest_migrate.c:102 copy() error: uninitialized symbol 'rq'.
@ 2021-11-27 16:32 kernel test robot
  0 siblings, 0 replies; 5+ messages in thread
From: kernel test robot @ 2021-11-27 16:32 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 8237 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Chris Wilson <chris@chris-wilson.co.uk>
CC: Matthew Auld <matthew.auld@intel.com>
CC: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   c5c17547b778975b3d83a73c8d84e8fb5ecf3ba5
commit: cf586021642d8017cde111b7dd1ba86224e9da51 drm/i915/gt: Pipelined page migration
date:   5 months ago
:::::: branch date: 19 hours ago
:::::: commit date: 5 months ago
config: i386-randconfig-m021-20211116 (https://download.01.org/0day-ci/archive/20211128/202111280024.ZMTnooxX-lkp(a)intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
drivers/gpu/drm/i915/gt/selftest_migrate.c:102 copy() error: uninitialized symbol 'rq'.
drivers/gpu/drm/i915/gt/selftest_migrate.c:113 copy() error: uninitialized symbol 'vaddr'.

Old smatch warnings:
drivers/gpu/drm/i915/gem/i915_gem_object.h:182 __i915_gem_object_lock() error: we previously assumed 'ww' could be null (see line 171)

vim +/rq +102 drivers/gpu/drm/i915/gt/selftest_migrate.c

cf586021642d80 Chris Wilson 2021-06-17   31  
cf586021642d80 Chris Wilson 2021-06-17   32  static int copy(struct intel_migrate *migrate,
cf586021642d80 Chris Wilson 2021-06-17   33  		int (*fn)(struct intel_migrate *migrate,
cf586021642d80 Chris Wilson 2021-06-17   34  			  struct i915_gem_ww_ctx *ww,
cf586021642d80 Chris Wilson 2021-06-17   35  			  struct drm_i915_gem_object *src,
cf586021642d80 Chris Wilson 2021-06-17   36  			  struct drm_i915_gem_object *dst,
cf586021642d80 Chris Wilson 2021-06-17   37  			  struct i915_request **out),
cf586021642d80 Chris Wilson 2021-06-17   38  		u32 sz, struct rnd_state *prng)
cf586021642d80 Chris Wilson 2021-06-17   39  {
cf586021642d80 Chris Wilson 2021-06-17   40  	struct drm_i915_private *i915 = migrate->context->engine->i915;
cf586021642d80 Chris Wilson 2021-06-17   41  	struct drm_i915_gem_object *src, *dst;
cf586021642d80 Chris Wilson 2021-06-17   42  	struct i915_request *rq;
cf586021642d80 Chris Wilson 2021-06-17   43  	struct i915_gem_ww_ctx ww;
cf586021642d80 Chris Wilson 2021-06-17   44  	u32 *vaddr;
cf586021642d80 Chris Wilson 2021-06-17   45  	int err = 0;
cf586021642d80 Chris Wilson 2021-06-17   46  	int i;
cf586021642d80 Chris Wilson 2021-06-17   47  
cf586021642d80 Chris Wilson 2021-06-17   48  	src = create_lmem_or_internal(i915, sz);
cf586021642d80 Chris Wilson 2021-06-17   49  	if (IS_ERR(src))
cf586021642d80 Chris Wilson 2021-06-17   50  		return 0;
cf586021642d80 Chris Wilson 2021-06-17   51  
cf586021642d80 Chris Wilson 2021-06-17   52  	dst = i915_gem_object_create_internal(i915, sz);
cf586021642d80 Chris Wilson 2021-06-17   53  	if (IS_ERR(dst))
cf586021642d80 Chris Wilson 2021-06-17   54  		goto err_free_src;
cf586021642d80 Chris Wilson 2021-06-17   55  
cf586021642d80 Chris Wilson 2021-06-17   56  	for_i915_gem_ww(&ww, err, true) {
cf586021642d80 Chris Wilson 2021-06-17   57  		err = i915_gem_object_lock(src, &ww);
cf586021642d80 Chris Wilson 2021-06-17   58  		if (err)
cf586021642d80 Chris Wilson 2021-06-17   59  			continue;
cf586021642d80 Chris Wilson 2021-06-17   60  
cf586021642d80 Chris Wilson 2021-06-17   61  		err = i915_gem_object_lock(dst, &ww);
cf586021642d80 Chris Wilson 2021-06-17   62  		if (err)
cf586021642d80 Chris Wilson 2021-06-17   63  			continue;
cf586021642d80 Chris Wilson 2021-06-17   64  
cf586021642d80 Chris Wilson 2021-06-17   65  		vaddr = i915_gem_object_pin_map(src, I915_MAP_WC);
cf586021642d80 Chris Wilson 2021-06-17   66  		if (IS_ERR(vaddr)) {
cf586021642d80 Chris Wilson 2021-06-17   67  			err = PTR_ERR(vaddr);
cf586021642d80 Chris Wilson 2021-06-17   68  			continue;
cf586021642d80 Chris Wilson 2021-06-17   69  		}
cf586021642d80 Chris Wilson 2021-06-17   70  
cf586021642d80 Chris Wilson 2021-06-17   71  		for (i = 0; i < sz / sizeof(u32); i++)
cf586021642d80 Chris Wilson 2021-06-17   72  			vaddr[i] = i;
cf586021642d80 Chris Wilson 2021-06-17   73  		i915_gem_object_flush_map(src);
cf586021642d80 Chris Wilson 2021-06-17   74  
cf586021642d80 Chris Wilson 2021-06-17   75  		vaddr = i915_gem_object_pin_map(dst, I915_MAP_WC);
cf586021642d80 Chris Wilson 2021-06-17   76  		if (IS_ERR(vaddr)) {
cf586021642d80 Chris Wilson 2021-06-17   77  			err = PTR_ERR(vaddr);
cf586021642d80 Chris Wilson 2021-06-17   78  			goto unpin_src;
cf586021642d80 Chris Wilson 2021-06-17   79  		}
cf586021642d80 Chris Wilson 2021-06-17   80  
cf586021642d80 Chris Wilson 2021-06-17   81  		for (i = 0; i < sz / sizeof(u32); i++)
cf586021642d80 Chris Wilson 2021-06-17   82  			vaddr[i] = ~i;
cf586021642d80 Chris Wilson 2021-06-17   83  		i915_gem_object_flush_map(dst);
cf586021642d80 Chris Wilson 2021-06-17   84  
cf586021642d80 Chris Wilson 2021-06-17   85  		err = fn(migrate, &ww, src, dst, &rq);
cf586021642d80 Chris Wilson 2021-06-17   86  		if (!err)
cf586021642d80 Chris Wilson 2021-06-17   87  			continue;
cf586021642d80 Chris Wilson 2021-06-17   88  
cf586021642d80 Chris Wilson 2021-06-17   89  		if (err != -EDEADLK && err != -EINTR && err != -ERESTARTSYS)
cf586021642d80 Chris Wilson 2021-06-17   90  			pr_err("%ps failed, size: %u\n", fn, sz);
cf586021642d80 Chris Wilson 2021-06-17   91  		if (rq) {
cf586021642d80 Chris Wilson 2021-06-17   92  			i915_request_wait(rq, 0, HZ);
cf586021642d80 Chris Wilson 2021-06-17   93  			i915_request_put(rq);
cf586021642d80 Chris Wilson 2021-06-17   94  		}
cf586021642d80 Chris Wilson 2021-06-17   95  		i915_gem_object_unpin_map(dst);
cf586021642d80 Chris Wilson 2021-06-17   96  unpin_src:
cf586021642d80 Chris Wilson 2021-06-17   97  		i915_gem_object_unpin_map(src);
cf586021642d80 Chris Wilson 2021-06-17   98  	}
cf586021642d80 Chris Wilson 2021-06-17   99  	if (err)
cf586021642d80 Chris Wilson 2021-06-17  100  		goto err_out;
cf586021642d80 Chris Wilson 2021-06-17  101  
cf586021642d80 Chris Wilson 2021-06-17 @102  	if (rq) {
cf586021642d80 Chris Wilson 2021-06-17  103  		if (i915_request_wait(rq, 0, HZ) < 0) {
cf586021642d80 Chris Wilson 2021-06-17  104  			pr_err("%ps timed out, size: %u\n", fn, sz);
cf586021642d80 Chris Wilson 2021-06-17  105  			err = -ETIME;
cf586021642d80 Chris Wilson 2021-06-17  106  		}
cf586021642d80 Chris Wilson 2021-06-17  107  		i915_request_put(rq);
cf586021642d80 Chris Wilson 2021-06-17  108  	}
cf586021642d80 Chris Wilson 2021-06-17  109  
cf586021642d80 Chris Wilson 2021-06-17  110  	for (i = 0; !err && i < sz / PAGE_SIZE; i++) {
cf586021642d80 Chris Wilson 2021-06-17  111  		int x = i * 1024 + i915_prandom_u32_max_state(1024, prng);
cf586021642d80 Chris Wilson 2021-06-17  112  
cf586021642d80 Chris Wilson 2021-06-17 @113  		if (vaddr[x] != x) {
cf586021642d80 Chris Wilson 2021-06-17  114  			pr_err("%ps failed, size: %u, offset: %zu\n",
cf586021642d80 Chris Wilson 2021-06-17  115  			       fn, sz, x * sizeof(u32));
cf586021642d80 Chris Wilson 2021-06-17  116  			igt_hexdump(vaddr + i * 1024, 4096);
cf586021642d80 Chris Wilson 2021-06-17  117  			err = -EINVAL;
cf586021642d80 Chris Wilson 2021-06-17  118  		}
cf586021642d80 Chris Wilson 2021-06-17  119  	}
cf586021642d80 Chris Wilson 2021-06-17  120  
cf586021642d80 Chris Wilson 2021-06-17  121  	i915_gem_object_unpin_map(dst);
cf586021642d80 Chris Wilson 2021-06-17  122  	i915_gem_object_unpin_map(src);
cf586021642d80 Chris Wilson 2021-06-17  123  
cf586021642d80 Chris Wilson 2021-06-17  124  err_out:
cf586021642d80 Chris Wilson 2021-06-17  125  	i915_gem_object_put(dst);
cf586021642d80 Chris Wilson 2021-06-17  126  err_free_src:
cf586021642d80 Chris Wilson 2021-06-17  127  	i915_gem_object_put(src);
cf586021642d80 Chris Wilson 2021-06-17  128  
cf586021642d80 Chris Wilson 2021-06-17  129  	return err;
cf586021642d80 Chris Wilson 2021-06-17  130  }
cf586021642d80 Chris Wilson 2021-06-17  131  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

^ permalink raw reply	[flat|nested] 5+ messages in thread

* drivers/gpu/drm/i915/gt/selftest_migrate.c:102 copy() error: uninitialized symbol 'rq'.
@ 2021-11-25 23:45 kernel test robot
  0 siblings, 0 replies; 5+ messages in thread
From: kernel test robot @ 2021-11-25 23:45 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 8337 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Chris Wilson <chris@chris-wilson.co.uk>
CC: Matthew Auld <matthew.auld@intel.com>
CC: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   8ced7ca3570333998ad2088d5a6275701970e28e
commit: cf586021642d8017cde111b7dd1ba86224e9da51 drm/i915/gt: Pipelined page migration
date:   5 months ago
:::::: branch date: 5 hours ago
:::::: commit date: 5 months ago
config: i386-randconfig-m021-20211116 (https://download.01.org/0day-ci/archive/20211126/202111260712.wpRC6Dh0-lkp(a)intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
drivers/gpu/drm/i915/gt/selftest_migrate.c:102 copy() error: uninitialized symbol 'rq'.
drivers/gpu/drm/i915/gt/selftest_migrate.c:113 copy() error: uninitialized symbol 'vaddr'.

Old smatch warnings:
drivers/gpu/drm/i915/gem/i915_gem_object.h:182 __i915_gem_object_lock() error: we previously assumed 'ww' could be null (see line 171)

vim +/rq +102 drivers/gpu/drm/i915/gt/selftest_migrate.c

cf586021642d801 Chris Wilson 2021-06-17   31  
cf586021642d801 Chris Wilson 2021-06-17   32  static int copy(struct intel_migrate *migrate,
cf586021642d801 Chris Wilson 2021-06-17   33  		int (*fn)(struct intel_migrate *migrate,
cf586021642d801 Chris Wilson 2021-06-17   34  			  struct i915_gem_ww_ctx *ww,
cf586021642d801 Chris Wilson 2021-06-17   35  			  struct drm_i915_gem_object *src,
cf586021642d801 Chris Wilson 2021-06-17   36  			  struct drm_i915_gem_object *dst,
cf586021642d801 Chris Wilson 2021-06-17   37  			  struct i915_request **out),
cf586021642d801 Chris Wilson 2021-06-17   38  		u32 sz, struct rnd_state *prng)
cf586021642d801 Chris Wilson 2021-06-17   39  {
cf586021642d801 Chris Wilson 2021-06-17   40  	struct drm_i915_private *i915 = migrate->context->engine->i915;
cf586021642d801 Chris Wilson 2021-06-17   41  	struct drm_i915_gem_object *src, *dst;
cf586021642d801 Chris Wilson 2021-06-17   42  	struct i915_request *rq;
cf586021642d801 Chris Wilson 2021-06-17   43  	struct i915_gem_ww_ctx ww;
cf586021642d801 Chris Wilson 2021-06-17   44  	u32 *vaddr;
cf586021642d801 Chris Wilson 2021-06-17   45  	int err = 0;
cf586021642d801 Chris Wilson 2021-06-17   46  	int i;
cf586021642d801 Chris Wilson 2021-06-17   47  
cf586021642d801 Chris Wilson 2021-06-17   48  	src = create_lmem_or_internal(i915, sz);
cf586021642d801 Chris Wilson 2021-06-17   49  	if (IS_ERR(src))
cf586021642d801 Chris Wilson 2021-06-17   50  		return 0;
cf586021642d801 Chris Wilson 2021-06-17   51  
cf586021642d801 Chris Wilson 2021-06-17   52  	dst = i915_gem_object_create_internal(i915, sz);
cf586021642d801 Chris Wilson 2021-06-17   53  	if (IS_ERR(dst))
cf586021642d801 Chris Wilson 2021-06-17   54  		goto err_free_src;
cf586021642d801 Chris Wilson 2021-06-17   55  
cf586021642d801 Chris Wilson 2021-06-17   56  	for_i915_gem_ww(&ww, err, true) {
cf586021642d801 Chris Wilson 2021-06-17   57  		err = i915_gem_object_lock(src, &ww);
cf586021642d801 Chris Wilson 2021-06-17   58  		if (err)
cf586021642d801 Chris Wilson 2021-06-17   59  			continue;
cf586021642d801 Chris Wilson 2021-06-17   60  
cf586021642d801 Chris Wilson 2021-06-17   61  		err = i915_gem_object_lock(dst, &ww);
cf586021642d801 Chris Wilson 2021-06-17   62  		if (err)
cf586021642d801 Chris Wilson 2021-06-17   63  			continue;
cf586021642d801 Chris Wilson 2021-06-17   64  
cf586021642d801 Chris Wilson 2021-06-17   65  		vaddr = i915_gem_object_pin_map(src, I915_MAP_WC);
cf586021642d801 Chris Wilson 2021-06-17   66  		if (IS_ERR(vaddr)) {
cf586021642d801 Chris Wilson 2021-06-17   67  			err = PTR_ERR(vaddr);
cf586021642d801 Chris Wilson 2021-06-17   68  			continue;
cf586021642d801 Chris Wilson 2021-06-17   69  		}
cf586021642d801 Chris Wilson 2021-06-17   70  
cf586021642d801 Chris Wilson 2021-06-17   71  		for (i = 0; i < sz / sizeof(u32); i++)
cf586021642d801 Chris Wilson 2021-06-17   72  			vaddr[i] = i;
cf586021642d801 Chris Wilson 2021-06-17   73  		i915_gem_object_flush_map(src);
cf586021642d801 Chris Wilson 2021-06-17   74  
cf586021642d801 Chris Wilson 2021-06-17   75  		vaddr = i915_gem_object_pin_map(dst, I915_MAP_WC);
cf586021642d801 Chris Wilson 2021-06-17   76  		if (IS_ERR(vaddr)) {
cf586021642d801 Chris Wilson 2021-06-17   77  			err = PTR_ERR(vaddr);
cf586021642d801 Chris Wilson 2021-06-17   78  			goto unpin_src;
cf586021642d801 Chris Wilson 2021-06-17   79  		}
cf586021642d801 Chris Wilson 2021-06-17   80  
cf586021642d801 Chris Wilson 2021-06-17   81  		for (i = 0; i < sz / sizeof(u32); i++)
cf586021642d801 Chris Wilson 2021-06-17   82  			vaddr[i] = ~i;
cf586021642d801 Chris Wilson 2021-06-17   83  		i915_gem_object_flush_map(dst);
cf586021642d801 Chris Wilson 2021-06-17   84  
cf586021642d801 Chris Wilson 2021-06-17   85  		err = fn(migrate, &ww, src, dst, &rq);
cf586021642d801 Chris Wilson 2021-06-17   86  		if (!err)
cf586021642d801 Chris Wilson 2021-06-17   87  			continue;
cf586021642d801 Chris Wilson 2021-06-17   88  
cf586021642d801 Chris Wilson 2021-06-17   89  		if (err != -EDEADLK && err != -EINTR && err != -ERESTARTSYS)
cf586021642d801 Chris Wilson 2021-06-17   90  			pr_err("%ps failed, size: %u\n", fn, sz);
cf586021642d801 Chris Wilson 2021-06-17   91  		if (rq) {
cf586021642d801 Chris Wilson 2021-06-17   92  			i915_request_wait(rq, 0, HZ);
cf586021642d801 Chris Wilson 2021-06-17   93  			i915_request_put(rq);
cf586021642d801 Chris Wilson 2021-06-17   94  		}
cf586021642d801 Chris Wilson 2021-06-17   95  		i915_gem_object_unpin_map(dst);
cf586021642d801 Chris Wilson 2021-06-17   96  unpin_src:
cf586021642d801 Chris Wilson 2021-06-17   97  		i915_gem_object_unpin_map(src);
cf586021642d801 Chris Wilson 2021-06-17   98  	}
cf586021642d801 Chris Wilson 2021-06-17   99  	if (err)
cf586021642d801 Chris Wilson 2021-06-17  100  		goto err_out;
cf586021642d801 Chris Wilson 2021-06-17  101  
cf586021642d801 Chris Wilson 2021-06-17 @102  	if (rq) {
cf586021642d801 Chris Wilson 2021-06-17  103  		if (i915_request_wait(rq, 0, HZ) < 0) {
cf586021642d801 Chris Wilson 2021-06-17  104  			pr_err("%ps timed out, size: %u\n", fn, sz);
cf586021642d801 Chris Wilson 2021-06-17  105  			err = -ETIME;
cf586021642d801 Chris Wilson 2021-06-17  106  		}
cf586021642d801 Chris Wilson 2021-06-17  107  		i915_request_put(rq);
cf586021642d801 Chris Wilson 2021-06-17  108  	}
cf586021642d801 Chris Wilson 2021-06-17  109  
cf586021642d801 Chris Wilson 2021-06-17  110  	for (i = 0; !err && i < sz / PAGE_SIZE; i++) {
cf586021642d801 Chris Wilson 2021-06-17  111  		int x = i * 1024 + i915_prandom_u32_max_state(1024, prng);
cf586021642d801 Chris Wilson 2021-06-17  112  
cf586021642d801 Chris Wilson 2021-06-17 @113  		if (vaddr[x] != x) {
cf586021642d801 Chris Wilson 2021-06-17  114  			pr_err("%ps failed, size: %u, offset: %zu\n",
cf586021642d801 Chris Wilson 2021-06-17  115  			       fn, sz, x * sizeof(u32));
cf586021642d801 Chris Wilson 2021-06-17  116  			igt_hexdump(vaddr + i * 1024, 4096);
cf586021642d801 Chris Wilson 2021-06-17  117  			err = -EINVAL;
cf586021642d801 Chris Wilson 2021-06-17  118  		}
cf586021642d801 Chris Wilson 2021-06-17  119  	}
cf586021642d801 Chris Wilson 2021-06-17  120  
cf586021642d801 Chris Wilson 2021-06-17  121  	i915_gem_object_unpin_map(dst);
cf586021642d801 Chris Wilson 2021-06-17  122  	i915_gem_object_unpin_map(src);
cf586021642d801 Chris Wilson 2021-06-17  123  
cf586021642d801 Chris Wilson 2021-06-17  124  err_out:
cf586021642d801 Chris Wilson 2021-06-17  125  	i915_gem_object_put(dst);
cf586021642d801 Chris Wilson 2021-06-17  126  err_free_src:
cf586021642d801 Chris Wilson 2021-06-17  127  	i915_gem_object_put(src);
cf586021642d801 Chris Wilson 2021-06-17  128  
cf586021642d801 Chris Wilson 2021-06-17  129  	return err;
cf586021642d801 Chris Wilson 2021-06-17  130  }
cf586021642d801 Chris Wilson 2021-06-17  131  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-02-10  7:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-21 13:49 drivers/gpu/drm/i915/gt/selftest_migrate.c:102 copy() error: uninitialized symbol 'rq' kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2022-02-10  7:39 kernel test robot
2021-12-17 14:37 kernel test robot
2021-11-27 16:32 kernel test robot
2021-11-25 23:45 kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.