[radeon-alex:amd-18.50 1284/1418] drivers/gpu//drm/v3d/v3d_sched.c:158:30: error: implicit declaration of function 'V3D_CLE_CTNRA'; did you mean 'V3D_CLE_CT1RA'?

kbuild test robot lkp at intel.com
Fri Jan 4 16:05:07 UTC 2019


tree:   git://people.freedesktop.org/~agd5f/linux.git amd-18.50
head:   6b02d4906a8c5b3e4a268516057e5b77bbc5f559
commit: a26f88704ef76f0213692b3b04f210de6e9e8676 [1284/1418] drm/scheduler: fix build error due to change in scheduler struct
config: riscv-allyesconfig (attached as .config)
compiler: riscv64-linux-gcc (GCC) 8.1.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout a26f88704ef76f0213692b3b04f210de6e9e8676
        # save the attached .config to linux build tree
        GCC_VERSION=8.1.0 make.cross ARCH=riscv 

All errors (new ones prefixed by >>):

   In file included from include/linux/byteorder/little_endian.h:5,
                    from arch/riscv/include/uapi/asm/byteorder.h:21,
                    from include/asm-generic/bitops/le.h:6,
                    from arch/riscv/include/asm/bitops.h:215,
                    from include/linux/bitops.h:38,
                    from include/linux/kernel.h:11,
                    from include/asm-generic/bug.h:18,
                    from arch/riscv/include/asm/bug.h:75,
                    from include/linux/bug.h:5,
                    from arch/riscv/include/asm/current.h:21,
                    from include/linux/sched.h:12,
                    from include/linux/kthread.h:6,
                    from drivers/gpu//drm/v3d/v3d_sched.c:21:
   drivers/gpu//drm/v3d/v3d_sched.c: In function 'v3d_job_timedout':
   drivers/gpu//drm/v3d/v3d_sched.c:157:44: error: 'job_q' undeclared (first use in this function); did you mean 'job'?
     u32 ctca = V3D_CORE_READ(0, V3D_CLE_CTNCA(job_q));
                                               ^~~~~
   include/uapi/linux/byteorder/little_endian.h:34:51: note: in definition of macro '__le32_to_cpu'
    #define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
                                                      ^
   arch/riscv/include/asm/io.h:172:47: note: in expansion of macro 'readl_cpu'
    #define readl(c) ({ u32 __v; __io_br(); __v = readl_cpu(c); __io_ar(); __v; })
                                                  ^~~~~~~~~
   drivers/gpu//drm/v3d/v3d_drv.h:166:37: note: in expansion of macro 'readl'
    #define V3D_CORE_READ(core, offset) readl(v3d->core_regs[core] + offset)
                                        ^~~~~
   drivers/gpu//drm/v3d/v3d_sched.c:157:13: note: in expansion of macro 'V3D_CORE_READ'
     u32 ctca = V3D_CORE_READ(0, V3D_CLE_CTNCA(job_q));
                ^~~~~~~~~~~~~
   drivers/gpu//drm/v3d/v3d_sched.c:157:30: note: in expansion of macro 'V3D_CLE_CTNCA'
     u32 ctca = V3D_CORE_READ(0, V3D_CLE_CTNCA(job_q));
                                 ^~~~~~~~~~~~~
   drivers/gpu//drm/v3d/v3d_sched.c:157:44: note: each undeclared identifier is reported only once for each function it appears in
     u32 ctca = V3D_CORE_READ(0, V3D_CLE_CTNCA(job_q));
                                               ^~~~~
   include/uapi/linux/byteorder/little_endian.h:34:51: note: in definition of macro '__le32_to_cpu'
    #define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
                                                      ^
   arch/riscv/include/asm/io.h:172:47: note: in expansion of macro 'readl_cpu'
    #define readl(c) ({ u32 __v; __io_br(); __v = readl_cpu(c); __io_ar(); __v; })
                                                  ^~~~~~~~~
   drivers/gpu//drm/v3d/v3d_drv.h:166:37: note: in expansion of macro 'readl'
    #define V3D_CORE_READ(core, offset) readl(v3d->core_regs[core] + offset)
                                        ^~~~~
   drivers/gpu//drm/v3d/v3d_sched.c:157:13: note: in expansion of macro 'V3D_CORE_READ'
     u32 ctca = V3D_CORE_READ(0, V3D_CLE_CTNCA(job_q));
                ^~~~~~~~~~~~~
   drivers/gpu//drm/v3d/v3d_sched.c:157:30: note: in expansion of macro 'V3D_CLE_CTNCA'
     u32 ctca = V3D_CORE_READ(0, V3D_CLE_CTNCA(job_q));
                                 ^~~~~~~~~~~~~
