Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Anssi Hannula <anssi.hannula@iki.fi>
To: Takashi Iwai <tiwai@suse.de>
Cc: Stephan Raue <stephan@openelec.tv>, alsa-devel@alsa-project.org
Subject: Re: [PATCH 2/2] ALSA: hda - hdmi: Set infoframe and channel mapping even without sink
Date: Mon, 05 May 2014 17:48:04 +0300	[thread overview]
Message-ID: <00e2b3727b902f17c3c849012d58e1f5@mail.onse.fi> (raw)
In-Reply-To: <s5hha54fg52.wl%tiwai@suse.de>

Takashi Iwai kirjoitti 2014-05-05 17:34:
> At Mon,  5 May 2014 02:38:44 +0300,
> Anssi Hannula wrote:
>> 
>> Currently infoframe contents and channel mapping are only set when a
>> sink (monitor) is present.
>> 
>> However, this does not make much sense, since
>> 1) We can make a very reasonable guess on CA after 18e391862c ("ALSA:
>>    hda - hdmi: Fallback to ALSA allocation when selecting CA") or by
>>    relying on a previously valid ELD (or we may be using a
>>    user-specified channel map).
>> 2) Not setting infoframe contents and channel count simply means they
>>    are left at a possibly incorrect state - playback is still allowed
>>    to proceed (with missing or wrongly mapped channels).
>> 
>> Reasons for monitor_present being 0 include disconnected cable, video
>> driver issues, or codec not being spec-compliant. Note that in
>> actual disconnected-cable case it should not matter if these settings
>> are wrong as they will be re-set after jack detection, though.
>> 
>> Change the behavior to allow the infoframe contents and the channel
>> mapping to be set even without a sink/monitor, either based on the
>> previous valid ELD contents, if any, or based on sensible defaults
>> (standard channel layouts or provided custom map, sink type HDMI).
>> 
>> Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
>> Tested-by: Stephan Raue <stephan@openelec.tv>
>> ---
>> 
>> This simply removes the monitor_present check, which is probably more
>> trouble than it is worth, as it may trip obscure setups even though we
>> can tolerate !monitor_present and !eld in 99%+ of all cases by using
>> defaults, nowadays post-18e391862c anyway.
>> Downside is that missing monitor_present may not be noticed by the 
>> user
>> as ~everything continues to work.
> 
> Is this considered as a "fix" for 3.15 kernel?  If so, I find it a bit
> distracting to queue the previous patch for stable while we're
> removing the whole things here later.
> 
> If this is intended for testing for 3.16 kernel, I'm fine to take as
> is.

Well, I intended it for 3.16, since I don't have anything concrete that 
it
would fix that the previous AFAICS safer patch did not (for now, at 
least...).

Sorry for not making it explicit.

> thanks,
> 
> Takashi
> 
>> 
>> 
>>  sound/pci/hda/patch_hdmi.c | 4 ----
>>  1 file changed, 4 deletions(-)
>> 
>> diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
>> index 1edbb9c47c2d..016f785cdf45 100644
>> --- a/sound/pci/hda/patch_hdmi.c
>> +++ b/sound/pci/hda/patch_hdmi.c
>> @@ -1127,10 +1127,6 @@ static void hdmi_setup_audio_infoframe(struct 
>> hda_codec *codec,
>>  					    AMP_OUT_UNMUTE);
>> 
>>  	eld = &per_pin->sink_eld;
>> -	if (!eld->monitor_present) {
>> -		hdmi_set_channel_count(codec, per_pin->cvt_nid, channels);
>> -		return;
>> -	}
>> 
>>  	if (!non_pcm && per_pin->chmap_set)
>>  		ca = hdmi_manual_channel_allocation(channels, per_pin->chmap);
>> --
>> 1.8.4.5
>> 

  reply	other threads:[~2014-05-05 14:48 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-04 23:38 [PATCH 1/2] ALSA: hda - hdmi: Set converter channel count even without sink Anssi Hannula
2014-05-04 23:38 ` [PATCH 2/2] ALSA: hda - hdmi: Set infoframe and channel mapping " Anssi Hannula
2014-05-05 14:34   ` Takashi Iwai
2014-05-05 14:48     ` Anssi Hannula [this message]
2014-05-05 14:55       ` Takashi Iwai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=00e2b3727b902f17c3c849012d58e1f5@mail.onse.fi \
    --to=anssi.hannula@iki.fi \
    --cc=alsa-devel@alsa-project.org \
    --cc=stephan@openelec.tv \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox