intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH] tests/kms_async_flips: first async flip discarded on i915
@ 2022-06-08  6:07 Arun R Murthy
  2022-06-08  6:49 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for " Patchwork
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Arun R Murthy @ 2022-06-08  6:07 UTC (permalink / raw)
  To: igt-dev; +Cc: intel-gfx

The i915 KMD will use the first async flip to update the watermarks as
per the watermark optimization in DISPLAY13. Hence the actual async flip
will happen from the subsequent flips.
For alternate sync async test, a dummy async flip has to be done to
allow the KMD to perform the watermark related updates before writing to
the surface base address.

Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
 tests/kms_async_flips.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index 1701883b..b9e67454 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -189,19 +189,20 @@ static void test_async_flip(data_t *data, bool alternate_sync_async)
 			 * In older platforms (<= Gen10), async address update bit is double buffered.
 			 * So flip timestamp can be verified only from the second flip.
 			 * The first async flip just enables the async address update.
+			 * In platforms greater than DISPLAY13 thr first async flip will be discarded
+			 * in order to change the watermark levels as per the optimization. Hence the
+			 * subsequent async flips will actually do the asynchronous flips.
 			 */
 			if (is_i915_device(data->drm_fd)) {
 				uint32_t devid = intel_get_drm_devid(data->drm_fd);
 
-				if (IS_GEN9(devid) || IS_GEN10(devid)) {
-					ret = drmModePageFlip(data->drm_fd, data->crtc_id,
-							      data->bufs[frame % 4].fb_id,
-							      flags, data);
+				ret = drmModePageFlip(data->drm_fd, data->crtc_id,
+						      data->bufs[frame % 4].fb_id,
+						      flags, data);
 
-					igt_assert(ret == 0);
+				igt_assert(ret == 0);
 
-					wait_flip_event(data);
-				}
+				wait_flip_event(data);
 			}
 		}
 
-- 
2.25.1


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

* [Intel-gfx] ✗ Fi.CI.BUILD: failure for tests/kms_async_flips: first async flip discarded on i915
  2022-06-08  6:07 [Intel-gfx] [PATCH] tests/kms_async_flips: first async flip discarded on i915 Arun R Murthy
@ 2022-06-08  6:49 ` Patchwork
  2022-06-08  6:56 ` [Intel-gfx] [PATCH] " Arun R Murthy
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2022-06-08  6:49 UTC (permalink / raw)
  To: Arun R Murthy; +Cc: intel-gfx

== Series Details ==

Series: tests/kms_async_flips: first async flip discarded on i915
URL   : https://patchwork.freedesktop.org/series/104876/
State : failure

== Summary ==

Error: patch https://patchwork.freedesktop.org/api/1.0/series/104876/revisions/1/mbox/ not applied
Applying: tests/kms_async_flips: first async flip discarded on i915
error: sha1 information is lacking or useless (tests/kms_async_flips.c).
error: could not build fake ancestor
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 tests/kms_async_flips: first async flip discarded on i915
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".



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

* [Intel-gfx] [PATCH] tests/kms_async_flips: first async flip discarded on i915
  2022-06-08  6:07 [Intel-gfx] [PATCH] tests/kms_async_flips: first async flip discarded on i915 Arun R Murthy
  2022-06-08  6:49 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for " Patchwork
@ 2022-06-08  6:56 ` Arun R Murthy
  2022-06-10  6:24   ` [Intel-gfx] [PATCH i-g-t] " Arun R Murthy
  2022-06-08  8:17 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for tests/kms_async_flips: first async flip discarded on i915 (rev2) Patchwork
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 8+ messages in thread
From: Arun R Murthy @ 2022-06-08  6:56 UTC (permalink / raw)
  To: igt-dev; +Cc: intel-gfx

