[igt-dev] [PATCH i-g-t v2] tests/i915/kms_big_fb: First async flip discarded on i915
Juha-Pekka Heikkila
juhapekka.heikkila at gmail.com
Wed Aug 17 11:31:32 UTC 2022
Look ok to me. There was some new failures on ci run but they don't seem
to relate to this patch.
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
On 17.8.2022 7.17, Karthik B S wrote:
> Display 13 onwards, i915 uses the first async flip to update the
> watermarks as per the watermark optimization. Hence the actual
> async flip will happen from the subsequent flips.
>
> To handle this, a dummy async flip has to be done in the async flip
> subtests to allow the KMD to perform the watermark related updates
> before writing to the surface base address.
>
> Signed-off-by: Karthik B S <karthik.b.s at intel.com>
> ---
> tests/i915/kms_big_fb.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/tests/i915/kms_big_fb.c b/tests/i915/kms_big_fb.c
> index d50fde45..0c4cd95e 100644
> --- a/tests/i915/kms_big_fb.c
> +++ b/tests/i915/kms_big_fb.c
> @@ -518,6 +518,16 @@ max_hw_stride_async_flip_test(data_t *data)
> igt_display_commit_atomic(&data->display,
> DRM_MODE_ATOMIC_ALLOW_MODESET, NULL);
>
> + /* First async flip on Gen13+ will be treated as a sync flip*/
> + if (intel_display_ver(data->devid) >= 13) {
> + do {
> + ret = drmModePageFlip(data->drm_fd, data->output->config.crtc->crtc_id,
> + data->big_fb.fb_id,
> + DRM_MODE_PAGE_FLIP_ASYNC, NULL);
> + } while (ret == -EBUSY);
> + igt_assert(ret == 0);
> + }
> +
> igt_wait_for_vblank(data->drm_fd, data->display.pipes[primary->pipe->pipe].crtc_offset);
> startframe = kmstest_get_vblank(data->drm_fd, data->pipe, 0) + 1;
>
More information about the igt-dev
mailing list