[igt-dev] [PATCH] tests/kms_dp_aux_dev: Handle AUX failures on disconnected MST connectors
Ville Syrjälä
ville.syrjala at linux.intel.com
Thu Oct 15 19:08:52 UTC 2020
On Mon, Oct 12, 2020 at 08:56:54PM +0300, Imre Deak wrote:
> The DPCD of an MST connector is read out with a REMOTE_DPCD_READ MST
> request. If the given connector is disconnected this read will result in
> an MST NAK reply and this will be reported as an EIO error to the
> initiator of the AUX read.
>
> Handle this in the test that attempts to read the DPCD of any exposed
> connector, whether they are connected or not.
>
> Signed-off-by: Imre Deak <imre.deak at intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
> tests/kms_dp_aux_dev.c | 16 +++++++++++++---
> 1 file changed, 13 insertions(+), 3 deletions(-)
>
> diff --git a/tests/kms_dp_aux_dev.c b/tests/kms_dp_aux_dev.c
> index 4f52434a..39fc2b92 100644
> --- a/tests/kms_dp_aux_dev.c
> +++ b/tests/kms_dp_aux_dev.c
> @@ -34,6 +34,14 @@
>
> IGT_TEST_DESCRIPTION("Test that /dev/drm_dp_aux reads work");
>
> +static bool is_mst_connector(int drm_fd, uint32_t connector_id)
> +{
> + return kmstest_get_property(drm_fd, connector_id,
> + DRM_MODE_OBJECT_CONNECTOR,
> + "PATH", NULL,
> + NULL, NULL);
> +}
> +
> static bool test(int drm_fd, uint32_t connector_id)
> {
> drmModeConnector *connector;
> @@ -67,10 +75,12 @@ static bool test(int drm_fd, uint32_t connector_id)
> igt_assert(fd >= 0);
>
> ret = read(fd, buf, sizeof(buf));
> - igt_assert(ret == sizeof(buf) || errno == ETIMEDOUT);
> -
> igt_info("%s: %s\n", path,
> - ret > 0 ? "success" : "timed out");
> + ret > 0 ? "success" : strerror(errno));
> +
> + igt_assert(ret == sizeof(buf) ||
> + errno == ETIMEDOUT ||
> + (errno == EIO && is_mst_connector(drm_fd, connector_id)));
>
> close(fd);
>
> --
> 2.20.1
>
> _______________________________________________
> igt-dev mailing list
> igt-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev
--
Ville Syrjälä
Intel
More information about the igt-dev
mailing list