All of lore.kernel.org
 help / color / mirror / Atom feed
From: Louis Chauvet <louis.chauvet@bootlin.com>
To: "José Expósito" <jose.exposito89@gmail.com>,
	igt-dev@lists.freedesktop.org
Subject: Re: [PATCH i-g-t 12/39] lib/vkms: Test CRTC invalid values
Date: Thu, 27 Feb 2025 14:12:36 +0100	[thread overview]
Message-ID: <1fae7993-d178-4b3c-8fa2-e679d1aafb3d@bootlin.com> (raw)
In-Reply-To: <20250218165011.9123-13-jose.exposito89@gmail.com>



Le 18/02/2025 à 17:49, José Expósito a écrit :
> For a VKMS CRTC, it is only possible to set invalid values in the
> writeback connector status.
> 
> Test that setting wrong values fails and that the CRTC status is not
> accidentally changed.
> 
> Signed-off-by: José Expósito <jose.exposito89@gmail.com>

Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com>

> ---
>   lib/igt_vkms.c             | 20 ++++++++++++++++++++
>   lib/igt_vkms.h             |  2 ++
>   tests/vkms/vkms_configfs.c | 27 +++++++++++++++++++++++++++
>   3 files changed, 49 insertions(+)
> 
> diff --git a/lib/igt_vkms.c b/lib/igt_vkms.c
> index 4021f9aea..d881a2417 100644
> --- a/lib/igt_vkms.c
> +++ b/lib/igt_vkms.c
> @@ -396,3 +396,23 @@ bool igt_vkms_crtc_is_writeback_enabled(igt_vkms_t *dev, const char *name)
>   
>   	return read_bool(path);
>   }
> +
> +/**
> + * igt_vkms_crtc_set_writeback_enabled:
> + * @dev: Device the CRTC belongs to
> + * @name: CRTC name
> + * @writeback: Enable or disable the writeback connector
> + *
> + * Set the VKMS CRTC writeback connector is status.
> + */
> +void igt_vkms_crtc_set_writeback_enabled(igt_vkms_t *dev, const char *name,
> +					 bool writeback)
> +{
> +	char path[PATH_MAX];
> +
> +	snprintf(path, sizeof(path), "%s/%s/%s/%s", dev->path,
> +		 get_pipeline_item_dir_name(VKMS_PIPELINE_ITEM_CRTC), name,
> +		 VKMS_FILE_CRTC_WRITEBACK);
> +
> +	write_bool(path, writeback);

Can fail silently because of the implementation of write_int.

> +}
> diff --git a/lib/igt_vkms.h b/lib/igt_vkms.h
> index 59f6a9775..cb0278544 100644
> --- a/lib/igt_vkms.h
> +++ b/lib/igt_vkms.h
> @@ -35,5 +35,7 @@ void igt_vkms_plane_set_type(igt_vkms_t *dev, const char *name, int type);
>   
>   void igt_vkms_device_add_crtc(igt_vkms_t *dev, const char *name);
>   bool igt_vkms_crtc_is_writeback_enabled(igt_vkms_t *dev, const char *name);
> +void igt_vkms_crtc_set_writeback_enabled(igt_vkms_t *dev, const char *name,
> +					 bool writeback);
>   
>   #endif /* __IGT_VKMS_H__ */
> diff --git a/tests/vkms/vkms_configfs.c b/tests/vkms/vkms_configfs.c
> index 95779d336..af42e364d 100644
> --- a/tests/vkms/vkms_configfs.c
> +++ b/tests/vkms/vkms_configfs.c
> @@ -319,6 +319,32 @@ static void test_crtc_default_values(void)
>   	igt_vkms_device_destroy(dev);
>   }
>   
> +/**
> + * SUBTEST: crtc-wrong-values
> + * Description: Check that setting unexpected values doesn't work.
> + */
> +
> +static void test_crtc_wrong_values(void)
> +{
> +	igt_vkms_t *dev;
> +	char path[PATH_MAX];
> +
> +	/* Test invalid values for "writeback" */
> +	dev = igt_vkms_device_create(__func__);
> +	igt_assert(dev);
> +
> +	igt_vkms_device_add_crtc(dev, "crtc0");
> +	igt_vkms_crtc_set_writeback_enabled(dev, "crtc0", true);
> +	igt_assert(igt_vkms_crtc_is_writeback_enabled(dev, "crtc0"));
> +
> +	snprintf(path, sizeof(path), "%s/crtcs/crtc0/writeback", dev->path);
> +
> +	assert_wrong_bool_values(path);
> +	igt_assert(igt_vkms_crtc_is_writeback_enabled(dev, "crtc0"));
> +
> +	igt_vkms_device_destroy(dev);
> +}
> +
>   igt_main
>   {
>   	struct {
> @@ -333,6 +359,7 @@ igt_main
>   		{ "plane-wrong-values", test_plane_wrong_values },
>   		{ "crtc-default-files", test_crtc_default_files },
>   		{ "crtc-default-values", test_crtc_default_values },
> +		{ "crtc-wrong-values", test_crtc_wrong_values },
>   	};
>   
>   	igt_fixture {

-- 
Louis Chauvet, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



  reply	other threads:[~2025-02-27 13:12 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-18 16:49 [PATCH i-g-t 00/39] VKMS configfs tests José Expósito
2025-02-18 16:49 ` [PATCH i-g-t 01/39] lib/drmtest: Add VKMS as a known driver type José Expósito
2025-02-27 13:12   ` Louis Chauvet
2025-03-13 17:22     ` José Expósito
2025-02-18 16:49 ` [PATCH i-g-t 02/39] lib/igt_debugfs: Move is_mountpoint() to igt_aux José Expósito
2025-02-27 13:12   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 03/39] lib/igt_configfs: Add helper to mount configfs José Expósito
2025-02-27 13:14   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 04/39] lib/vkms: Add minimal VKMS library and test device default files José Expósito
2025-02-27 13:12   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 05/39] lib/vkms: Allow to enable/disable VKMS devices José Expósito
2025-02-27 13:15   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 06/39] tests/vkms_configfs: Test device invalid values José Expósito
2025-02-27 13:14   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 07/39] lib/vkms: Test plane default files José Expósito
2025-02-27 13:15   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 08/39] lib/vkms: Test plane default values José Expósito
2025-02-27 13:15   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 09/39] lib/vkms: Test plane invalid values José Expósito
2025-02-27 13:14   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 10/39] lib/vkms: Test CRTC default files José Expósito
2025-02-27 13:15   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 11/39] lib/vkms: Test CRTC default values José Expósito
2025-02-27 13:12   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 12/39] lib/vkms: Test CRTC invalid values José Expósito
2025-02-27 13:12   ` Louis Chauvet [this message]
2025-02-18 16:49 ` [PATCH i-g-t 13/39] lib/vkms: Test encoder default files José Expósito
2025-02-27 13:14   ` Louis Chauvet
2025-03-13 17:25     ` José Expósito
2025-02-18 16:49 ` [PATCH i-g-t 14/39] lib/vkms: Test connector " José Expósito
2025-02-18 16:49 ` [PATCH i-g-t 15/39] lib/vkms: Test connector default values José Expósito
2025-02-18 16:49 ` [PATCH i-g-t 16/39] lib/vkms: Test plane connector invalid values José Expósito
2025-02-27 13:12   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 17/39] lib/vkms: Test attaching planes to CRTCs José Expósito
2025-02-27 13:15   ` Louis Chauvet
2025-03-13 17:23     ` José Expósito
2025-02-18 16:49 ` [PATCH i-g-t 18/39] lib/vkms: Test attaching encoders " José Expósito
2025-02-18 16:49 ` [PATCH i-g-t 19/39] lib/vkms: Test attaching connectors to encoders José Expósito
2025-02-18 16:49 ` [PATCH i-g-t 20/39] tests/vkms_configfs: Test enablement without pipeline items José Expósito
2025-02-27 13:06   ` Louis Chauvet
2025-02-28  1:47     ` Greg Kroah-Hartman
2025-02-28 11:58       ` José Expósito
2025-02-18 16:49 ` [PATCH i-g-t 21/39] lib/vkms: Create VKMS device from static config José Expósito
2025-02-27 14:30   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 22/39] tests/vkms_configfs: Test adding too many planes José Expósito
2025-02-27 14:53   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 23/39] tests/vkms_configfs: Test not adding a primary plane José Expósito
2025-02-27 14:54   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 24/39] tests/vkms_configfs: Test adding multiple primary planes José Expósito
2025-02-27 15:00   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 25/39] tests/vkms_configfs: Test adding multiple cursor planes José Expósito
2025-02-27 15:00   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 26/39] tests/vkms_configfs: Test adding a plane without possible CRTCs José Expósito
2025-02-27 15:01   ` Louis Chauvet
2025-02-18 16:49 ` [PATCH i-g-t 27/39] tests/vkms_configfs: Test enabling a device without CRTCs José Expósito
2025-02-27 15:15   ` Louis Chauvet
2025-02-18 16:50 ` [PATCH i-g-t 28/39] tests/vkms_configfs: Test enabling a device with too many CRTCs José Expósito
2025-02-27 15:05   ` Louis Chauvet
2025-02-18 16:50 ` [PATCH i-g-t 29/39] tests/vkms_configfs: Test enabling a device without encoders José Expósito
2025-02-27 15:05   ` Louis Chauvet
2025-02-18 16:50 ` [PATCH i-g-t 30/39] tests/vkms_configfs: Test enabling a device with too many encoders José Expósito
2025-02-27 15:05   ` Louis Chauvet
2025-02-18 16:50 ` [PATCH i-g-t 31/39] tests/vkms_configfs: Test adding an encoder without possible CRTCs José Expósito
2025-02-27 15:15   ` Louis Chauvet
2025-02-18 16:50 ` [PATCH i-g-t 32/39] tests/vkms_configfs: Test adding a CRTC without encoders José Expósito
2025-02-27 15:15   ` Louis Chauvet
2025-02-18 16:50 ` [PATCH i-g-t 33/39] tests/vkms_configfs: Test enabling a device without connectors José Expósito
2025-02-27 15:15   ` Louis Chauvet
2025-02-18 16:50 ` [PATCH i-g-t 34/39] tests/vkms_configfs: Test enabling a device with too many connectors José Expósito
2025-02-27 15:15   ` Louis Chauvet
2025-02-18 16:50 ` [PATCH i-g-t 35/39] lib/vkms: Test changing enabled device planes José Expósito
2025-02-28  8:51   ` Louis Chauvet
2025-02-28 11:52     ` José Expósito
2025-02-28 22:15       ` Louis Chauvet
2025-02-18 16:50 ` [PATCH i-g-t 36/39] lib/vkms: Test changing enabled device CRTCs José Expósito
2025-02-18 16:50 ` [PATCH i-g-t 37/39] lib/vkms: Test changing enabled device encoders José Expósito
2025-02-18 16:50 ` [PATCH i-g-t 38/39] lib/vkms: Test changing enabled device connectors José Expósito
2025-02-18 16:50 ` [PATCH i-g-t 39/39] tests/vkms_configfs: Test connector hot-plug José Expósito
2025-02-28  8:51   ` Louis Chauvet
2025-02-27 13:11 ` [PATCH i-g-t 00/39] VKMS configfs tests Louis Chauvet
2025-02-28 21:22 ` ✓ Xe.CI.BAT: success for VKMS configfs tests (rev3) Patchwork
2025-02-28 21:25 ` ✓ i915.CI.BAT: " Patchwork
2025-03-01  5:04 ` ✗ Xe.CI.Full: failure " Patchwork
2025-03-01  9:43 ` ✗ i915.CI.Full: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1fae7993-d178-4b3c-8fa2-e679d1aafb3d@bootlin.com \
    --to=louis.chauvet@bootlin.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=jose.exposito89@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.