[igt-dev] [PATCH] tests/kms_dp_aux_dev: Check DP connection only before tests

Modem, Bhanuprakash bhanuprakash.modem at intel.com
Thu Oct 27 01:12:00 UTC 2022


On Wed-26-10-2022 08:37 pm, Alex Hung wrote:
> 
> 
> On 2022-10-26 05:14, Modem, Bhanuprakash wrote:
>> On Wed-26-10-2022 01:29 pm, Petri Latvala wrote:
>>> On Tue, Oct 25, 2022 at 08:16:15PM -0600, Alex Hung wrote:
>>>> Without DP port connected, kernel reports "Too many retries"
>>>> that indicates no sink to respond. This is the same across GPUs.
>>>>
>>>> amdgpu ... DM aux hw bus 2: Too many retries, giving up. First 
>>>> error: -5
>>>> i915 ... AUX C/DDI C/PHY C: Too many retries, giving up. First 
>>>> error: -110
>>>>
>>>> In addition, the test can result time out such as below:
>>>>
>>>> /dev/drm_dp_aux0: Connection timed out
>>>> /dev/drm_dp_aux1: Connection timed out
>>
>> These timeouts are already handled in this test: 
>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcgit.freedesktop.org%2Fdrm%2Figt-gpu-tools%2Ftree%2Ftests%2Fkms_dp_aux_dev.c%23n88&data=05%7C01%7Calex.hung%40amd.com%7Cf247127341e34be42d0608dab7434b53%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C638023796906119251%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=4kt0bcLG6jsPpagnkqwcVWxhvf00Omjr3kjCTs%2BEu2o%3D&reserved=0
>>
>> IMO, It could be fine with existing test, since it'll work as a kind 
>> of negative scenario.
> 1. If a case is known for not going to work, is it necessary to test it?
> 
> 2. copied code here for discussion
> 
> igt_assert(ret == sizeof(buf) ||
>      errno == ETIMEDOUT ||
>      errno == EIO && is_mst_connector(drm_fd, connector_id)));
> 
> As in description, the i915 returns -110 (ETIMEOUT) but amdgpu returns 
> -5 (EIO), and the above code handles i915 well but that's not always 
> true for other scenario.
> 
> Do you prefer I made changes like the below instead?
> 
> igt_assert(ret == sizeof(buf) ||
>      errno == ETIMEDOUT ||
> -    errno == EIO && is_mst_connector(drm_fd, connector_id)));
> +    errno == EIO);

Yes, probably don't break the existing one:

  igt_assert(ret == sizeof(buf) ||
       errno == ETIMEDOUT ||
-     (errno == EIO && is_mst_connector(drm_fd, connector_id)));
+     (errno == EIO &&
+      (is_mst_connector(drm_fd, connector_id || 
is_amdgpu_device(drm_fd)))));

- Bhanu

> 
>>
>> - Bhanu
>>
>>>>
>>>> As a result, checking DP connection alone should be sufficient.
>>>>
>>>> Signed-off-by: Alex Hung <alex.hung at amd.com>
>>>> ---
>>>>   tests/kms_dp_aux_dev.c | 3 +--
>>>>   1 file changed, 1 insertion(+), 2 deletions(-)
>>>>
>>>> diff --git a/tests/kms_dp_aux_dev.c b/tests/kms_dp_aux_dev.c
>>>> index ed9dd510..7fce74a4 100644
>>>> --- a/tests/kms_dp_aux_dev.c
>>>> +++ b/tests/kms_dp_aux_dev.c
>>>> @@ -53,8 +53,7 @@ static bool test(int drm_fd, uint32_t connector_id)
>>>>       drmModeFreeConnector(connector);
>>>>       igt_assert(dir_fd >= 0);
>>>> -    if (connector->connection != DRM_MODE_CONNECTED &&
>>>> -        is_mst_connector(drm_fd, connector_id)) {
>>>> +    if (connector->connection != DRM_MODE_CONNECTED) {
>>>>           close(dir_fd);
>>>>           return false;
>>>>       }
>>>
>>>
>>> Bhanuprakash, Swati, you wrote/reviewed this piece of code, please 
>>> review
>>> this patch.
>>>
>>>
>>



More information about the igt-dev mailing list