>> drivers/gpu//drm/v3d/v3d_sched.c:158:30: error: implicit declaration of function 'V3D_CLE_CTNRA'; did you mean 'V3D_CLE_CT1RA'? [-Werror=implicit-function-declaration]
     u32 ctra = V3D_CORE_READ(0, V3D_CLE_CTNRA(job_q));
                                 ^~~~~~~~~~~~~
   include/uapi/linux/byteorder/little_endian.h:34:51: note: in definition of macro '__le32_to_cpu'
    #define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
                                                      ^
   arch/riscv/include/asm/io.h:172:47: note: in expansion of macro 'readl_cpu'
    #define readl(c) ({ u32 __v; __io_br(); __v = readl_cpu(c); __io_ar(); __v; })
                                                  ^~~~~~~~~
   drivers/gpu//drm/v3d/v3d_drv.h:166:37: note: in expansion of macro 'readl'
    #define V3D_CORE_READ(core, offset) readl(v3d->core_regs[core] + offset)
                                        ^~~~~
   drivers/gpu//drm/v3d/v3d_sched.c:158:13: note: in expansion of macro 'V3D_CORE_READ'
     u32 ctra = V3D_CORE_READ(0, V3D_CLE_CTNRA(job_q));
                ^~~~~~~~~~~~~
   drivers/gpu//drm/v3d/v3d_sched.c:166:9: error: 'struct v3d_job' has no member named 'timedout_ctca'
     if (job->timedout_ctca != ctca || job->timedout_ctra != ctra) {
            ^~
   drivers/gpu//drm/v3d/v3d_sched.c:166:39: error: 'struct v3d_job' has no member named 'timedout_ctra'
     if (job->timedout_ctca != ctca || job->timedout_ctra != ctra) {
                                          ^~
   drivers/gpu//drm/v3d/v3d_sched.c:167:6: error: 'struct v3d_job' has no member named 'timedout_ctca'
      job->timedout_ctca = ctca;
         ^~
   drivers/gpu//drm/v3d/v3d_sched.c:168:6: error: 'struct v3d_job' has no member named 'timedout_ctra'
      job->timedout_ctra = ctra;
         ^~
   cc1: some warnings being treated as errors

vim +158 drivers/gpu//drm/v3d/v3d_sched.c

   149	
   150	static void
   151	v3d_job_timedout(struct drm_sched_job *sched_job)
   152	{
   153		struct v3d_job *job = to_v3d_job(sched_job);
   154		struct v3d_exec_info *exec = job->exec;
   155		struct v3d_dev *v3d = exec->v3d;
   156		enum v3d_queue q;
 > 157		u32 ctca = V3D_CORE_READ(0, V3D_CLE_CTNCA(job_q));
 > 158		u32 ctra = V3D_CORE_READ(0, V3D_CLE_CTNRA(job_q));
   159	
   160		/* If the current address or return address have changed, then
   161		 * the GPU has probably made progress and we should delay the
   162		 * reset.  This could fail if the GPU got in an infinite loop
   163		 * in the CL, but that is pretty unlikely outside of an i-g-t
   164		 * testcase.
   165		 */
   166		if (job->timedout_ctca != ctca || job->timedout_ctra != ctra) {
   167			job->timedout_ctca = ctca;
   168			job->timedout_ctra = ctra;
   169	
   170			schedule_delayed_work(&job->base.sched->work_tdr,
   171					      job->base.sched->timeout);
   172			return;
   173		}
   174	
   175		mutex_lock(&v3d->reset_lock);
   176	
   177		/* block scheduler */
   178		for (q = 0; q < V3D_MAX_QUEUES; q++) {
   179			struct drm_gpu_scheduler *sched = &v3d->queue[q].sched;
   180	
   181			kthread_park(sched->thread);
   182			drm_sched_hw_job_reset(sched, (sched_job->sched == sched ?
   183						       sched_job : NULL));
   184		}
   185	
   186		/* get the GPU back into the init state */
   187		v3d_reset(v3d);
   188	
   189		/* Unblock schedulers and restart their jobs. */
   190		for (q = 0; q < V3D_MAX_QUEUES; q++) {
   191			drm_sched_job_recovery(&v3d->queue[q].sched);
   192			kthread_unpark(v3d->queue[q].sched.thread);
   193		}
   194	
   195		mutex_unlock(&v3d->reset_lock);
   196	}
   197	

---
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: 53753 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20190105/90f704c7/attachment-0001.gz>


More information about the dri-devel mailing list