[igt-dev] [PATCH i-g-t] i915_pm_rpm: Skip i2c read test for DP MST connectors

Gupta, Anshuman anshuman.gupta at intel.com
Tue Mar 8 12:22:39 UTC 2022



> -----Original Message-----
> From: Modem, Bhanuprakash <bhanuprakash.modem at intel.com>
> Sent: Tuesday, March 8, 2022 2:42 PM
> To: igt-dev at lists.freedesktop.org
> Cc: Modem, Bhanuprakash <bhanuprakash.modem at intel.com>; Gupta,
> Anshuman <anshuman.gupta at intel.com>
> Subject: [PATCH i-g-t] i915_pm_rpm: Skip i2c read test for DP MST connectors
> 
> IGT finds the i2c edid over drm i2c node, which will actually the particular DDI or
> TC port.
> 
> In case of DP MST there will be one static primary connector, that is associated
> with actual DDI/PORT and igt will read a valid edid on the parent/primary
> connector but at drm level that connector will be disconnected. Hence endup
> with EDID mismatch on connector.
> 
> This patch will ignore the DP-MST connectors.
> 
> Cc: Anshuman Gupta <anshuman.gupta at intel.com>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
> ---
>  tests/i915/i915_pm_rpm.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c index
> 1df0ed2223..2b687e63c0 100644
> --- a/tests/i915/i915_pm_rpm.c
> +++ b/tests/i915/i915_pm_rpm.c
> @@ -670,6 +670,13 @@ static void format_hex_string(const unsigned char
> edid[static EDID_BLOCK_SIZE],
>  		sprintf(buf+i*5, "0x%02x ", edid[i]);  }
> 
> +static bool is_mst_connector(int fd, uint32_t connector_id) {
> +	return kmstest_get_property(fd, connector_id,
> +				    DRM_MODE_OBJECT_CONNECTOR,
> +				    "PATH", NULL, NULL, NULL);
> +}
> +
>  static void test_i2c(struct mode_set_data *data)  {
>  	bool edid_mistmach_i2c_vs_drm = false; @@ -690,6 +697,9 @@ static
> void test_i2c(struct mode_set_data *data)
> 
>  		bool edids_equal;
> 
> +		if (is_mst_connector(drm_fd, data->connectors[i]-
> >connector_id))
> +			continue;
Presumably this will ignore the static DP-MST connector and dynamic DP-MST connector as well?
If above is true then I believe we need a one more check see if connector is disconnected before ignoring 
the connector. I mean for dynamic MST connector if those are connected, we should not be losing the coverage.

Thanks,
Anshuman Gupta.
> +
>  		/* We fail to detect some VGA monitors using our i2c method.
> If you look
>  		 * at the dmesg of these cases, you'll see the Kernel complaining
> about
>  		 * the EDID reading mostly FFs and then disabling bit-banging.
> Since we
> --
> 2.35.1



More information about the igt-dev mailing list