[igt-dev] [PATCH] tests/kms_dp_aux_dev: Handle AUX failures on disconnected MST connectors

Ville Syrjälä ville.syrjala at linux.intel.com
Tue Oct 13 11:27:12 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.

MST connectors get nuked once disconnected no? So is this just to avoid
some race with the connector disappearing during the test?

> 
> Signed-off-by: Imre Deak <imre.deak at 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