[PATCH i-g-t 6/9] tests/kms_sharpness_filter: Add dpms/suspend subtests
Nautiyal, Ankit K
ankit.k.nautiyal at intel.com
Wed Dec 11 10:59:19 UTC 2024
On 12/9/2024 5:16 PM, Swati Sharma wrote:
> Subtests are added to verify casf with dpms and suspend.
>
> Signed-off-by: Swati Sharma <swati2.sharma at intel.com>
> ---
> tests/kms_sharpness_filter.c | 52 ++++++++++++++++++++++++++++++++++++
> 1 file changed, 52 insertions(+)
>
> diff --git a/tests/kms_sharpness_filter.c b/tests/kms_sharpness_filter.c
> index f91c444f7..92c816480 100644
> --- a/tests/kms_sharpness_filter.c
> +++ b/tests/kms_sharpness_filter.c
> @@ -40,6 +40,14 @@
> *
> * SUBTEST: filter-tap
> * Description: Verify that following a resolution change, distinct taps are selected.
> + *
> + * SUBTEST: filter-dpms
> + * Description: Verify content adaptive sharpness filter with DPMS.
> + * Functionality: casf, dpms
> + *
> + * SUBTEST: filter-suspend
> + * Description: Verify content adaptive sharpness filter with suspend.
> + * Functionality: casf, suspend
> */
>
> IGT_TEST_DESCRIPTION("Test to validate content adaptive sharpness filter");
> @@ -69,6 +77,8 @@ enum test_type {
> TEST_FILTER_STRENGTH,
> TEST_FILTER_TOGGLE,
> TEST_FILTER_TAP,
> + TEST_FILTER_DPMS,
> + TEST_FILTER_SUSPEND,
> };
>
> const int filter_strength_list[] = {
> @@ -210,6 +220,7 @@ static int test_filter_toggle(data_t *data)
>
> static void test_sharpness_filter(data_t *data, enum test_type type)
> {
> + igt_output_t *output = data->output;
> drmModeModeInfo *mode = data->mode;
> int height = mode->hdisplay;
> int width = mode->vdisplay;
> @@ -234,6 +245,19 @@ static void test_sharpness_filter(data_t *data, enum test_type type)
>
> ret = igt_display_try_commit2(&data->display, COMMIT_ATOMIC);
>
> + if (type == TEST_FILTER_DPMS) {
> + kmstest_set_connector_dpms(data->drm_fd,
> + output->config.connector,
> + DRM_MODE_DPMS_OFF);
> + kmstest_set_connector_dpms(data->drm_fd,
> + output->config.connector,
> + DRM_MODE_DPMS_ON);
> + }
> +
> + if (type == TEST_FILTER_SUSPEND)
> + igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
> + SUSPEND_TEST_NONE);
I think for suspend/resume and dpms on/off better thing would be to
compare sharpness before and after the action.
We can perhaps use CRC before going into suspend and match it with CRC
after suspend.
Regards,
Ankit
> +
> if (type == TEST_FILTER_TOGGLE)
> ret |= test_filter_toggle(data);
>
> @@ -324,6 +348,12 @@ run_sharpness_filter_test(data_t *data, enum test_type type)
> case TEST_FILTER_TOGGLE:
> snprintf(name, sizeof(name), "-toggle");
> break;
> + case TEST_FILTER_DPMS:
> + snprintf(name, sizeof(name), "-dpms");
> + break;
> + case TEST_FILTER_SUSPEND:
> + snprintf(name, sizeof(name), "-suspend");
> + break;
> default:
> igt_assert(0);
> }
> @@ -458,6 +488,28 @@ igt_main_args("l", NULL, help_str, opt_handler, &data)
> run_sharpness_filter_test(&data, TEST_FILTER_TAP);
> }
>
> + igt_describe("Verify content adaptive sharpness filter "
> + "with DPMS.");
> + igt_subtest_with_dynamic("filter-dpms") {
> + data.modifier = DRM_FORMAT_MOD_LINEAR;
> + data.rotation = IGT_ROTATION_0;
> + data.format = DRM_FORMAT_XRGB8888;
> + data.filter_strength = MID_FILTER_STRENGTH;
> +
> + run_sharpness_filter_test(&data, TEST_FILTER_DPMS);
> + }
> +
> + igt_describe("Verify content adaptive sharpness filter "
> + "with suspend.");
> + igt_subtest_with_dynamic("filter-suspend") {
> + data.modifier = DRM_FORMAT_MOD_LINEAR;
> + data.rotation = IGT_ROTATION_0;
> + data.format = DRM_FORMAT_XRGB8888;
> + data.filter_strength = MID_FILTER_STRENGTH;
> +
> + run_sharpness_filter_test(&data, TEST_FILTER_SUSPEND);
> + }
> +
> igt_fixture {
> igt_display_fini(&data.display);
> drm_close_driver(data.drm_fd);
More information about the igt-dev
mailing list