[drm-intel:for-linux-next 3/3] drivers/gpu/drm/i915/i915_gem_gtt.c:3317:3: error: implicit declaration of function 'wbinvd_on_all_cpus'; did you mean 'wrmsr_on_cpus'?

kbuild test robot lkp at intel.com
Wed Aug 21 08:53:37 UTC 2019


tree:   git://anongit.freedesktop.org/drm-intel for-linux-next
head:   64b95df91f44837f961321a6c555409885ca59c4
commit: 64b95df91f44837f961321a6c555409885ca59c4 [3/3] drm/i915: Assume exclusive access to objects inside resume
config: x86_64-randconfig-f002-201933 (attached as .config)
compiler: gcc-7 (Debian 7.4.0-10) 7.4.0
reproduce:
        git checkout 64b95df91f44837f961321a6c555409885ca59c4
        # save the attached .config to linux build tree
        make ARCH=x86_64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp at intel.com>

All errors (new ones prefixed by >>):

   drivers/gpu/drm/i915/i915_gem_gtt.c: In function 'ggtt_restore_mappings':
>> drivers/gpu/drm/i915/i915_gem_gtt.c:3317:3: error: implicit declaration of function 'wbinvd_on_all_cpus'; did you mean 'wrmsr_on_cpus'? [-Werror=implicit-function-declaration]
      wbinvd_on_all_cpus();
      ^~~~~~~~~~~~~~~~~~
      wrmsr_on_cpus
   Cyclomatic Complexity 5 include/linux/compiler.h:__read_once_size
   Cyclomatic Complexity 5 include/linux/compiler.h:__write_once_size
   Cyclomatic Complexity 1 include/linux/kasan-checks.h:kasan_check_read
   Cyclomatic Complexity 1 include/linux/kasan-checks.h:kasan_check_write
   Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:fls64
   Cyclomatic Complexity 1 include/linux/log2.h:__ilog2_u64
   Cyclomatic Complexity 1 include/linux/list.h:INIT_LIST_HEAD
   Cyclomatic Complexity 1 include/linux/list.h:__list_del
   Cyclomatic Complexity 1 include/linux/math64.h:div64_u64_rem
   Cyclomatic Complexity 1 arch/x86/include/asm/current.h:get_current
   Cyclomatic Complexity 1 include/asm-generic/getorder.h:__get_order
   Cyclomatic Complexity 2 arch/x86/include/asm/jump_label.h:arch_static_branch
   Cyclomatic Complexity 1 include/linux/jump_label.h:static_key_false
   Cyclomatic Complexity 1 arch/x86/include/asm/string_64.h:memset32
   Cyclomatic Complexity 1 arch/x86/include/asm/string_64.h:memset64
   Cyclomatic Complexity 1 include/linux/string.h:memset_p
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:arch_atomic_read
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:arch_atomic_set
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:arch_atomic_add
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:arch_atomic_sub
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:arch_atomic_inc
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:arch_atomic_dec
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:arch_atomic_dec_and_test
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:arch_atomic_add_return
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:arch_atomic_sub_return
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:arch_atomic_fetch_add
   Cyclomatic Complexity 2 arch/x86/include/asm/atomic.h:arch_atomic_try_cmpxchg
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic64_64.h:arch_atomic64_read
   Cyclomatic Complexity 1 include/asm-generic/atomic-instrumented.h:atomic_read
   Cyclomatic Complexity 1 include/asm-generic/atomic-instrumented.h:atomic_set
   Cyclomatic Complexity 1 include/asm-generic/atomic-instrumented.h:atomic_add
   Cyclomatic Complexity 1 include/asm-generic/atomic-instrumented.h:atomic_fetch_add
   Cyclomatic Complexity 1 include/asm-generic/atomic-instrumented.h:atomic_sub
   Cyclomatic Complexity 1 include/asm-generic/atomic-instrumented.h:atomic_sub_return
   Cyclomatic Complexity 1 include/asm-generic/atomic-instrumented.h:atomic_inc
   Cyclomatic Complexity 1 include/asm-generic/atomic-instrumented.h:atomic_dec
   Cyclomatic Complexity 1 include/asm-generic/atomic-instrumented.h:atomic_try_cmpxchg
   Cyclomatic Complexity 1 include/asm-generic/atomic-instrumented.h:atomic_dec_and_test
   Cyclomatic Complexity 1 include/asm-generic/atomic-instrumented.h:atomic64_read
   Cyclomatic Complexity 1 include/linux/atomic-fallback.h:atomic_fetch_inc
   Cyclomatic Complexity 1 include/asm-generic/atomic-long.h:atomic_long_read
   Cyclomatic Complexity 1 include/linux/err.h:ERR_PTR
   Cyclomatic Complexity 1 include/linux/err.h:PTR_ERR
   Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:native_save_fl
   Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:native_restore_fl
   Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:native_irq_disable
   Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:arch_local_save_flags
   Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:arch_local_irq_restore
   Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:arch_local_irq_disable
   Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:arch_local_irq_save
   Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:arch_irqs_disabled_flags
   Cyclomatic Complexity 5 arch/x86/include/asm/preempt.h:__preempt_count_add
   Cyclomatic Complexity 5 arch/x86/include/asm/preempt.h:__preempt_count_sub
   Cyclomatic Complexity 1 include/linux/spinlock.h:spinlock_check
   Cyclomatic Complexity 1 include/linux/spinlock.h:spin_lock
   Cyclomatic Complexity 1 include/linux/spinlock.h:spin_unlock
   Cyclomatic Complexity 1 include/linux/nodemask.h:node_state
   Cyclomatic Complexity 1 include/linux/rcupdate.h:rcu_read_lock_sched_notrace
   Cyclomatic Complexity 1 include/linux/rcupdate.h:rcu_read_unlock_sched_notrace
   Cyclomatic Complexity 1 include/linux/workqueue.h:__init_work
   Cyclomatic Complexity 1 include/linux/mmzone.h:pfn_to_section_nr
   Cyclomatic Complexity 3 include/linux/mmzone.h:__nr_to_section
   Cyclomatic Complexity 1 include/linux/mmzone.h:__section_mem_map_addr
   Cyclomatic Complexity 1 include/linux/mmzone.h:__pfn_to_section
   Cyclomatic Complexity 1 arch/x86/include/asm/topology.h:numa_node_id
   Cyclomatic Complexity 1 include/linux/topology.h:numa_mem_id
   Cyclomatic Complexity 1 include/linux/slab.h:kmalloc_type
   Cyclomatic Complexity 28 include/linux/slab.h:kmalloc_index
   Cyclomatic Complexity 68 include/linux/slab.h:kmalloc_large
   Cyclomatic Complexity 4 include/linux/slab.h:kmalloc
   Cyclomatic Complexity 1 include/linux/slab.h:kzalloc
   Cyclomatic Complexity 1 include/linux/refcount.h:refcount_set
   Cyclomatic Complexity 2 include/linux/random.h:__seed
   Cyclomatic Complexity 1 include/linux/random.h:prandom_seed_state
   Cyclomatic Complexity 1 include/linux/ioport.h:resource_size
   Cyclomatic Complexity 1 include/linux/kref.h:kref_init
   Cyclomatic Complexity 1 include/linux/uaccess.h:pagefault_disabled_inc
   Cyclomatic Complexity 1 include/linux/uaccess.h:pagefault_disabled_dec
   Cyclomatic Complexity 1 include/linux/uaccess.h:pagefault_disable
   Cyclomatic Complexity 1 include/linux/uaccess.h:pagefault_enable
   Cyclomatic Complexity 1 include/linux/mm.h:totalram_pages
   Cyclomatic Complexity 1 arch/x86/include/asm/io.h:writel
   Cyclomatic Complexity 1 arch/x86/include/asm/io.h:writeq
   Cyclomatic Complexity 1 include/linux/mm.h:page_to_section
   Cyclomatic Complexity 1 include/linux/mm.h:lowmem_page_address
   Cyclomatic Complexity 1 drivers/gpu/drm/i915/i915_reg.h:i915_mmio_reg_offset
   Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_uncore.h:__raw_uncore_write32
   Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_uncore.h:intel_uncore_read
   Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_uncore.h:intel_uncore_read_notrace
   Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_uncore.h:intel_uncore_write
   Cyclomatic Complexity 1 drivers/gpu/drm/i915/intel_uncore.h:intel_uncore_rmw
   Cyclomatic Complexity 1 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h:__intel_uc_fw_status
   Cyclomatic Complexity 1 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h:intel_uc_fw_is_enabled
   Cyclomatic Complexity 1 include/linux/io-mapping.h:io_mapping_map_wc
   Cyclomatic Complexity 1 include/linux/io-mapping.h:io_mapping_unmap
   Cyclomatic Complexity 1 include/linux/io-mapping.h:io_mapping_map_atomic_wc
   Cyclomatic Complexity 1 include/linux/io-mapping.h:io_mapping_unmap_atomic

