tree: git://people.freedesktop.org/~agd5f/linux.git amd-staging-dkms-4.18
head: 937a0a9df97d4c1c7cecf6faa2f501d175bc3c2a
commit: a26f88704ef76f0213692b3b04f210de6e9e8676 [1267/1379] drm/scheduler: fix
build error due to change in scheduler struct
config: i386-allyesconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
git checkout a26f88704ef76f0213692b3b04f210de6e9e8676
# save the attached .config to linux build tree
make ARCH=i386
All errors (new ones prefixed by >>):
drivers/gpu/drm/v3d/v3d_sched.c: In function 'v3d_job_timedout':
drivers/gpu/drm/v3d/v3d_sched.c:157:54: error: 'job_q' undeclared (first use
in this function); did you mean 'job'?
u32 ctca = V3D_CORE_READ(0, V3D_CLE_CTNCA(job_q));
^
job
drivers/gpu/drm/v3d/v3d_sched.c:157:54: note: each undeclared identifier is
reported only once for each function it appears in
>> drivers/gpu/drm/v3d/v3d_sched.c:158:39: error: implicit declaration of
>> function 'V3D_CLE_CTNRA' [-Werror=implicit-function-declaration]
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 +/V3D_CLE_CTNRA +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
.config.gz
Description: application/gzip
_______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
