All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: intel_engine_init_global_seqno() requires atomic kmap
@ 2017-03-20 14:56 Chris Wilson
  2017-03-20 15:52 ` ✗ Fi.CI.BAT: failure for " Patchwork
  2017-03-21  8:29 ` [PATCH] " Tvrtko Ursulin
  0 siblings, 2 replies; 4+ messages in thread
From: Chris Wilson @ 2017-03-20 14:56 UTC (permalink / raw)
  To: intel-gfx; +Cc: Mika Kuoppala

As intel_engine_init_global_seqno() may be called by
nop_submit_request() from inside irq context, we have to use atomic
versions of kmap/kunmap. This is rare as this requires using gen8 legacy
ringbuffer submission.

Reported-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
---
 drivers/gpu/drm/i915/intel_engine_cs.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
index 4200faa520c7..ef3c62000697 100644
--- a/drivers/gpu/drm/i915/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/intel_engine_cs.c
@@ -242,12 +242,12 @@ void intel_engine_init_global_seqno(struct intel_engine_cs *engine, u32 seqno)
 		void *semaphores;
 
 		/* Semaphores are in noncoherent memory, flush to be safe */
-		semaphores = kmap(page);
+		semaphores = kmap_atomic(page);
 		memset(semaphores + GEN8_SEMAPHORE_OFFSET(engine->id, 0),
 		       0, I915_NUM_ENGINES * gen8_semaphore_seqno_size);
 		drm_clflush_virt_range(semaphores + GEN8_SEMAPHORE_OFFSET(engine->id, 0),
 				       I915_NUM_ENGINES * gen8_semaphore_seqno_size);
-		kunmap(page);
+		kunmap_atomic(semaphores);
 	}
 
 	intel_write_status_page(engine, I915_GEM_HWS_INDEX, seqno);
-- 
2.11.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* ✗ Fi.CI.BAT: failure for drm/i915: intel_engine_init_global_seqno() requires atomic kmap
  2017-03-20 14:56 [PATCH] drm/i915: intel_engine_init_global_seqno() requires atomic kmap Chris Wilson
@ 2017-03-20 15:52 ` Patchwork
  2017-03-21  8:29 ` [PATCH] " Tvrtko Ursulin
  1 sibling, 0 replies; 4+ messages in thread
From: Patchwork @ 2017-03-20 15:52 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: intel_engine_init_global_seqno() requires atomic kmap
URL   : https://patchwork.freedesktop.org/series/21541/
State : failure

== Summary ==

Series 21541v1 drm/i915: intel_engine_init_global_seqno() requires atomic kmap
https://patchwork.freedesktop.org/api/1.0/series/21541/revisions/1/mbox/

Test gem_exec_flush:
        Subgroup basic-batch-kernel-default-uc:
                fail       -> PASS       (fi-snb-2600) fdo#100007
Test gem_mmap_gtt:
        Subgroup basic-write-gtt:
                pass       -> INCOMPLETE (fi-hsw-4770r)
Test kms_flip:
        Subgroup basic-flip-vs-wf_vblank:
                pass       -> INCOMPLETE (fi-byt-j1900)
                pass       -> INCOMPLETE (fi-byt-n2820)
Test kms_pipe_crc_basic:
        Subgroup hang-read-crc-pipe-b:
                pass       -> INCOMPLETE (fi-skl-6700hq)
        Subgroup hang-read-crc-pipe-c:
                pass       -> INCOMPLETE (fi-ivb-3520m)
                pass       -> INCOMPLETE (fi-bxt-j4205)
Test pm_backlight:
        Subgroup basic-brightness:
                skip       -> INCOMPLETE (fi-bsw-n3050)
Test pm_rpm:
        Subgroup basic-pci-d3-state:
                skip       -> INCOMPLETE (fi-snb-2520m)

fdo#100007 https://bugs.freedesktop.org/show_bug.cgi?id=100007

