All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.