* [igt-dev] [PATCH i-g-t] lib/i915/gem_mman.c: add cpu coherency mapping wrapper
@ 2020-01-14 5:27 Zbigniew Kempczyński
2020-01-14 5:59 ` Dixit, Ashutosh
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Zbigniew Kempczyński @ 2020-01-14 5:27 UTC (permalink / raw)
To: igt-dev
For reduce code redundancy adding a wrapper for cpu memory mapping.
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Suggested-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
---
lib/i915/gem_mman.c | 50 +++++++++++++++++++++++++++++++++++++++++++++
lib/i915/gem_mman.h | 5 +++++
2 files changed, 55 insertions(+)
diff --git a/lib/i915/gem_mman.c b/lib/i915/gem_mman.c
index c98f02ae..c034f317 100644
--- a/lib/i915/gem_mman.c
+++ b/lib/i915/gem_mman.c
@@ -470,6 +470,56 @@ void *gem_mmap_offset__cpu(int fd, uint32_t handle, uint64_t offset,
return ptr;
}
+/**
+ * __gem_mmap__cpu_coherent:
+ * @fd: open i915 drm file descriptor
+ * @handle: gem buffer object handle
+ * @offset: offset in the gem buffer of the mmap arena
+ * @size: size of the mmap arena
+ * @prot: memory protection bits as used by mmap()
+ *
+ * This function wraps up procedure to establish a memory mapping through
+ * direct cpu access.
+ */
+void *__gem_mmap__cpu_coherent(int fd, uint32_t handle, uint64_t offset,
+ uint64_t size, unsigned prot)
+{
+ void *ptr = __gem_mmap_offset__cpu(fd, handle, offset, size, prot);
+
+ if (!ptr)
+ ptr = __gem_mmap__cpu(fd, handle, offset, size, prot);
+
+ return ptr;
+}
+
+/**
+ * gem_mmap__cpu_coherent:
+ * @fd: open i915 drm file descriptor
+ * @handle: gem buffer object handle
+ * @offset: offset in the gem buffer of the mmap arena
+ * @size: size of the mmap arena
+ * @prot: memory protection bits as used by mmap()
+ *
+ * Call __gem_mmap__cpu__coherent(), asserts on fail.
+ * Offset argument passed in function call must be 0. In the future
+ * when driver will allow slice mapping of buffer object this restriction
+ * will be removed.
+ *
+ * Returns: A pointer to the created memory mapping.
+ */
+void *gem_mmap__cpu_coherent(int fd, uint32_t handle, uint64_t offset,
+ uint64_t size, unsigned prot)
+{
+ void *ptr;
+
+ igt_assert(offset == 0);
+
+ ptr = __gem_mmap__cpu_coherent(fd, handle, offset, size, prot);
+ igt_assert(ptr);
+
+ return ptr;
+}
+
bool gem_has_mappable_ggtt(int i915)
{
struct drm_i915_gem_mmap_gtt arg = {};
diff --git a/lib/i915/gem_mman.h b/lib/i915/gem_mman.h
index 7b4d6f90..2730295e 100644
--- a/lib/i915/gem_mman.h
+++ b/lib/i915/gem_mman.h
@@ -39,6 +39,9 @@ void *gem_mmap_offset__wc(int fd, uint32_t handle, uint64_t offset,
uint64_t size, unsigned prot);
void *gem_mmap__device_coherent(int fd, uint32_t handle, uint64_t offset,
uint64_t size, unsigned prot);
+void *gem_mmap__cpu_coherent(int fd, uint32_t handle, uint64_t offset,
+ uint64_t size, unsigned prot);
+
#ifndef I915_GEM_DOMAIN_WC
#define I915_GEM_DOMAIN_WC 0x80
#endif
@@ -58,6 +61,8 @@ void *__gem_mmap__device_coherent(int fd, uint32_t handle, uint64_t offset,
uint64_t size, unsigned prot);
void *__gem_mmap_offset(int fd, uint32_t handle, uint64_t offset, uint64_t size,
unsigned int prot, uint64_t flags);
+void *__gem_mmap__cpu_coherent(int fd, uint32_t handle, uint64_t offset,
+ uint64_t size, unsigned prot);
int gem_munmap(void *ptr, uint64_t size);
--
2.23.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [igt-dev] [PATCH i-g-t] lib/i915/gem_mman.c: add cpu coherency mapping wrapper
2020-01-14 5:27 [igt-dev] [PATCH i-g-t] lib/i915/gem_mman.c: add cpu coherency mapping wrapper Zbigniew Kempczyński
@ 2020-01-14 5:59 ` Dixit, Ashutosh
2020-01-14 11:14 ` Chris Wilson
2020-01-14 6:12 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2020-01-16 9:18 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2 siblings, 1 reply; 6+ messages in thread
From: Dixit, Ashutosh @ 2020-01-14 5:59 UTC (permalink / raw)
To: Zbigniew Kempczyński; +Cc: igt-dev
On Mon, 13 Jan 2020 21:27:28 -0800, Zbigniew Kempczyński wrote:
>
> For reduce code redundancy adding a wrapper for cpu memory mapping.
>
> +void *__gem_mmap__cpu_coherent(int fd, uint32_t handle, uint64_t offset,
> + uint64_t size, unsigned prot)
> +{
> + void *ptr = __gem_mmap_offset__cpu(fd, handle, offset, size, prot);
> +
> + if (!ptr)
> + ptr = __gem_mmap__cpu(fd, handle, offset, size, prot);
> +
> + return ptr;
> +}
We need similar wrappers for WC and GTT too. So why don't we put this code
in __gem_mmap__cpu() itself and we can do the same for __gem_mmap__wc() and
__gem_mmap__gtt() too? Otherwise what are we going to call those functions?
Something like:
void *__gem_mmap__cpu(int fd, uint32_t handle, uint64_t offset, uint64_t size, unsigned prot)
{
if (gem_has_mmap_offset(fd))
return __gem_mmap_offset(fd, handle, offset, size, prot, I915_MMAP_OFFSET_WB);
else
return __gem_mmap(fd, handle, offset, size, prot, 0);
}
So I am not sure of the point of introducing new wrappers, this code could
just be put in the old existing wrappers.
> +
> +/**
> + * gem_mmap__cpu_coherent:
> + * @fd: open i915 drm file descriptor
> + * @handle: gem buffer object handle
> + * @offset: offset in the gem buffer of the mmap arena
> + * @size: size of the mmap arena
> + * @prot: memory protection bits as used by mmap()
> + *
> + * Call __gem_mmap__cpu__coherent(), asserts on fail.
> + * Offset argument passed in function call must be 0. In the future
> + * when driver will allow slice mapping of buffer object this restriction
> + * will be removed.
> + *
> + * Returns: A pointer to the created memory mapping.
> + */
> +void *gem_mmap__cpu_coherent(int fd, uint32_t handle, uint64_t offset,
This can just be gem_mmap__cpu()?
> + uint64_t size, unsigned prot)
> +{
> + void *ptr;
> +
> + igt_assert(offset == 0);
Not needed?
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 6+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for lib/i915/gem_mman.c: add cpu coherency mapping wrapper
2020-01-14 5:27 [igt-dev] [PATCH i-g-t] lib/i915/gem_mman.c: add cpu coherency mapping wrapper Zbigniew Kempczyński
2020-01-14 5:59 ` Dixit, Ashutosh
@ 2020-01-14 6:12 ` Patchwork
2020-01-16 9:18 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2020-01-14 6:12 UTC (permalink / raw)
To: Zbigniew Kempczyński; +Cc: igt-dev
== Series Details ==
Series: lib/i915/gem_mman.c: add cpu coherency mapping wrapper
URL : https://patchwork.freedesktop.org/series/71988/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_7737 -> IGTPW_3920
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/index.html
Known issues
------------
Here are the changes found in IGTPW_3920 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_close_race@basic-threads:
- fi-byt-j1900: [PASS][1] -> [TIMEOUT][2] ([fdo#112271] / [i915#816])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/fi-byt-j1900/igt@gem_close_race@basic-threads.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/fi-byt-j1900/igt@gem_close_race@basic-threads.html
* igt@i915_module_load@reload-with-fault-injection:
- fi-cfl-8700k: [PASS][3] -> [DMESG-WARN][4] ([i915#889])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/fi-cfl-8700k/igt@i915_module_load@reload-with-fault-injection.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/fi-cfl-8700k/igt@i915_module_load@reload-with-fault-injection.html
#### Possible fixes ####
* igt@i915_selftest@live_blt:
- fi-hsw-4770: [DMESG-FAIL][5] ([i915#553] / [i915#725]) -> [PASS][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/fi-hsw-4770/igt@i915_selftest@live_blt.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/fi-hsw-4770/igt@i915_selftest@live_blt.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271
[i915#553]: https://gitlab.freedesktop.org/drm/intel/issues/553
[i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725
[i915#816]: https://gitlab.freedesktop.org/drm/intel/issues/816
[i915#889]: https://gitlab.freedesktop.org/drm/intel/issues/889
[i915#937]: https://gitlab.freedesktop.org/drm/intel/issues/937
Participating hosts (40 -> 38)
------------------------------
Additional (5): fi-hsw-4770r fi-bwr-2160 fi-ilk-650 fi-snb-2520m fi-kbl-7560u
Missing (7): fi-bdw-5557u fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-skl-lmem fi-byt-clapper
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5364 -> IGTPW_3920
CI-20190529: 20190529
CI_DRM_7737: 2a331333791d2e499ac843e1dc25cd8ea5bdc81f @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3920: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/index.html
IGT_5364: b7cb6ffdb65cbd233f5ddee2f2dabf97b34fa640 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [igt-dev] [PATCH i-g-t] lib/i915/gem_mman.c: add cpu coherency mapping wrapper
2020-01-14 5:59 ` Dixit, Ashutosh
@ 2020-01-14 11:14 ` Chris Wilson
2020-01-16 21:47 ` Dixit, Ashutosh
0 siblings, 1 reply; 6+ messages in thread
From: Chris Wilson @ 2020-01-14 11:14 UTC (permalink / raw)
To: Dixit, Ashutosh, Zbigniew Kempczyński; +Cc: igt-dev
Quoting Dixit, Ashutosh (2020-01-14 05:59:54)
> On Mon, 13 Jan 2020 21:27:28 -0800, Zbigniew Kempczyński wrote:
> >
> > For reduce code redundancy adding a wrapper for cpu memory mapping.
> >
> > +void *__gem_mmap__cpu_coherent(int fd, uint32_t handle, uint64_t offset,
> > + uint64_t size, unsigned prot)
> > +{
> > + void *ptr = __gem_mmap_offset__cpu(fd, handle, offset, size, prot);
> > +
> > + if (!ptr)
> > + ptr = __gem_mmap__cpu(fd, handle, offset, size, prot);
> > +
> > + return ptr;
> > +}
>
> We need similar wrappers for WC and GTT too. So why don't we put this code
That's gem_mmap__device_coherent.
> in __gem_mmap__cpu() itself and we can do the same for __gem_mmap__wc() and
> __gem_mmap__gtt() too? Otherwise what are we going to call those functions?
> Something like:
>
> void *__gem_mmap__cpu(int fd, uint32_t handle, uint64_t offset, uint64_t size, unsigned prot)
> {
> if (gem_has_mmap_offset(fd))
> return __gem_mmap_offset(fd, handle, offset, size, prot, I915_MMAP_OFFSET_WB);
> else
> return __gem_mmap(fd, handle, offset, size, prot, 0);
> }
>
> So I am not sure of the point of introducing new wrappers, this code could
> just be put in the old existing wrappers.
The point is that we are separating intent from implementation. Where a
test is not looking at the mmap ioctl, but just wants access to a
buffer, how it wants to access that buffer is the important bit of
information.
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 6+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for lib/i915/gem_mman.c: add cpu coherency mapping wrapper
2020-01-14 5:27 [igt-dev] [PATCH i-g-t] lib/i915/gem_mman.c: add cpu coherency mapping wrapper Zbigniew Kempczyński
2020-01-14 5:59 ` Dixit, Ashutosh
2020-01-14 6:12 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
@ 2020-01-16 9:18 ` Patchwork
2 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2020-01-16 9:18 UTC (permalink / raw)
To: Zbigniew Kempczyński; +Cc: igt-dev
== Series Details ==
Series: lib/i915/gem_mman.c: add cpu coherency mapping wrapper
URL : https://patchwork.freedesktop.org/series/71988/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_7737_full -> IGTPW_3920_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/index.html
Known issues
------------
Here are the changes found in IGTPW_3920_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_ctx_isolation@rcs0-s3:
- shard-kbl: [PASS][1] -> [DMESG-WARN][2] ([i915#180]) +3 similar issues
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-kbl6/igt@gem_ctx_isolation@rcs0-s3.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-kbl1/igt@gem_ctx_isolation@rcs0-s3.html
* igt@gem_ctx_persistence@vcs1-mixed-process:
- shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#109276] / [fdo#112080]) +2 similar issues
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb4/igt@gem_ctx_persistence@vcs1-mixed-process.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-iclb3/igt@gem_ctx_persistence@vcs1-mixed-process.html
* igt@gem_ctx_shared@exec-single-timeline-bsd:
- shard-iclb: [PASS][5] -> [SKIP][6] ([fdo#110841])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb6/igt@gem_ctx_shared@exec-single-timeline-bsd.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-iclb1/igt@gem_ctx_shared@exec-single-timeline-bsd.html
* igt@gem_ctx_shared@q-smoketest-bsd:
- shard-tglb: [PASS][7] -> [INCOMPLETE][8] ([i915#461]) +1 similar issue
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-tglb5/igt@gem_ctx_shared@q-smoketest-bsd.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-tglb6/igt@gem_ctx_shared@q-smoketest-bsd.html
* igt@gem_exec_parallel@vcs1-fds:
- shard-iclb: [PASS][9] -> [SKIP][10] ([fdo#112080]) +8 similar issues
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb1/igt@gem_exec_parallel@vcs1-fds.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-iclb5/igt@gem_exec_parallel@vcs1-fds.html
* igt@gem_exec_parallel@vecs0-contexts:
- shard-tglb: [PASS][11] -> [INCOMPLETE][12] ([i915#472])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-tglb2/igt@gem_exec_parallel@vecs0-contexts.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-tglb3/igt@gem_exec_parallel@vecs0-contexts.html
* igt@gem_exec_schedule@preempt-queue-bsd1:
- shard-iclb: [PASS][13] -> [SKIP][14] ([fdo#109276]) +17 similar issues
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb2/igt@gem_exec_schedule@preempt-queue-bsd1.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-iclb3/igt@gem_exec_schedule@preempt-queue-bsd1.html
* igt@gem_exec_schedule@preemptive-hang-bsd:
- shard-iclb: [PASS][15] -> [SKIP][16] ([fdo#112146]) +9 similar issues
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb3/igt@gem_exec_schedule@preemptive-hang-bsd.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-iclb4/igt@gem_exec_schedule@preemptive-hang-bsd.html
* igt@gen9_exec_parse@allowed-all:
- shard-glk: [PASS][17] -> [DMESG-WARN][18] ([i915#716])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-glk4/igt@gen9_exec_parse@allowed-all.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-glk7/igt@gen9_exec_parse@allowed-all.html
* igt@i915_pm_dc@dc6-dpms:
- shard-iclb: [PASS][19] -> [FAIL][20] ([i915#454])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb1/igt@i915_pm_dc@dc6-dpms.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-iclb3/igt@i915_pm_dc@dc6-dpms.html
* igt@i915_suspend@fence-restore-tiled2untiled:
- shard-apl: [PASS][21] -> [DMESG-WARN][22] ([i915#180]) +2 similar issues
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-apl2/igt@i915_suspend@fence-restore-tiled2untiled.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-apl1/igt@i915_suspend@fence-restore-tiled2untiled.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite:
- shard-tglb: [PASS][23] -> [FAIL][24] ([i915#49])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-tglb4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-tglb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html
* igt@kms_psr2_su@frontbuffer:
- shard-iclb: [PASS][25] -> [SKIP][26] ([fdo#109642] / [fdo#111068])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb2/igt@kms_psr2_su@frontbuffer.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-iclb6/igt@kms_psr2_su@frontbuffer.html
* igt@kms_psr@psr2_primary_mmap_cpu:
- shard-iclb: [PASS][27] -> [SKIP][28] ([fdo#109441])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-iclb1/igt@kms_psr@psr2_primary_mmap_cpu.html
* igt@kms_setmode@basic:
- shard-hsw: [PASS][29] -> [FAIL][30] ([i915#31])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-hsw2/igt@kms_setmode@basic.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-hsw1/igt@kms_setmode@basic.html
#### Possible fixes ####
* igt@gem_ctx_isolation@bcs0-s3:
- shard-apl: [DMESG-WARN][31] ([i915#180]) -> [PASS][32] +2 similar issues
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-apl1/igt@gem_ctx_isolation@bcs0-s3.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-apl7/igt@gem_ctx_isolation@bcs0-s3.html
* igt@gem_ctx_isolation@vecs0-s3:
- shard-iclb: [DMESG-WARN][33] ([fdo#111764]) -> [PASS][34] +1 similar issue
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb8/igt@gem_ctx_isolation@vecs0-s3.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-iclb8/igt@gem_ctx_isolation@vecs0-s3.html
* igt@gem_ctx_persistence@vcs1-queued:
- shard-iclb: [SKIP][35] ([fdo#109276] / [fdo#112080]) -> [PASS][36] +2 similar issues
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb8/igt@gem_ctx_persistence@vcs1-queued.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-iclb4/igt@gem_ctx_persistence@vcs1-queued.html
* igt@gem_exec_balancer@smoke:
- shard-iclb: [SKIP][37] ([fdo#110854]) -> [PASS][38]
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb5/igt@gem_exec_balancer@smoke.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-iclb4/igt@gem_exec_balancer@smoke.html
* igt@gem_exec_create@madvise:
- shard-tglb: [INCOMPLETE][39] ([i915#472]) -> [PASS][40] +1 similar issue
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-tglb8/igt@gem_exec_create@madvise.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-tglb7/igt@gem_exec_create@madvise.html
* igt@gem_exec_schedule@independent-bsd2:
- shard-iclb: [SKIP][41] ([fdo#109276]) -> [PASS][42] +13 similar issues
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb3/igt@gem_exec_schedule@independent-bsd2.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-iclb4/igt@gem_exec_schedule@independent-bsd2.html
* igt@gem_exec_schedule@pi-distinct-iova-bsd:
- shard-iclb: [SKIP][43] ([i915#677]) -> [PASS][44] +1 similar issue
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb2/igt@gem_exec_schedule@pi-distinct-iova-bsd.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-iclb6/igt@gem_exec_schedule@pi-distinct-iova-bsd.html
* igt@gem_exec_schedule@preempt-queue-contexts-chain-bsd:
- shard-iclb: [SKIP][45] ([fdo#112146]) -> [PASS][46] +2 similar issues
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb1/igt@gem_exec_schedule@preempt-queue-contexts-chain-bsd.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-iclb6/igt@gem_exec_schedule@preempt-queue-contexts-chain-bsd.html
* igt@gem_exec_schedule@smoketest-bsd1:
- shard-tglb: [INCOMPLETE][47] ([i915#463] / [i915#472]) -> [PASS][48]
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-tglb6/igt@gem_exec_schedule@smoketest-bsd1.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-tglb4/igt@gem_exec_schedule@smoketest-bsd1.html
* igt@gem_exec_suspend@basic-s3:
- shard-tglb: [INCOMPLETE][49] ([fdo#111736] / [i915#460] / [i915#472]) -> [PASS][50]
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-tglb3/igt@gem_exec_suspend@basic-s3.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-tglb1/igt@gem_exec_suspend@basic-s3.html
* igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrash-inactive:
- shard-glk: [TIMEOUT][51] ([fdo#112271] / [i915#530]) -> [PASS][52]
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-glk9/igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrash-inactive.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-glk2/igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrash-inactive.html
* igt@gem_pwrite@self:
- shard-snb: [DMESG-WARN][53] ([i915#478]) -> [PASS][54]
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-snb1/igt@gem_pwrite@self.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-snb2/igt@gem_pwrite@self.html
* igt@gem_sync@basic-many-each:
- shard-tglb: [INCOMPLETE][55] ([i915#472] / [i915#707]) -> [PASS][56]
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-tglb3/igt@gem_sync@basic-many-each.html
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-tglb1/igt@gem_sync@basic-many-each.html
* igt@gem_tiled_blits@normal:
- shard-tglb: [INCOMPLETE][57] -> [PASS][58]
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-tglb2/igt@gem_tiled_blits@normal.html
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-tglb8/igt@gem_tiled_blits@normal.html
* {igt@i915_pm_rc6_residency@rc6-idle}:
- shard-snb: [FAIL][59] ([i915#973]) -> [PASS][60]
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-snb2/igt@i915_pm_rc6_residency@rc6-idle.html
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-snb6/igt@i915_pm_rc6_residency@rc6-idle.html
* igt@i915_pm_rps@reset:
- shard-iclb: [FAIL][61] ([i915#413]) -> [PASS][62] +1 similar issue
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb6/igt@i915_pm_rps@reset.html
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-iclb6/igt@i915_pm_rps@reset.html
* igt@kms_cursor_crc@pipe-a-cursor-suspend:
- shard-kbl: [DMESG-WARN][63] ([i915#180]) -> [PASS][64] +8 similar issues
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-kbl4/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-kbl4/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-render:
- shard-tglb: [FAIL][65] ([i915#49]) -> [PASS][66]
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-tglb4/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-render.html
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-tglb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-fullscreen:
- shard-tglb: [DMESG-FAIL][67] ([i915#402]) -> [PASS][68] +2 similar issues
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-tglb5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-fullscreen.html
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-tglb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-fullscreen.html
* igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b:
- shard-snb: [SKIP][69] ([fdo#109271]) -> [PASS][70] +2 similar issues
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-snb2/igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b.html
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-snb1/igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b.html
* igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes:
- shard-kbl: [INCOMPLETE][71] ([fdo#103665]) -> [PASS][72]
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-kbl1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-kbl1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html
* igt@kms_psr@primary_blt:
- shard-tglb: [DMESG-WARN][73] ([i915#402]) -> [PASS][74] +16 similar issues
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-tglb5/igt@kms_psr@primary_blt.html
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-tglb8/igt@kms_psr@primary_blt.html
* igt@kms_psr@psr2_cursor_plane_onoff:
- shard-iclb: [SKIP][75] ([fdo#109441]) -> [PASS][76]
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb1/igt@kms_psr@psr2_cursor_plane_onoff.html
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-iclb2/igt@kms_psr@psr2_cursor_plane_onoff.html
* igt@perf_pmu@busy-no-semaphores-vcs1:
- shard-iclb: [SKIP][77] ([fdo#112080]) -> [PASS][78] +15 similar issues
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb6/igt@perf_pmu@busy-no-semaphores-vcs1.html
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-iclb4/igt@perf_pmu@busy-no-semaphores-vcs1.html
#### Warnings ####
* igt@gem_userptr_blits@dmabuf-unsync:
- shard-snb: [DMESG-WARN][79] ([fdo#111870]) -> [DMESG-WARN][80] ([fdo#110789] / [fdo#111870])
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-snb6/igt@gem_userptr_blits@dmabuf-unsync.html
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-snb1/igt@gem_userptr_blits@dmabuf-unsync.html
* igt@gem_userptr_blits@map-fixed-invalidate-busy:
- shard-snb: [DMESG-WARN][81] ([fdo#110789] / [fdo#111870]) -> [DMESG-WARN][82] ([fdo#111870]) +1 similar issue
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-snb4/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-snb5/igt@gem_userptr_blits@map-fixed-invalidate-busy.html
* igt@kms_atomic_transition@3x-modeset-transitions-nonblocking:
- shard-snb: [SKIP][83] ([fdo#109271]) -> [SKIP][84] ([fdo#109271] / [i915#439])
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-snb2/igt@kms_atomic_transition@3x-modeset-transitions-nonblocking.html
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-snb4/igt@kms_atomic_transition@3x-modeset-transitions-nonblocking.html
* igt@runner@aborted:
- shard-iclb: ([FAIL][85], [FAIL][86], [FAIL][87]) ([fdo#110275] / [fdo#111093]) -> ([FAIL][88], [FAIL][89]) ([fdo#111093])
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb8/igt@runner@aborted.html
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb8/igt@runner@aborted.html
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb2/igt@runner@aborted.html
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-iclb8/igt@runner@aborted.html
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-iclb8/igt@runner@aborted.html
- shard-snb: ([FAIL][90], [FAIL][91]) ([i915#436] / [i915#974]) -> [FAIL][92] ([i915#974])
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-snb1/igt@runner@aborted.html
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-snb5/igt@runner@aborted.html
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/shard-snb5/igt@runner@aborted.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
[fdo#110275]: https://bugs.freedesktop.org/show_bug.cgi?id=110275
[fdo#110789]: https://bugs.freedesktop.org/show_bug.cgi?id=110789
[fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841
[fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
[fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
[fdo#111093]: https://bugs.freedesktop.org/show_bug.cgi?id=111093
[fdo#111736]: https://bugs.freedesktop.org/show_bug.cgi?id=111736
[fdo#111764]: https://bugs.freedesktop.org/show_bug.cgi?id=111764
[fdo#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870
[fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
[fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146
[fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31
[i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
[i915#413]: https://gitlab.freedesktop.org/drm/intel/issues/413
[i915#436]: https://gitlab.freedesktop.org/drm/intel/issues/436
[i915#439]: https://gitlab.freedesktop.org/drm/intel/issues/439
[i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
[i915#460]: https://gitlab.freedesktop.org/drm/intel/issues/460
[i915#461]: https://gitlab.freedesktop.org/drm/intel/issues/461
[i915#463]: https://gitlab.freedesktop.org/drm/intel/issues/463
[i915#472]: https://gitlab.freedesktop.org/drm/intel/issues/472
[i915#478]: https://gitlab.freedesktop.org/drm/intel/issues/478
[i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49
[i915#530]: https://gitlab.freedesktop.org/drm/intel/issues/530
[i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677
[i915#707]: https://gitlab.freedesktop.org/drm/intel/issues/707
[i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716
[i915#973]: https://gitlab.freedesktop.org/drm/intel/issues/973
[i915#974]: https://gitlab.freedesktop.org/drm/intel/issues/974
Participating hosts (11 -> 8)
------------------------------
Missing (3): pig-skl-6260u pig-glk-j5005 pig-hsw-4770r
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5364 -> IGTPW_3920
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_7737: 2a331333791d2e499ac843e1dc25cd8ea5bdc81f @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_3920: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/index.html
IGT_5364: b7cb6ffdb65cbd233f5ddee2f2dabf97b34fa640 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3920/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [igt-dev] [PATCH i-g-t] lib/i915/gem_mman.c: add cpu coherency mapping wrapper
2020-01-14 11:14 ` Chris Wilson
@ 2020-01-16 21:47 ` Dixit, Ashutosh
0 siblings, 0 replies; 6+ messages in thread
From: Dixit, Ashutosh @ 2020-01-16 21:47 UTC (permalink / raw)
To: Chris Wilson; +Cc: igt-dev
On Tue, 14 Jan 2020 03:14:57 -0800, Chris Wilson wrote:
>
> Quoting Dixit, Ashutosh (2020-01-14 05:59:54)
> > On Mon, 13 Jan 2020 21:27:28 -0800, Zbigniew Kempczyński wrote:
> > >
> > > For reduce code redundancy adding a wrapper for cpu memory mapping.
> > >
> > > +void *__gem_mmap__cpu_coherent(int fd, uint32_t handle, uint64_t offset,
> > > + uint64_t size, unsigned prot)
> > > +{
> > > + void *ptr = __gem_mmap_offset__cpu(fd, handle, offset, size, prot);
> > > +
> > > + if (!ptr)
> > > + ptr = __gem_mmap__cpu(fd, handle, offset, size, prot);
> > > +
> > > + return ptr;
> > > +}
> >
> > We need similar wrappers for WC and GTT too. So why don't we put this code
>
> That's gem_mmap__device_coherent.
>
> > in __gem_mmap__cpu() itself and we can do the same for __gem_mmap__wc() and
> > __gem_mmap__gtt() too? Otherwise what are we going to call those functions?
> > Something like:
> >
> > void *__gem_mmap__cpu(int fd, uint32_t handle, uint64_t offset, uint64_t size, unsigned prot)
> > {
> > if (gem_has_mmap_offset(fd))
> > return __gem_mmap_offset(fd, handle, offset, size, prot, I915_MMAP_OFFSET_WB);
> > else
> > return __gem_mmap(fd, handle, offset, size, prot, 0);
> > }
> >
> > So I am not sure of the point of introducing new wrappers, this code could
> > just be put in the old existing wrappers.
>
> The point is that we are separating intent from implementation. Where a
> test is not looking at the mmap ioctl, but just wants access to a
> buffer, how it wants to access that buffer is the important bit of
> information.
After Chris' explanation:
Acked-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-01-16 21:47 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-14 5:27 [igt-dev] [PATCH i-g-t] lib/i915/gem_mman.c: add cpu coherency mapping wrapper Zbigniew Kempczyński
2020-01-14 5:59 ` Dixit, Ashutosh
2020-01-14 11:14 ` Chris Wilson
2020-01-16 21:47 ` Dixit, Ashutosh
2020-01-14 6:12 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2020-01-16 9:18 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
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.