[PATCH i-g-t] tests/kms_sysfs_edid_timing: Skip the first detect
Kamil Konieczny
kamil.konieczny at linux.intel.com
Wed May 22 16:16:06 UTC 2024
Hi Khaled,
On 2024-05-17 at 17:33:45 -0700, Khaled Almahallawy 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
Please do not write this in description.
Also look into CI report and reply to it, in replay cut it after
'Known' report begins.
> 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);
------------^^^^^^^^
Why not igt_debug?
> 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);
------------^^^^^^^^
Same here, why not igt_debug?
> close(fd);
> +
> + /* Skip first detect */
> + if(i == 0)
--------------^
Add space after 'if', so it will be:
if (i == 0)
You could use checkpatch.pl from Linux kernel to catch similar
problems.
Regards,
Kamil
> + 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