[igt-dev] [PATCH i-g-t 2/3] lib/igt_eld: add eld_get_igt

Martin Peres martin.peres at linux.intel.com
Wed Jun 12 10:37:54 UTC 2019


On 06/06/2019 14:48, Simon Ser wrote:
> The existing eld_has_igt function doesn't allow the caller to retrieve the
> parsed ELD and check audio parameters.
> 
> Signed-off-by: Simon Ser <simon.ser at intel.com>

Reviewed-by: Martin Peres <martin.peres at linux.intel.com>

> ---
>  lib/igt_eld.c | 20 +++++++++++++-------
>  lib/igt_eld.h |  1 +
>  2 files changed, 14 insertions(+), 7 deletions(-)
> 
> diff --git a/lib/igt_eld.c b/lib/igt_eld.c
> index 1bb294e3fb2a..7217962ee5ca 100644
> --- a/lib/igt_eld.c
> +++ b/lib/igt_eld.c
> @@ -200,16 +200,14 @@ static bool eld_parse_entry(const char *path, struct eld_entry *eld)
>  	return monitor_present;
>  }
>  
> -/** eld_has_igt: check whether ALSA has detected the audio-capable IGT EDID by
> - * parsing ELD entries */
> -bool eld_has_igt(void)
> +/** eld_get_igt: retrieve the ALSA ELD entry matching the IGT EDID */
> +bool eld_get_igt(struct eld_entry *eld)
>  {
>  	DIR *dir;
>  	struct dirent *dirent;
>  	int i;
>  	char card[64];
>  	char path[PATH_MAX];
> -	struct eld_entry eld;
>  
>  	for (i = 0; i < 8; i++) {
>  		snprintf(card, sizeof(card), "/proc/asound/card%d", i);
> @@ -224,16 +222,16 @@ bool eld_has_igt(void)
>  
>  			snprintf(path, sizeof(path), "%s/%s", card,
>  				 dirent->d_name);
> -			if (!eld_parse_entry(path, &eld)) {
> +			if (!eld_parse_entry(path, eld)) {
>  				continue;
>  			}
>  
> -			if (!eld.valid) {
> +			if (!eld->valid) {
>  				igt_debug("Skipping invalid ELD: %s\n", path);
>  				continue;
>  			}
>  
> -			if (strcmp(eld.monitor_name, "IGT") == 0) {
> +			if (strcmp(eld->monitor_name, "IGT") == 0) {
>  				closedir(dir);
>  				return true;
>  			}
> @@ -243,3 +241,11 @@ bool eld_has_igt(void)
>  
>  	return false;
>  }
> +
> +/** eld_has_igt: check whether ALSA has detected the audio-capable IGT EDID by
> + * parsing ELD entries */
> +bool eld_has_igt(void)
> +{
> +	struct eld_entry eld;
> +	return eld_get_igt(&eld);
> +}
> diff --git a/lib/igt_eld.h b/lib/igt_eld.h
> index e16187884d4b..7c4489f054f1 100644
> --- a/lib/igt_eld.h
> +++ b/lib/igt_eld.h
> @@ -49,6 +49,7 @@ struct eld_entry {
>  	struct eld_sad sads[ELD_SADS_CAP];
>  };
>  
> +bool eld_get_igt(struct eld_entry *eld);
>  bool eld_has_igt(void);
>  
>  #endif
> 


More information about the igt-dev mailing list