* [igt-dev] [PATCH i-g-t v2] lib/igt_fb: Don't use blitter for large buffers
@ 2018-09-11 14:29 Ville Syrjala
2018-09-11 16:30 ` Chris Wilson
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Ville Syrjala @ 2018-09-11 14:29 UTC (permalink / raw)
To: igt-dev
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
The blitter stride is limited to <32k. Fall back to gtt mmap if we're
about to exceed that.
This won't work for Yf as the fence doesn't know about Yf. So for that
case we'd need to use cpu mmap and (de)tile manually. For now just
pretend that there is no problem.
v2: Throw in some warnings for gtt mmap vs. yf tiling (Chris)
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> #v1
---
lib/igt_fb.c | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/lib/igt_fb.c b/lib/igt_fb.c
index 1ba1aa7c19cf..741f13fa65cf 100644
--- a/lib/igt_fb.c
+++ b/lib/igt_fb.c
@@ -402,6 +402,9 @@ static int create_bo_for_fb(int fd, int width, int height,
bo = gem_create(fd, size);
gem_set_tiling(fd, bo, igt_fb_mod_to_tiling(tiling), stride);
+ igt_warn_on_f(tiling == LOCAL_I915_FORMAT_MOD_Yf_TILED,
+ "GTT mmap does not support Yf tiling\n");
+
gem_set_domain(fd, bo,
I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
@@ -1344,6 +1347,9 @@ static void create_cairo_surface__gtt(int fd, struct igt_fb *fb)
{
void *ptr;
+ igt_warn_on_f(fb->tiling == LOCAL_I915_FORMAT_MOD_Yf_TILED,
+ "GTT mmap does not support Yf tiling\n");
+
gem_set_domain(fd, fb->gem_handle,
I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
@@ -1791,10 +1797,13 @@ static void create_cairo_surface__convert(int fd, struct igt_fb *fb)
blit->rgb24.map = mmap(NULL, blit->rgb24.size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
igt_assert(blit->rgb24.map != MAP_FAILED);
- if (fb->tiling == LOCAL_I915_FORMAT_MOD_Y_TILED ||
- fb->tiling == LOCAL_I915_FORMAT_MOD_Yf_TILED) {
+ if ((fb->tiling == LOCAL_I915_FORMAT_MOD_Y_TILED ||
+ fb->tiling == LOCAL_I915_FORMAT_MOD_Yf_TILED) &&
+ fb->stride < 32768) {
setup_linear_mapping(fd, fb, &blit->linear);
} else {
+ igt_warn_on_f(fb->tiling == LOCAL_I915_FORMAT_MOD_Yf_TILED,
+ "GTT mmap does not support Yf tiling\n");
blit->linear.handle = 0;
gem_set_domain(fd, fb->gem_handle,
I915_GEM_DOMAIN_GTT, I915_GEM_DOMAIN_GTT);
@@ -1849,8 +1858,9 @@ cairo_surface_t *igt_get_cairo_surface(int fd, struct igt_fb *fb)
if (fb->cairo_surface == NULL) {
if (igt_format_is_yuv(fb->drm_format))
create_cairo_surface__convert(fd, fb);
- else if (fb->tiling == LOCAL_I915_FORMAT_MOD_Y_TILED ||
- fb->tiling == LOCAL_I915_FORMAT_MOD_Yf_TILED)
+ else if ((fb->tiling == LOCAL_I915_FORMAT_MOD_Y_TILED ||
+ fb->tiling == LOCAL_I915_FORMAT_MOD_Yf_TILED) &&
+ fb->stride < 32768)
create_cairo_surface__blit(fd, fb);
else
create_cairo_surface__gtt(fd, fb);
--
2.16.4
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2] lib/igt_fb: Don't use blitter for large buffers
2018-09-11 14:29 [igt-dev] [PATCH i-g-t v2] lib/igt_fb: Don't use blitter for large buffers Ville Syrjala
@ 2018-09-11 16:30 ` Chris Wilson
2018-09-11 17:58 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Chris Wilson @ 2018-09-11 16:30 UTC (permalink / raw)
To: Ville Syrjala, igt-dev
Quoting Ville Syrjala (2018-09-11 15:29:23)
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> The blitter stride is limited to <32k. Fall back to gtt mmap if we're
> about to exceed that.
>
> This won't work for Yf as the fence doesn't know about Yf. So for that
> case we'd need to use cpu mmap and (de)tile manually. For now just
> pretend that there is no problem.
>
> v2: Throw in some warnings for gtt mmap vs. yf tiling (Chris)
Lgtm,
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> #v1
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 5+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for lib/igt_fb: Don't use blitter for large buffers
2018-09-11 14:29 [igt-dev] [PATCH i-g-t v2] lib/igt_fb: Don't use blitter for large buffers Ville Syrjala
2018-09-11 16:30 ` Chris Wilson
@ 2018-09-11 17:58 ` Patchwork
2018-09-11 22:49 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2018-09-13 7:33 ` [igt-dev] [PATCH i-g-t v2] " Maxime Ripard
3 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2018-09-11 17:58 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: igt-dev
== Series Details ==
Series: lib/igt_fb: Don't use blitter for large buffers
URL : https://patchwork.freedesktop.org/series/49481/
State : success
== Summary ==
= CI Bug Log - changes from CI_DRM_4798 -> IGTPW_1822 =
== Summary - SUCCESS ==
No regressions found.
External URL: https://patchwork.freedesktop.org/api/1.0/series/49481/revisions/1/mbox/
== Known issues ==
Here are the changes found in IGTPW_1822 that come from known issues:
=== IGT changes ===
==== Issues hit ====
igt@kms_chamelium@dp-edid-read:
fi-kbl-7500u: PASS -> FAIL (fdo#103841)
igt@kms_psr@primary_page_flip:
fi-cfl-s3: PASS -> FAIL (fdo#107336)
==== Possible fixes ====
igt@kms_pipe_crc_basic@hang-read-crc-pipe-a:
fi-byt-clapper: FAIL (fdo#103191, fdo#107362) -> PASS
igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
fi-blb-e6850: INCOMPLETE (fdo#107718) -> PASS
igt@prime_vgem@basic-fence-flip:
fi-ilk-650: FAIL (fdo#104008) -> PASS
fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
fdo#103841 https://bugs.freedesktop.org/show_bug.cgi?id=103841
fdo#104008 https://bugs.freedesktop.org/show_bug.cgi?id=104008
fdo#107336 https://bugs.freedesktop.org/show_bug.cgi?id=107336
fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
== Participating hosts (48 -> 44) ==
Additional (1): fi-hsw-4770r
Missing (5): fi-ctg-p8600 fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-hsw-4200u
== Build changes ==
* IGT: IGT_4637 -> IGTPW_1822
CI_DRM_4798: b35a9812b9bbb5b562fd5b4faf7bf06fc80f59ee @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_1822: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1822/
IGT_4637: 57e3d826dee154cb8664667db7660d854a707fc6 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1822/issues.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 5+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for lib/igt_fb: Don't use blitter for large buffers
2018-09-11 14:29 [igt-dev] [PATCH i-g-t v2] lib/igt_fb: Don't use blitter for large buffers Ville Syrjala
2018-09-11 16:30 ` Chris Wilson
2018-09-11 17:58 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
@ 2018-09-11 22:49 ` Patchwork
2018-09-13 7:33 ` [igt-dev] [PATCH i-g-t v2] " Maxime Ripard
3 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2018-09-11 22:49 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: igt-dev
== Series Details ==
Series: lib/igt_fb: Don't use blitter for large buffers
URL : https://patchwork.freedesktop.org/series/49481/
State : failure
== Summary ==
= CI Bug Log - changes from IGT_4637_full -> IGTPW_1822_full =
== Summary - FAILURE ==
Serious unknown changes coming with IGTPW_1822_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_1822_full, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://patchwork.freedesktop.org/api/1.0/series/49481/revisions/1/mbox/
== Possible new issues ==
Here are the unknown changes that may have been introduced in IGTPW_1822_full:
=== IGT changes ===
==== Possible regressions ====
igt@kms_plane_lowres@pipe-c-tiling-yf:
shard-kbl: PASS -> WARN +11
igt@kms_plane_multiple@atomic-pipe-c-tiling-yf:
shard-apl: PASS -> WARN +11
igt@kms_plane_scaling@pipe-a-scaler-with-pixel-format:
shard-glk: PASS -> WARN +11
==== Warnings ====
igt@perf_pmu@rc6:
shard-kbl: PASS -> SKIP
igt@tools_test@tools_test:
shard-apl: SKIP -> PASS
shard-glk: SKIP -> PASS
shard-snb: SKIP -> PASS
shard-hsw: SKIP -> PASS +1
shard-kbl: SKIP -> PASS
== Known issues ==
Here are the changes found in IGTPW_1822_full that come from known issues:
=== IGT changes ===
==== Issues hit ====
igt@gem_exec_big:
shard-hsw: PASS -> INCOMPLETE (fdo#103540)
igt@kms_atomic_transition@plane-all-modeset-transition-fencing:
shard-glk: PASS -> INCOMPLETE (fdo#103359, k.org#198133) +1
igt@kms_cursor_legacy@cursor-vs-flip-toggle:
shard-hsw: PASS -> FAIL (fdo#103355)
igt@kms_setmode@basic:
shard-apl: PASS -> FAIL (fdo#99912)
igt@kms_sysfs_edid_timing:
shard-hsw: PASS -> WARN (fdo#100047)
shard-glk: PASS -> WARN (fdo#100047)
igt@perf_pmu@multi-client-bcs0:
shard-snb: PASS -> INCOMPLETE (fdo#105411)
igt@testdisplay:
shard-glk: PASS -> INCOMPLETE (fdo#107093, fdo#103359, k.org#198133)
==== Possible fixes ====
igt@gem_ctx_isolation@bcs0-s3:
shard-kbl: INCOMPLETE (fdo#103665) -> PASS
igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy:
shard-hsw: FAIL (fdo#105767) -> PASS +1
igt@kms_flip@dpms-vs-vblank-race-interruptible:
shard-glk: FAIL (fdo#103060) -> PASS
igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc:
shard-glk: FAIL (fdo#103167) -> PASS
igt@kms_plane_multiple@atomic-pipe-a-tiling-x:
shard-snb: FAIL (fdo#103166) -> PASS
igt@kms_rotation_crc@primary-rotation-180:
shard-snb: FAIL (fdo#103925) -> PASS
igt@perf@blocking:
shard-hsw: FAIL (fdo#107900) -> PASS
fdo#100047 https://bugs.freedesktop.org/show_bug.cgi?id=100047
fdo#103060 https://bugs.freedesktop.org/show_bug.cgi?id=103060
fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
fdo#103355 https://bugs.freedesktop.org/show_bug.cgi?id=103355
fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
fdo#103540 https://bugs.freedesktop.org/show_bug.cgi?id=103540
fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665
fdo#103925 https://bugs.freedesktop.org/show_bug.cgi?id=103925
fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
fdo#105767 https://bugs.freedesktop.org/show_bug.cgi?id=105767
fdo#107093 https://bugs.freedesktop.org/show_bug.cgi?id=107093
fdo#107900 https://bugs.freedesktop.org/show_bug.cgi?id=107900
fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
k.org#198133 https://bugzilla.kernel.org/show_bug.cgi?id=198133
== Participating hosts (5 -> 5) ==
No changes in participating hosts
== Build changes ==
* IGT: IGT_4637 -> IGTPW_1822
* Linux: CI_DRM_4791 -> CI_DRM_4798
CI_DRM_4791: 07cf212bc704357ee60aba52ec40bab538222040 @ git://anongit.freedesktop.org/gfx-ci/linux
CI_DRM_4798: b35a9812b9bbb5b562fd5b4faf7bf06fc80f59ee @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_1822: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1822/
IGT_4637: 57e3d826dee154cb8664667db7660d854a707fc6 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_1822/shards.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2] lib/igt_fb: Don't use blitter for large buffers
2018-09-11 14:29 [igt-dev] [PATCH i-g-t v2] lib/igt_fb: Don't use blitter for large buffers Ville Syrjala
` (2 preceding siblings ...)
2018-09-11 22:49 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
@ 2018-09-13 7:33 ` Maxime Ripard
3 siblings, 0 replies; 5+ messages in thread
From: Maxime Ripard @ 2018-09-13 7:33 UTC (permalink / raw)
To: Ville Syrjala; +Cc: igt-dev, Daniel Vetter
[-- Attachment #1.1: Type: text/plain, Size: 888 bytes --]
On Tue, Sep 11, 2018 at 05:29:23PM +0300, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> The blitter stride is limited to <32k. Fall back to gtt mmap if we're
> about to exceed that.
>
> This won't work for Yf as the fence doesn't know about Yf. So for that
> case we'd need to use cpu mmap and (de)tile manually. For now just
> pretend that there is no problem.
>
> v2: Throw in some warnings for gtt mmap vs. yf tiling (Chris)
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> #v1
If we (still?) aim at running igt on anything else than intel
hardware, shouldn't we remove i915-specific code from the generic
code, instead of having more of those creeping in?
Maxime
--
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #2: Type: text/plain, Size: 154 bytes --]
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2018-09-13 7:33 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-11 14:29 [igt-dev] [PATCH i-g-t v2] lib/igt_fb: Don't use blitter for large buffers Ville Syrjala
2018-09-11 16:30 ` Chris Wilson
2018-09-11 17:58 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2018-09-11 22:49 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2018-09-13 7:33 ` [igt-dev] [PATCH i-g-t v2] " Maxime Ripard
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.