Thread (10 messages) 10 messages, 5 authors, 2021-07-13

Re: [igt-dev] [PATCH i-g-t] [RFC] tests/kms_prime: Aligned pitch to 64 byte for Intel platforms

From: Srinivas, Vidya <hidden>
Date: 2021-06-05 05:44:20
Also in: intel-gfx

Thank you very much Mark, for testing the patch and providing the "Tested-by" tag.
I shall incorporate you review comments and submit the patch.

Additionally, we have submitted the kernel alternative https://patchwork.freedesktop.org/patch/436199/

Regards
Vidya

-----Original Message-----
From: Mark Yacoub <redacted> 
Sent: Saturday, June 5, 2021 12:24 AM
To: Srinivas, Vidya <redacted>
Cc: Ville Syrjälä <redacted>; igt-dev@lists.freedesktop.org; intel-gfx@lists.freedesktop.org; Lin, Charlton <redacted>
Subject: Re: [igt-dev] [PATCH i-g-t] [RFC] tests/kms_prime: Aligned pitch to 64 byte for Intel platforms

On Mon, May 31, 2021 at 10:47 AM Srinivas, Vidya [off-list ref] wrote:
Hello Ville,

Thank you very much.
Before reaching our i915's i915_gem_dumb_create, it goes to vgem_gem_dumb_create for kms_prime.

The pitch gets calculated there and it is not 64 byte aligned. Due to this, intel_framebuffer_init reports "pitch must be 64 byte aligned"
and framebuffer creation fails. I tried submitting vgem patch where 64 
byte alignment can be done in vgem_gem_dumb_create and that also passes. But we did not get approval yet as few of them felt, vgem is generic and other platforms might fail if we do 64 byte alignment there.

Kindly suggest. Thanks a lot.

Regards
Vidya

-----Original Message-----
From: Ville Syrjälä <redacted>
Sent: Monday, May 31, 2021 7:48 PM
To: Srinivas, Vidya <redacted>
Cc: intel-gfx@lists.freedesktop.org; igt-dev@lists.freedesktop.org; 
Lin, Charlton [off-list ref]
Subject: Re: [igt-dev] [PATCH i-g-t] [RFC] tests/kms_prime: Aligned 
pitch to 64 byte for Intel platforms

On Fri, May 28, 2021 at 10:04:03AM +0530, Vidya Srinivas wrote:
quoted
For Intel platforms, pitch needs to be 64 byte aligned.
Kernel code vgem_gem_dumb_create which is platform generic code 
doesnt do the alignment. This causes frame buffer creation to fail 
on Intel platforms where the pitch is not 64 byte aligned.

tests: test run on Intel platforms with panel resolution 1366x768
Tested on ChromeOS on JSL (Drawlat).
Tested-by: Mark Yacoub <redacted>
quoted
Signed-off-by: Vidya Srinivas <redacted>
---
 tests/kms_prime.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/tests/kms_prime.c b/tests/kms_prime.c index
8cb2ca2a9dc3..fdc941fe8100 100644
--- a/tests/kms_prime.c
+++ b/tests/kms_prime.c
@@ -51,6 +51,8 @@ static struct {
      { .r = 1.0, .g = 0.0, .b = 0.0, .color = 0xffff0000 },  };

+bool check_platform;
I think we can do a more precise name to indicate which platform.
Something like is_intel_device or is_i915 would be more appropriate.
alternatively, we can drop the boolean and just do the check when needed.
So it would look something like
+ is_i915_device(fd) ? ALIGN(scratch->width, 64) : scratch->width,
quoted
+
 IGT_TEST_DESCRIPTION("Prime tests, focusing on KMS side");

 static bool has_prime_import(int fd) @@ -101,7 +103,7 @@ static 
void prepare_scratch(int exporter_fd, struct dumb_bo *scratch,
      scratch->bpp = 32;

      scratch->handle = kmstest_dumb_create(exporter_fd,
-                     scratch->width,
+                     check_platform? ALIGN(scratch->width, 64): 
+ scratch->width,
The dumb_create ioctl already does this for us.
quoted
                      scratch->height,
                      scratch->bpp,
                      &scratch->pitch, @@ -262,6 +264,7 @@ igt_main

              /* ANY = anything that is not VGEM */
              first_fd = __drm_open_driver_another(0, DRIVER_ANY | 
DRIVER_VGEM);
+             check_platform = is_i915_device(first_fd);
              igt_require(first_fd >= 0);

              second_fd = __drm_open_driver_another(1, DRIVER_ANY | 
DRIVER_VGEM);
--
2.7.4

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
--
Ville Syrjälä
Intel
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help