[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