summaryrefslogtreecommitdiff
path: root/sound/pci
diff options
context:
space:
mode:
authorDara Ramesh <dramesh@nvidia.com>2012-09-20 09:44:48 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 12:39:10 -0700
commit8acc62fd9587a8ff844650be87546606aeec46dd (patch)
tree481dea9e27a908fe44475d1db734e79c57ae1cba /sound/pci
parent2fddc18064fcdf7999534e53b3910d38d1325d24 (diff)
ALSA: hda - add Nvidia T114 Tegra HDMI codec id
Signed-off-by: Dara Ramesh <dramesh@nvidia.com> Reviewed-on: http://git-master/r/133966 (cherry picked from commit e4473b4eb34fc8b57f358e0ff38095c731a6f01b) Change-Id: I8987c4d5555a4fd0da127ec5abbf004ffe32117b Signed-off-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-on: http://git-master/r/146953 Reviewed-by: Automatic_Commit_Validation_User Rebase-Id: R21341de6889644cd8789e329c5c1f300b309f536
Diffstat (limited to 'sound/pci')
-rw-r--r--sound/pci/hda/patch_hdmi.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index d048fa1f9418..5d81237db3c0 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -986,7 +986,8 @@ static void hdmi_intrinsic_event(struct hda_codec *codec, unsigned int res)
hdmi_present_sense(get_pin(spec, pin_idx), 1);
#ifdef CONFIG_SND_HDA_PLATFORM_NVIDIA_TEGRA
- if (codec->preset->id == 0x10de0020) {
+ if (((codec->preset->id == 0x10de0020) ||
+ (codec->preset->id == 0x10de0022))) {
/*
* HDMI sink's ELD info cannot always be retrieved for now, e.g.
* in console or for audio devices. Assume the highest speakers
@@ -1144,8 +1145,9 @@ static int hdmi_pcm_open(struct hda_pcm_stream *hinfo,
eld = &per_pin->sink_eld;
#ifdef CONFIG_SND_HDA_PLATFORM_NVIDIA_TEGRA
- if ((codec->preset->id == 0x10de0020) &&
- (!eld->monitor_present || !eld->info.lpcm_sad_ready)) {
+ if ((((codec->preset->id == 0x10de0020) &&
+ (codec->preset->id == 0x10de0022))) &&
+ (!eld->monitor_present || !eld->info.lpcm_sad_ready)) {
if (!eld->monitor_present) {
if (tegra_hdmi_setup_hda_presence() < 0) {
snd_printk(KERN_WARNING
@@ -1332,7 +1334,8 @@ static void hdmi_repoll_eld(struct work_struct *work)
hdmi_present_sense(per_pin, per_pin->repoll_count);
#ifdef CONFIG_SND_HDA_PLATFORM_NVIDIA_TEGRA
- if (codec->preset->id == 0x10de0020) {
+ if ((codec->preset->id == 0x10de0020) ||
+ (codec->preset->id == 0x10de0022)) {
/*
* HDMI sink's ELD info cannot always be retrieved for now, e.g.
* in console or for audio devices. Assume the highest speakers
@@ -1461,7 +1464,8 @@ static int hdmi_parse_codec(struct hda_codec *codec)
* HDA link is powered off at hot plug or hw initialization time.
*/
else if ((!(snd_hda_param_read(codec, codec->afg, AC_PAR_POWER_STATE) &
- AC_PWRST_EPSS)) && (codec->preset->id != 0x10de0020))
+ AC_PWRST_EPSS)) && ((codec->preset->id != 0x10de0020) &&
+ (codec->preset->id != 0x10de0022)))
codec->bus->power_keep_link_on = 1;
#endif
@@ -1502,7 +1506,8 @@ static int generic_hdmi_playback_pcm_prepare(struct hda_pcm_stream *hinfo,
non_pcm = check_non_pcm_per_cvt(codec, cvt_nid);
#if defined(CONFIG_SND_HDA_PLATFORM_NVIDIA_TEGRA) && defined(CONFIG_TEGRA_DC)
- if (codec->preset->id == 0x10de0020) {
+ if ((codec->preset->id == 0x10de0020) ||
+ (codec->preset->id == 0x10de0022)) {
int err = 0;
if (substream->runtime->channels == 2)
@@ -1814,6 +1819,7 @@ static int generic_hdmi_init_per_pins(struct hda_codec *codec)
switch (codec->preset->id) {
case 0x10de0020:
+ case 0x10de0022:
snd_hda_codec_write(codec, 4, 0,
AC_VERB_SET_DIGI_CONVERT_1, 0x11);
default:
@@ -2612,6 +2618,7 @@ static const struct hda_codec_preset snd_hda_preset_hdmi[] = {
{ .id = 0x10de001b, .name = "GPU 1b HDMI/DP", .patch = patch_generic_hdmi },
{ .id = 0x10de001c, .name = "GPU 1c HDMI/DP", .patch = patch_generic_hdmi },
{ .id = 0x10de0020, .name = "Tegra30 HDMI", .patch = patch_generic_hdmi },
+{ .id = 0x10de0022, .name = "Tegra35 HDMI", .patch = patch_generic_hdmi },
{ .id = 0x10de0040, .name = "GPU 40 HDMI/DP", .patch = patch_generic_hdmi },
{ .id = 0x10de0041, .name = "GPU 41 HDMI/DP", .patch = patch_generic_hdmi },
{ .id = 0x10de0042, .name = "GPU 42 HDMI/DP", .patch = patch_generic_hdmi },
@@ -2666,6 +2673,7 @@ MODULE_ALIAS("snd-hda-codec-id:10de001a");
MODULE_ALIAS("snd-hda-codec-id:10de001b");
MODULE_ALIAS("snd-hda-codec-id:10de001c");
MODULE_ALIAS("snd-hda-codec-id:10de0020");
+MODULE_ALIAS("snd-hda-codec-id:10de0022");
MODULE_ALIAS("snd-hda-codec-id:10de0040");
MODULE_ALIAS("snd-hda-codec-id:10de0041");
MODULE_ALIAS("snd-hda-codec-id:10de0042");