[Intel-gfx] [drm-intel:for-linux-next-fixes 4/4] drivers/gpu//drm/i915/i915_gem.c:3223:8: error: 'struct drm_i915_private' has no member named 'caps'; did you mean 'ips'?
Rodrigo Vivi
rodrigo.vivi at intel.com
Mon Mar 12 20:35:17 UTC 2018
On Tue, Mar 13, 2018 at 03:48:38AM +0800, kbuild test robot wrote:
> tree: git://anongit.freedesktop.org/drm-intel for-linux-next-fixes
> head: ab30b9c117f37f9f33bec6b92818e2b402791f54
> commit: ab30b9c117f37f9f33bec6b92818e2b402791f54 [4/4] drm/i915: Wrap engine->schedule in RCU locks for set-wedge protection
Sorry for the noise on a back cherry-pick for fixes.
Patch removed for now so fixes trees can compile again.
> config: i386-randconfig-x010-201810 (attached as .config)
> compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
> reproduce:
> git checkout ab30b9c117f37f9f33bec6b92818e2b402791f54
> # save the attached .config to linux build tree
> make ARCH=i386
>
> All errors (new ones prefixed by >>):
>
> drivers/gpu//drm/i915/i915_gem.c: In function 'i915_gem_set_wedged':
> >> drivers/gpu//drm/i915/i915_gem.c:3223:8: error: 'struct drm_i915_private' has no member named 'caps'; did you mean 'ips'?
> i915->caps.scheduler = 0;
> ^~~~
> ips
>
> vim +3223 drivers/gpu//drm/i915/i915_gem.c
>
> 3206
> 3207 void i915_gem_set_wedged(struct drm_i915_private *i915)
> 3208 {
> 3209 struct intel_engine_cs *engine;
> 3210 enum intel_engine_id id;
> 3211
> 3212 /*
> 3213 * First, stop submission to hw, but do not yet complete requests by
> 3214 * rolling the global seqno forward (since this would complete requests
> 3215 * for which we haven't set the fence error to EIO yet).
> 3216 */
> 3217 for_each_engine(engine, i915, id) {
> 3218 i915_gem_reset_prepare_engine(engine);
> 3219
> 3220 engine->submit_request = nop_submit_request;
> 3221 engine->schedule = NULL;
> 3222 }
> > 3223 i915->caps.scheduler = 0;
> 3224
> 3225 /*
> 3226 * Make sure no one is running the old callback before we proceed with
> 3227 * cancelling requests and resetting the completion tracking. Otherwise
> 3228 * we might submit a request to the hardware which never completes.
> 3229 */
> 3230 synchronize_rcu();
> 3231
> 3232 for_each_engine(engine, i915, id) {
> 3233 /* Mark all executing requests as skipped */
> 3234 engine->cancel_requests(engine);
> 3235
> 3236 /*
> 3237 * Only once we've force-cancelled all in-flight requests can we
> 3238 * start to complete all requests.
> 3239 */
> 3240 engine->submit_request = nop_complete_submit_request;
> 3241 }
> 3242
> 3243 /*
> 3244 * Make sure no request can slip through without getting completed by
> 3245 * either this call here to intel_engine_init_global_seqno, or the one
> 3246 * in nop_complete_submit_request.
> 3247 */
> 3248 synchronize_rcu();
> 3249
> 3250 for_each_engine(engine, i915, id) {
> 3251 unsigned long flags;
> 3252
> 3253 /* Mark all pending requests as complete so that any concurrent
> 3254 * (lockless) lookup doesn't try and wait upon the request as we
> 3255 * reset it.
> 3256 */
> 3257 spin_lock_irqsave(&engine->timeline->lock, flags);
> 3258 intel_engine_init_global_seqno(engine,
> 3259 intel_engine_last_submit(engine));
> 3260 spin_unlock_irqrestore(&engine->timeline->lock, flags);
> 3261
> 3262 i915_gem_reset_finish_engine(engine);
> 3263 }
> 3264
> 3265 set_bit(I915_WEDGED, &i915->gpu_error.flags);
> 3266 wake_up_all(&i915->gpu_error.reset_queue);
> 3267 }
> 3268
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
More information about the Intel-gfx
mailing list