The i915 KMD will use the first async flip to update the watermarks as
per the watermark optimization in DISPLAY13. Hence the actual async flip
will happen from the subsequent flips.
For alternate sync async test, a dummy async flip has to be done to
allow the KMD to perform the watermark related updates before writing to
the surface base address.

Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
 tests/kms_async_flips.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index 1701883b..b9e67454 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -189,19 +189,20 @@ static void test_async_flip(data_t *data, bool alternate_sync_async)
 			 * In older platforms (<= Gen10), async address update bit is double buffered.
 			 * So flip timestamp can be verified only from the second flip.
 			 * The first async flip just enables the async address update.
+			 * In platforms greater than DISPLAY13 thr first async flip will be discarded
+			 * in order to change the watermark levels as per the optimization. Hence the
+			 * subsequent async flips will actually do the asynchronous flips.
 			 */
 			if (is_i915_device(data->drm_fd)) {
 				uint32_t devid = intel_get_drm_devid(data->drm_fd);
 
-				if (IS_GEN9(devid) || IS_GEN10(devid)) {
-					ret = drmModePageFlip(data->drm_fd, data->crtc_id,
-							      data->bufs[frame % 4].fb_id,
-							      flags, data);
+				ret = drmModePageFlip(data->drm_fd, data->crtc_id,
+						      data->bufs[frame % 4].fb_id,
+						      flags, data);
 
-					igt_assert(ret == 0);
+				igt_assert(ret == 0);
 
-					wait_flip_event(data);
-				}
+				wait_flip_event(data);
 			}
 		}
 
-- 
2.25.1


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

* [Intel-gfx] ✗ Fi.CI.BUILD: failure for tests/kms_async_flips: first async flip discarded on i915 (rev2)
  2022-06-08  6:07 [Intel-gfx] [PATCH] tests/kms_async_flips: first async flip discarded on i915 Arun R Murthy
  2022-06-08  6:49 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for " Patchwork
  2022-06-08  6:56 ` [Intel-gfx] [PATCH] " Arun R Murthy
@ 2022-06-08  8:17 ` Patchwork
  2022-06-08 10:37 ` [Intel-gfx] [PATCH i-g-t] tests/kms_async_flips: first async flip discarded on i915 Arun R Murthy
  2022-06-10  7:48 ` Arun R Murthy
  4 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2022-06-08  8:17 UTC (permalink / raw)
  To: Arun R Murthy; +Cc: intel-gfx

== Series Details ==

Series: tests/kms_async_flips: first async flip discarded on i915 (rev2)
URL   : https://patchwork.freedesktop.org/series/104876/
State : failure

== Summary ==

Error: patch https://patchwork.freedesktop.org/api/1.0/series/104876/revisions/2/mbox/ not applied
Applying: tests/kms_async_flips: first async flip discarded on i915
error: sha1 information is lacking or useless (tests/kms_async_flips.c).
error: could not build fake ancestor
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 tests/kms_async_flips: first async flip discarded on i915
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".



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

* [Intel-gfx] [PATCH i-g-t] tests/kms_async_flips: first async flip discarded on i915
  2022-06-08  6:07 [Intel-gfx] [PATCH] tests/kms_async_flips: first async flip discarded on i915 Arun R Murthy
                   ` (2 preceding siblings ...)
  2022-06-08  8:17 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for tests/kms_async_flips: first async flip discarded on i915 (rev2) Patchwork
@ 2022-06-08 10:37 ` Arun R Murthy
  2022-06-10  7:48 ` Arun R Murthy
  4 siblings, 0 replies; 8+ messages in thread
From: Arun R Murthy @ 2022-06-08 10:37 UTC (permalink / raw)
  To: igt-dev; +Cc: intel-gfx

The i915 KMD will use the first async flip to update the watermarks as
per the watermark optimization in DISPLAY13. Hence the actual async flip
will happen from the subsequent flips.
For alternate sync async test, a dummy async flip has to be done to
allow the KMD to perform the watermark related updates before writing to
the surface base address.

Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
 tests/kms_async_flips.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index 1701883b..67150e50 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -189,19 +189,18 @@ static void test_async_flip(data_t *data, bool alternate_sync_async)
 			 * In older platforms (<= Gen10), async address update bit is double buffered.
 			 * So flip timestamp can be verified only from the second flip.
 			 * The first async flip just enables the async address update.
+			 * In platforms greater than DISPLAY13 thr first async flip will be discarded
+			 * in order to change the watermark levels as per the optimization. Hence the
+			 * subsequent async flips will actually do the asynchronous flips.
 			 */
 			if (is_i915_device(data->drm_fd)) {
-				uint32_t devid = intel_get_drm_devid(data->drm_fd);
+				ret = drmModePageFlip(data->drm_fd, data->crtc_id,
+						      data->bufs[frame % 4].fb_id,
+						      flags, data);
 
-				if (IS_GEN9(devid) || IS_GEN10(devid)) {
-					ret = drmModePageFlip(data->drm_fd, data->crtc_id,
-							      data->bufs[frame % 4].fb_id,
-							      flags, data);
+				igt_assert(ret == 0);
 
-					igt_assert(ret == 0);
-
-					wait_flip_event(data);
-				}
+				wait_flip_event(data);
 			}
 		}
 
-- 
2.25.1


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

* [Intel-gfx] [PATCH i-g-t] tests/kms_async_flips: first async flip discarded on i915
  2022-06-08  6:56 ` [Intel-gfx] [PATCH] " Arun R Murthy
