[igt-dev] [PATCH i-g-t 3/7] tests/kms_chamelium: generate an EDID with audio support

Arkadiusz Hiler arkadiusz.hiler at intel.com
Fri May 10 11:35:41 UTC 2019


On Fri, Apr 26, 2019 at 07:21:06PM +0300, Simon Ser wrote:
> The default Chamelium EDID works great with DisplayPort but has issues with
> HDMI. The EDID advertises itself as a DisplayPort-only device, which causes
> issues with HDMI audio. Additionally, the EDID doesn't contain a magic
> incantation within a vendor-specific data block that is needed for audio to
> work.
> 
> This patch makes it so an EDID is generated and set by IGT. The EDID is the
> base IGT EDID patched to append a Short Audio Descriptor and Vendor Specific
> Data block extension.
> 
> This generated is suitable for HDMI audio. For DisplayPort audio, we keep using
                ^ EDID/one
> the Chamelium's default EDID.
> 
> The global variable holding the test frequencies has been renamed to prevent
> shadowing local variables.
           ^ by

> Signed-off-by: Simon Ser <simon.ser at intel.com>
> ---
>  lib/igt_chamelium.c   |   9 +++-
>  tests/kms_chamelium.c | 123 ++++++++++++++++++++++++++++++------------
>  2 files changed, 95 insertions(+), 37 deletions(-)
> 
> diff --git a/tests/kms_chamelium.c b/tests/kms_chamelium.c
> index 714e5e06..126af226 100644
> --- a/tests/kms_chamelium.c
> +++ b/tests/kms_chamelium.c
> @@ -1626,13 +1673,15 @@ igt_main
>  			test_suspend_resume_edid_change(&data, port,
>  							SUSPEND_STATE_MEM,
>  							SUSPEND_TEST_NONE,
> -							edid_id, alt_edid_id);
> +							data.edid_id,
> +							data.alt_edid_id);
>  
>  		connector_subtest("dp-edid-change-during-hibernate", DisplayPort)
>  			test_suspend_resume_edid_change(&data, port,
>  							SUSPEND_STATE_DISK,
>  							SUSPEND_TEST_DEVICES,
> -							edid_id, alt_edid_id);
> +							data.edid_id,
> +							data.alt_edid_id);
>  
>  		connector_subtest("dp-crc-single", DisplayPort)
>  			test_display_all_modes(&data, port, DRM_FORMAT_XRGB8888,
> @@ -1649,8 +1698,10 @@ igt_main
>  		connector_subtest("dp-frame-dump", DisplayPort)
>  			test_display_frame_dump(&data, port);
>  
> +		/* The EDID we generate advertises HDMI audio, not DP audio.
> +		 * Use the Chamelium's default EDID for DP audio. */
>  		connector_subtest("dp-audio", DisplayPort)
> -			test_display_audio(&data, port, "HDMI");
> +			test_display_audio(&data, port, "HDMI", 0);

#define CHAMELIUM_DEFAULT_EDID 0

or so

>  	}
>  
>  	igt_subtest_group {


More information about the igt-dev mailing list