[PATCH i-g-t] tests/kms_sysfs_edid_timing: Skip the first detect

Manasi Navare navaremanasi at chromium.org
Wed May 22 14:53:09 UTC 2024


Thanks for the patch Khaled.

On Fri, May 17, 2024 at 5:33 PM Khaled Almahallawy
<khaled.almahallawy at intel.com> wrote:
>
> It is observed in some chrome devices that the first detect take a
> long time due to PPS. In another device it was found the eDP panel
> misbehaving and keep sending multiple long HPD during PPS which
> trigger HPD storm warning. This first detect will always exceeds the
> THRESHOLD_PER_CONNECTOR and will cause the test to fail.
>
> Avoid that by skipping the measurement for the first detect.
> Also adding more debug logs in the test and kernel to be able to
> correlate the results.
>
> Fixes: VLK-52052, VLK-56861
>
> Cc: Swati Sharma <swati2.sharma at intel.com>
> Cc: Mark Yacoub <markyacoub at chromium.org>
> Cc: Shawn Lee <shawn.c.lee at intel.com>
> Cc: Kamil Konieczny <kamil.konieczny at linux.intel.com>
> Signed-off-by: Khaled Almahallawy <khaled.almahallawy at intel.com>
> ---
>  tests/kms_sysfs_edid_timing.c | 16 +++++++++++++---
>  1 file changed, 13 insertions(+), 3 deletions(-)
>
> diff --git a/tests/kms_sysfs_edid_timing.c b/tests/kms_sysfs_edid_timing.c
> index dbc66c876..b7832dd83 100644
> --- a/tests/kms_sysfs_edid_timing.c
> +++ b/tests/kms_sysfs_edid_timing.c
> @@ -50,7 +50,7 @@
>  #define THRESHOLD_PER_CONNECTOR                150
>  #define THRESHOLD_PER_CONNECTOR_MEAN   140
>  #define THRESHOLD_ALL_CONNECTORS_MEAN  100
> -#define CHECK_TIMES                    15
> +#define CHECK_TIMES                    16
>
>  IGT_TEST_DESCRIPTION("This test checks the time it takes to reprobe each "
>                      "connector and fails if either the time it takes for "
> @@ -89,15 +89,25 @@ igt_simple_main
>                 for (i = 0; i < CHECK_TIMES; i++) {
>                         struct timespec ts = {};
>                         int fd;
> +                       uint64_t current;
>
>                         if ((fd = open(path, O_WRONLY)) < 0)
>                                 continue;
>
> +                       igt_kmsg(KMSG_DEBUG "%s: start detect\n", path);
>                         igt_nsec_elapsed(&ts);
>                         igt_ignore_warn(write(fd, "detect\n", 7));
> -                       igt_mean_add(&mean, igt_nsec_elapsed(&ts));
> -
> +                       current = igt_nsec_elapsed(&ts);
> +                       igt_kmsg(KMSG_DEBUG "%s: end detect\n", path);
>                         close(fd);
> +
> +                       /* Skip first detect */

Could we add a comment that summarizes why we skip first detect for readability.
Also please double check the CI failures and make sure not related to
this change.

Everything else looks good

Reviewed-by: Manasi Navare <navaremanasi at chromium.org>

Manasi

> +                       if(i == 0)
> +                               continue;
> +
> +                       igt_mean_add(&mean, current);
> +                       igt_debug("%s: i=%d current=%02fdms mean.max=%02fms mean.min=%02fms\n",
> +                               de->d_name, i, current/1e6,  mean.max/1e6, mean.min/1e6);
>                 }
>
>                 igt_debug("%s: mean.max %.2fns, %.2fus, %.2fms, "
> --
> 2.34.1
>


More information about the igt-dev mailing list