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

Gupta, Anshuman anshuman.gupta at intel.com
Tue Mar 8 16:08:52 UTC 2022



> -----Original Message-----
> From: Modem, Bhanuprakash <bhanuprakash.modem at intel.com>
> Sent: Tuesday, March 8, 2022 8:52 PM
> To: igt-dev at lists.freedesktop.org
> Cc: Modem, Bhanuprakash <bhanuprakash.modem at intel.com>; Gupta,
> Anshuman <anshuman.gupta at intel.com>
> Subject: [v2 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.
> 
> V2:
> * Check if connector is disconnected before ignoring (Anshuman)
Reviewed-by: Anshuman Gupta <anshuman.gupta at intel.com>
> 
> Cc: Anshuman Gupta <anshuman.gupta at intel.com>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
> ---
>  tests/i915/i915_pm_rpm.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c index
> 1df0ed2223..9afe74272d 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,10 @@ static
> void test_i2c(struct mode_set_data *data)
> 
>  		bool edids_equal;
> 
> +		if (data->connectors[i]->connection !=
> DRM_MODE_CONNECTED ||
> +		    is_mst_connector(drm_fd, data->connectors[i]-
> >connector_id))
> +			continue;
> +
>  		/* 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