summaryrefslogtreecommitdiff
path: root/drivers/video/tegra/dc/edid.c
diff options
context:
space:
mode:
authorScottPeterson <speterson@nvidia.com>2011-07-26 14:54:14 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:48:07 -0800
commit64415b2213fa41c35dde054829d7193d132c2ae9 (patch)
tree0dca3b975b16199069236adc781576fff084b115 /drivers/video/tegra/dc/edid.c
parentf244c8f682f6f8e8186fb79cba4aa92876c2d0c1 (diff)
arm:video:dc Audio EDID improvements
Finer grain determination of audio capabilities for HDMI devices. TO enable audio we have to have basic audio supported in the EDID plus at least one Short Audio Descriptor block. Reviewed-on: http://git-master/r/43304 (cherry picked from commit aaadcb7a4f8501dc71c6185e111fab1427bb7286) Original-Change-Id: I30c818cdc77ccb351f304bd3639f28a5d370f36b Reviewed-on: http://git-master/r/45568 Reviewed-by: Jonathan Mayo <jmayo@nvidia.com> Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-by: Scott Peterson <speterson@nvidia.com> Tested-by: Scott Peterson <speterson@nvidia.com> Rebase-Id: R608c722e0481a4e2a4f8294c4358569f7970e722
Diffstat (limited to 'drivers/video/tegra/dc/edid.c')
-rw-r--r--drivers/video/tegra/dc/edid.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/video/tegra/dc/edid.c b/drivers/video/tegra/dc/edid.c
index 215fccc0050f..c2d99917519c 100644
--- a/drivers/video/tegra/dc/edid.c
+++ b/drivers/video/tegra/dc/edid.c
@@ -172,6 +172,7 @@ int tegra_edid_parse_ext_block(u8 *raw, int idx, struct tegra_edid *edid)
u8 code;
int len;
int i;
+ bool basic_audio = false;
ptr = &raw[0];
@@ -186,7 +187,7 @@ int tegra_edid_parse_ext_block(u8 *raw, int idx, struct tegra_edid *edid)
/* For basic audio, set spk_alloc to Left+Right.
* If there is a Speaker Alloc block this will
* get over written with that value */
- edid->eld.spk_alloc = 1;
+ basic_audio = true;
}
}
ptr = &raw[4];
@@ -212,6 +213,9 @@ int tegra_edid_parse_ext_block(u8 *raw, int idx, struct tegra_edid *edid)
edid->eld.sad[i] = ptr[i + 1];
len++;
ptr += len; /* adding the header */
+ /* Got an audio data block so enable audio */
+ if(basic_audio == true)
+ edid->eld.spk_alloc = 1;
break;
}
/* case 2 is commented out for now */