[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