@ 2022-06-10  6:24   ` Arun R Murthy
  0 siblings, 0 replies; 8+ messages in thread
From: Arun R Murthy @ 2022-06-10  6:24 UTC (permalink / raw)
  To: igt-dev; +Cc: intel-gfx

The i915 KMD will use the first async flip to update the watermarks as
per the watermark optimization in DISPLAY13. Hence the actual async flip
will happen from the subsequent flips.
For alternate sync async test, a dummy async flip has to be done to
allow the KMD to perform the watermark related updates before writing to
the surface base address.

Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
 tests/kms_async_flips.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index 1701883b..67150e50 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -189,19 +189,18 @@ static void test_async_flip(data_t *data, bool alternate_sync_async)
 			 * In older platforms (<= Gen10), async address update bit is double buffered.
 			 * So flip timestamp can be verified only from the second flip.
 			 * The first async flip just enables the async address update.
+			 * In platforms greater than DISPLAY13 thr first async flip will be discarded
+			 * in order to change the watermark levels as per the optimization. Hence the
+			 * subsequent async flips will actually do the asynchronous flips.
 			 */
 			if (is_i915_device(data->drm_fd)) {
-				uint32_t devid = intel_get_drm_devid(data->drm_fd);
+				ret = drmModePageFlip(data->drm_fd, data->crtc_id,
+						      data->bufs[frame % 4].fb_id,
+						      flags, data);
 
-				if (IS_GEN9(devid) || IS_GEN10(devid)) {
-					ret = drmModePageFlip(data->drm_fd, data->crtc_id,
-							      data->bufs[frame % 4].fb_id,
-							      flags, data);
+				igt_assert(ret == 0);
 
-					igt_assert(ret == 0);
-
-					wait_flip_event(data);
-				}
+				wait_flip_event(data);
 			}
 		}
 
-- 
2.25.1


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

* [Intel-gfx] [PATCH i-g-t] tests/kms_async_flips: first async flip discarded on i915
  2022-06-08  6:07 [Intel-gfx] [PATCH] tests/kms_async_flips: first async flip discarded on i915 Arun R Murthy
                   ` (3 preceding siblings ...)
  2022-06-08 10:37 ` [Intel-gfx] [PATCH i-g-t] tests/kms_async_flips: first async flip discarded on i915 Arun R Murthy
@ 2022-06-10  7:48 ` Arun R Murthy
  2022-06-10 10:19   ` Karthik B S
  4 siblings, 1 reply; 8+ messages in thread
From: Arun R Murthy @ 2022-06-10  7:48 UTC (permalink / raw)
  To: igt-dev; +Cc: intel-gfx

The i915 KMD will use the first async flip to update the watermarks as
per the watermark optimization in DISPLAY13. Hence the actual async flip
will happen from the subsequent flips.
For alternate sync async test, a dummy async flip has to be done to
allow the KMD to perform the watermark related updates before writing to
the surface base address.

Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
 tests/kms_async_flips.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index 4a0527dc..695aea74 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -211,11 +211,14 @@ static void test_async_flip(data_t *data)
 			 * In older platforms (<= Gen10), async address update bit is double buffered.
 			 * So flip timestamp can be verified only from the second flip.
 			 * The first async flip just enables the async address update.
+			 * In platforms greater than DISPLAY13 the first async flip will be discarded
+			 * in order to change the watermark levels as per the optimization. Hence the
+			 * subsequent async flips will actually do the asynchronous flips.
 			 */
 			if (is_i915_device(data->drm_fd)) {
 				uint32_t devid = intel_get_drm_devid(data->drm_fd);
 
-				if (IS_GEN9(devid) || IS_GEN10(devid)) {
+				if (IS_GEN9(devid) || IS_GEN10(devid) || AT_LEAST_GEN(devid, 12)) {
 					ret = drmModePageFlip(data->drm_fd, data->crtc_id,
 							      data->bufs[frame % 4].fb_id,
 							      flags, data);
-- 
2.25.1


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

* Re: [Intel-gfx] [PATCH i-g-t] tests/kms_async_flips: first async flip discarded on i915
  2022-06-10  7:48 ` Arun R Murthy