vim +3317 drivers/gpu/drm/i915/i915_gem_gtt.c

  3273	
  3274	static void ggtt_restore_mappings(struct i915_ggtt *ggtt)
  3275	{
  3276		struct i915_vma *vma, *vn;
  3277		bool flush = false;
  3278	
  3279		intel_gt_check_and_clear_faults(ggtt->vm.gt);
  3280	
  3281		mutex_lock(&ggtt->vm.mutex);
  3282	
  3283		/* First fill our portion of the GTT with scratch pages */
  3284		ggtt->vm.clear_range(&ggtt->vm, 0, ggtt->vm.total);
  3285		ggtt->vm.closed = true; /* skip rewriting PTE on VMA unbind */
  3286	
  3287		/* clflush objects bound into the GGTT and rebind them. */
  3288		list_for_each_entry_safe(vma, vn, &ggtt->vm.bound_list, vm_link) {
  3289			struct drm_i915_gem_object *obj = vma->obj;
  3290	
  3291			if (!(vma->flags & I915_VMA_GLOBAL_BIND))
  3292				continue;
  3293	
  3294			mutex_unlock(&ggtt->vm.mutex);
  3295	
  3296			if (!i915_vma_unbind(vma))
  3297				goto lock;
  3298	
  3299			WARN_ON(i915_vma_bind(vma,
  3300					      obj ? obj->cache_level : 0,
  3301					      PIN_UPDATE));
  3302			if (obj) { /* only used during resume => exclusive access */
  3303				flush |= fetch_and_zero(&obj->write_domain);
  3304				obj->read_domains |= I915_GEM_DOMAIN_GTT;
  3305			}
  3306	
  3307	lock:
  3308			mutex_lock(&ggtt->vm.mutex);
  3309		}
  3310	
  3311		ggtt->vm.closed = false;
  3312		ggtt->invalidate(ggtt);
  3313	
  3314		mutex_unlock(&ggtt->vm.mutex);
  3315	
  3316		if (flush)
> 3317			wbinvd_on_all_cpus();
  3318	}
  3319	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 29522 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20190821/2306a36b/attachment-0001.gz>


More information about the dri-devel mailing list