[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