@ 2022-06-10 10:19   ` Karthik B S
  0 siblings, 0 replies; 8+ messages in thread
From: Karthik B S @ 2022-06-10 10:19 UTC (permalink / raw)
  To: Arun R Murthy, igt-dev; +Cc: intel-gfx

On 6/10/2022 1:18 PM, Arun R Murthy wrote:
> The i915 KMD will use the first async flip to update the watermarks as
> per the watermark optimization in DISPLAY13. Hence the actual async flip
> will happen from the subsequent flips.
> For alternate sync async test, a dummy async flip has to be done to
> allow the KMD to perform the watermark related updates before writing to
> the surface base address.
>
> Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
Reviewed-by: Karthik B S <karthik.b.s@intel.com>
> ---
>   tests/kms_async_flips.c | 5 ++++-
>   1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
> index 4a0527dc..695aea74 100644
> --- a/tests/kms_async_flips.c
> +++ b/tests/kms_async_flips.c
> @@ -211,11 +211,14 @@ static void test_async_flip(data_t *data)
>   			 * In older platforms (<= Gen10), async address update bit is double buffered.
>   			 * So flip timestamp can be verified only from the second flip.
>   			 * The first async flip just enables the async address update.
> +			 * In platforms greater than DISPLAY13 the first async flip will be discarded
> +			 * in order to change the watermark levels as per the optimization. Hence the
> +			 * subsequent async flips will actually do the asynchronous flips.
>   			 */
>   			if (is_i915_device(data->drm_fd)) {
>   				uint32_t devid = intel_get_drm_devid(data->drm_fd);
>   
> -				if (IS_GEN9(devid) || IS_GEN10(devid)) {
> +				if (IS_GEN9(devid) || IS_GEN10(devid) || AT_LEAST_GEN(devid, 12)) {
>   					ret = drmModePageFlip(data->drm_fd, data->crtc_id,
>   							      data->bufs[frame % 4].fb_id,
>   							      flags, data);



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

end of thread, other threads:[~2022-06-10 10:20 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-08  6:07 [Intel-gfx] [PATCH] tests/kms_async_flips: first async flip discarded on i915 Arun R Murthy
2022-06-08  6:49 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for " Patchwork
2022-06-08  6:56 ` [Intel-gfx] [PATCH] " Arun R Murthy
2022-06-10  6:24   ` [Intel-gfx] [PATCH i-g-t] " Arun R Murthy
2022-06-08  8:17 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for tests/kms_async_flips: first async flip discarded on i915 (rev2) Patchwork
2022-06-08 10:37 ` [Intel-gfx] [PATCH i-g-t] tests/kms_async_flips: first async flip discarded on i915 Arun R Murthy
2022-06-10  7:48 ` Arun R Murthy
2022-06-10 10:19   ` Karthik B S

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).