fi-bdw-5557u     total:300  pass:284  dwarn:0   dfail:0   fail:0   skip:16  time: 617s
fi-bsw-n3050     total:300  pass:220  dwarn:0   dfail:0   fail:1   skip:45  time: 0s
fi-bxt-j4205     total:263  pass:240  dwarn:0   dfail:0   fail:3   skip:19  time: 0s
fi-byt-j1900     total:240  pass:212  dwarn:0   dfail:0   fail:0   skip:27  time: 0s
fi-byt-n2820     total:300  pass:208  dwarn:0   dfail:0   fail:0   skip:31  time: 0s
fi-hsw-4770      total:300  pass:279  dwarn:0   dfail:0   fail:1   skip:20  time: 664s
fi-hsw-4770r     total:300  pass:141  dwarn:0   dfail:0   fail:0   skip:13  time: 0s
fi-ilk-650       total:300  pass:240  dwarn:0   dfail:0   fail:2   skip:58  time: 532s
fi-ivb-3520m     total:263  pass:238  dwarn:0   dfail:0   fail:5   skip:19  time: 0s
fi-kbl-7500u     total:300  pass:275  dwarn:1   dfail:0   fail:4   skip:20  time: 634s
fi-skl-6260u     total:300  pass:283  dwarn:1   dfail:0   fail:4   skip:12  time: 650s
fi-skl-6700hq    total:257  pass:235  dwarn:1   dfail:0   fail:3   skip:17  time: 0s
fi-skl-6700k     total:300  pass:271  dwarn:5   dfail:0   fail:4   skip:20  time: 665s
fi-skl-6770hq    total:300  pass:283  dwarn:1   dfail:0   fail:4   skip:12  time: 691s
fi-snb-2520m     total:300  pass:228  dwarn:0   dfail:0   fail:6   skip:34  time: 0s
fi-snb-2600      total:300  pass:259  dwarn:0   dfail:0   fail:5   skip:36  time: 597s
fi-bxt-t5700 failed to connect after reboot
fi-ivb-3770 failed to connect after reboot

a4d4230315e8bd8ce20fc86d860ec342c630da65 drm-tip: 2017y-03m-20d-14h-40m-55s UTC integration manifest
3f07cb65 drm/i915: intel_engine_init_global_seqno() requires atomic kmap

== Logs ==

For more details see: https://intel-gfx-ci.01.org/CI/Patchwork_4231/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm/i915: intel_engine_init_global_seqno() requires atomic kmap
  2017-03-20 14:56 [PATCH] drm/i915: intel_engine_init_global_seqno() requires atomic kmap Chris Wilson
  2017-03-20 15:52 ` ✗ Fi.CI.BAT: failure for " Patchwork
@ 2017-03-21  8:29 ` Tvrtko Ursulin
  2017-03-21  9:52   ` Chris Wilson
  1 sibling, 1 reply; 4+ messages in thread
From: Tvrtko Ursulin @ 2017-03-21  8:29 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx; +Cc: Mika Kuoppala


On 20/03/2017 14:56, Chris Wilson wrote:
> As intel_engine_init_global_seqno() may be called by
> nop_submit_request() from inside irq context, we have to use atomic
> versions of kmap/kunmap. This is rare as this requires using gen8 legacy
> ringbuffer submission.
>
> Reported-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Cc: Mika Kuoppala <mika.kuoppala@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_engine_cs.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
> index 4200faa520c7..ef3c62000697 100644
> --- a/drivers/gpu/drm/i915/intel_engine_cs.c
> +++ b/drivers/gpu/drm/i915/intel_engine_cs.c
> @@ -242,12 +242,12 @@ void intel_engine_init_global_seqno(struct intel_engine_cs *engine, u32 seqno)
>  		void *semaphores;
>
>  		/* Semaphores are in noncoherent memory, flush to be safe */
> -		semaphores = kmap(page);
> +		semaphores = kmap_atomic(page);
>  		memset(semaphores + GEN8_SEMAPHORE_OFFSET(engine->id, 0),
>  		       0, I915_NUM_ENGINES * gen8_semaphore_seqno_size);
>  		drm_clflush_virt_range(semaphores + GEN8_SEMAPHORE_OFFSET(engine->id, 0),
>  				       I915_NUM_ENGINES * gen8_semaphore_seqno_size);
> -		kunmap(page);
> +		kunmap_atomic(semaphores);
>  	}
>
>  	intel_write_status_page(engine, I915_GEM_HWS_INDEX, seqno);
>

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Regards,

Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm/i915: intel_engine_init_global_seqno() requires atomic kmap
  2017-03-21  8:29 ` [PATCH] " Tvrtko Ursulin
@ 2017-03-21  9:52   ` Chris Wilson
  0 siblings, 0 replies; 4+ messages in thread
From: Chris Wilson @ 2017-03-21  9:52 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: intel-gfx, Mika Kuoppala

On Tue, Mar 21, 2017 at 08:29:07AM +0000, Tvrtko Ursulin wrote:
> 
> On 20/03/2017 14:56, Chris Wilson wrote:
> >As intel_engine_init_global_seqno() may be called by
> >nop_submit_request() from inside irq context, we have to use atomic
> >versions of kmap/kunmap. This is rare as this requires using gen8 legacy
> >ringbuffer submission.
> >
> >Reported-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> >Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> >Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> >Cc: Mika Kuoppala <mika.kuoppala@intel.com>
> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Picked up this and the other gem_eio fix (drm/i915: Protect
intel_engine_wakeup() for call from irq context), thanks.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-03-21  9:52 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-20 14:56 [PATCH] drm/i915: intel_engine_init_global_seqno() requires atomic kmap Chris Wilson
2017-03-20 15:52 ` ✗ Fi.CI.BAT: failure for " Patchwork
2017-03-21  8:29 ` [PATCH] " Tvrtko Ursulin
2017-03-21  9:52   ` Chris Wilson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.