diff options
Diffstat (limited to 'sound/pci/hda/patch_hdmi.c')
-rw-r--r-- | sound/pci/hda/patch_hdmi.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c index cde9746cda8e..49ee4e55dd16 100644 --- a/sound/pci/hda/patch_hdmi.c +++ b/sound/pci/hda/patch_hdmi.c | |||
@@ -1405,7 +1405,6 @@ static bool hdmi_present_sense_via_verbs(struct hdmi_spec_per_pin *per_pin, | |||
1405 | bool ret; | 1405 | bool ret; |
1406 | bool do_repoll = false; | 1406 | bool do_repoll = false; |
1407 | 1407 | ||
1408 | snd_hda_power_up_pm(codec); | ||
1409 | present = snd_hda_pin_sense(codec, pin_nid); | 1408 | present = snd_hda_pin_sense(codec, pin_nid); |
1410 | 1409 | ||
1411 | mutex_lock(&per_pin->lock); | 1410 | mutex_lock(&per_pin->lock); |
@@ -1444,7 +1443,6 @@ static bool hdmi_present_sense_via_verbs(struct hdmi_spec_per_pin *per_pin, | |||
1444 | jack->block_report = !ret; | 1443 | jack->block_report = !ret; |
1445 | 1444 | ||
1446 | mutex_unlock(&per_pin->lock); | 1445 | mutex_unlock(&per_pin->lock); |
1447 | snd_hda_power_down_pm(codec); | ||
1448 | return ret; | 1446 | return ret; |
1449 | } | 1447 | } |
1450 | 1448 | ||
@@ -1522,6 +1520,10 @@ static bool hdmi_present_sense(struct hdmi_spec_per_pin *per_pin, int repoll) | |||
1522 | struct hdmi_spec *spec = codec->spec; | 1520 | struct hdmi_spec *spec = codec->spec; |
1523 | int ret; | 1521 | int ret; |
1524 | 1522 | ||
1523 | /* no temporary power up/down needed for component notifier */ | ||
1524 | if (!codec_has_acomp(codec)) | ||
1525 | snd_hda_power_up_pm(codec); | ||
1526 | |||
1525 | mutex_lock(&spec->pcm_lock); | 1527 | mutex_lock(&spec->pcm_lock); |
1526 | if (codec_has_acomp(codec)) { | 1528 | if (codec_has_acomp(codec)) { |
1527 | sync_eld_via_acomp(codec, per_pin); | 1529 | sync_eld_via_acomp(codec, per_pin); |
@@ -1531,6 +1533,9 @@ static bool hdmi_present_sense(struct hdmi_spec_per_pin *per_pin, int repoll) | |||
1531 | } | 1533 | } |
1532 | mutex_unlock(&spec->pcm_lock); | 1534 | mutex_unlock(&spec->pcm_lock); |
1533 | 1535 | ||
1536 | if (!codec_has_acomp(codec)) | ||
1537 | snd_hda_power_down_pm(codec); | ||
1538 | |||
1534 | return ret; | 1539 | return ret; |
1535 | } | 1540 | } |
1536 | 1541 | ||