alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Anssi Hannula <anssi.hannula@iki.fi>
To: Takashi Iwai <tiwai@suse.de>
Cc: "Olivier Langlois" <olivier@trillion01.com>,
	alsa-devel@alsa-project.org,
	"Peter Frühberger" <fritsch@xbmc.org>
Subject: Re: [PATCH 5/5] ALSA: hda - hdmi: Disable ramp-up/down for non-PCM on AMD codecs
Date: Thu, 24 Oct 2013 22:00:24 +0300	[thread overview]
Message-ID: <52696E48.80105@iki.fi> (raw)
In-Reply-To: <1382638238-25055-6-git-send-email-anssi.hannula@iki.fi>

24.10.2013 21:10, Anssi Hannula kirjoitti:
> Recent AMD HDMI codecs (revision ID 3 and later, 0x100300 as reported by
> procfs codec#0) have a configurable ramp-up/down functionality.
> 
> The documentation ( http://www.x.org/docs/AMD/AMD_HDA_verbs_v2.pdf )
> specifies that 180 ("180/256 =~ 0.7") is recommended for PCM and 0 for
> non-PCM.
> 
> Apply the recommended values according to provided S/PDIF AES0 settings
> since ramp-up/down does not make sense for non-PCM.
> 
> v2: adapted to hdmi_ops infrastructure
> 
> Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
> Tested-by: Olivier Langlois <olivier@trillion01.com> # v1

Hmm, actually, re-reading mails reveals that Olivier didn't find the
expected difference with this setting, except for "maybe slightly slower
startup with AES0=6" (i.e. value 0, which is unexpected).

So maybe
a) it makes too unnoticiable a difference, or
b) only affects certain hardware (card and/or sink), or
c) ramp-up/down is only triggered with the MUTE bit of
   ATI_VERB_SET_MULTICHANNEL_xx which is also rev3+ specific,
   but is not presently used by the driver,
or something else.

So there's a significant chance setting ramp rate is useless for us ATM,
but probably does not do actual harm either.

Takashi, I'll leave it to you whether to apply this one (if you apply,
feel free to add to patch description e.g. "No actual playback
difference has been found in testing, so possibly something more is
needed for ramp-up/down.").

I guess I might investigate the ramp-up/down/MUTE-bit stuff more at some
point, but probably not in the next few months...


> ---
>  sound/pci/hda/patch_hdmi.c | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
> 
> diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
> index 2c45591..74bd2e63ce 100644
> --- a/sound/pci/hda/patch_hdmi.c
> +++ b/sound/pci/hda/patch_hdmi.c
> @@ -2819,6 +2819,10 @@ static int patch_nvhdmi_8ch_7x(struct hda_codec *codec)
>  #define ATI_VERB_GET_MULTICHANNEL_7	0xf88
>  #define ATI_VERB_GET_MULTICHANNEL_MODE	0xf89
>  
> +/* AMD specific HDA cvt verbs */
> +#define ATI_VERB_SET_RAMP_RATE		0x770
> +#define ATI_VERB_GET_RAMP_RATE		0xf70
> +
>  #define ATI_OUT_ENABLE 0x1
>  
>  #define ATI_MULTICHANNEL_MODE_PAIRED	0
> @@ -3050,6 +3054,23 @@ static int atihdmi_pin_hbr_setup(struct hda_codec *codec, hda_nid_t pin_nid,
>  	return 0;
>  }
>  
> +static int atihdmi_setup_stream(struct hda_codec *codec, hda_nid_t cvt_nid,
> +				hda_nid_t pin_nid, u32 stream_tag, int format)
> +{
> +
> +	if (is_amdhdmi_rev3_or_later(codec)) {
> +		int ramp_rate = 180; /* default as per AMD spec */
> +		/* disable ramp-up/down for non-pcm as per AMD spec */
> +		if (format & AC_FMT_TYPE_NON_PCM)
> +			ramp_rate = 0;
> +
> +		snd_hda_codec_write(codec, cvt_nid, 0, ATI_VERB_SET_RAMP_RATE, ramp_rate);
> +	}
> +
> +	return hdmi_setup_stream(codec, cvt_nid, pin_nid, stream_tag, format);
> +}
> +
> +
>  static int atihdmi_init(struct hda_codec *codec)
>  {
>  	struct hdmi_spec *spec = codec->spec;
> @@ -3096,6 +3117,7 @@ static int patch_atihdmi(struct hda_codec *codec)
>  	spec->ops.pin_set_slot_channel = atihdmi_pin_set_slot_channel;
>  	spec->ops.pin_setup_infoframe = atihdmi_pin_setup_infoframe;
>  	spec->ops.pin_hbr_setup = atihdmi_pin_hbr_setup;
> +	spec->ops.setup_stream = atihdmi_setup_stream;
>  
>  	if (!has_amd_full_remap_support(codec)) {
>  		/* override to ATI/AMD-specific versions with pairwise mapping */
> 
-- 
Anssi Hannula

  reply	other threads:[~2013-10-24 19:00 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-24 18:10 [PATCH v3 0/5] ALSA: hda - hdmi: ATI/AMD multi-channel and HBR support Anssi Hannula
2013-10-24 18:10 ` [PATCH 1/5] ALSA: hda - hdmi: Allow HDA patches to customize more operations Anssi Hannula
2013-10-24 18:10 ` [PATCH 2/5] ALSA: hda - hdmi: Add ATI/AMD multi-channel audio support Anssi Hannula
2013-10-24 18:10 ` [PATCH 3/5] ALSA: hda - hdmi: Add ELD emulation for ATI/AMD codecs Anssi Hannula
2013-10-24 18:10 ` [PATCH 4/5] ALSA: hda - hdmi: Add HBR bitstreaming support for ATI/AMD HDMI codecs Anssi Hannula
2013-10-24 18:10 ` [PATCH 5/5] ALSA: hda - hdmi: Disable ramp-up/down for non-PCM on AMD codecs Anssi Hannula
2013-10-24 19:00   ` Anssi Hannula [this message]
2013-10-24 18:26 ` [PATCH v3 0/5] ALSA: hda - hdmi: ATI/AMD multi-channel and HBR support Anssi Hannula
2013-11-08  5:08   ` Olivier Langlois
2013-11-08 10:27     ` Anssi Hannula
2013-11-08 18:17       ` Olivier Langlois
2013-11-08 21:28         ` Olivier Langlois
2013-11-08 22:03           ` Anssi Hannula
2013-11-10  5:42             ` Olivier Langlois
2013-11-10  6:01               ` Anssi Hannula
2013-11-10  7:25                 ` speaker-test chmap bugs (was: [PATCH v3 0/5] ALSA: hda - hdmi: ATI/AMD multi-channel and HBR support) Anssi Hannula
2013-11-10 18:29                   ` [PATCH 1/3] speaker-test: Fix chmapped channel selection without specified chmap Anssi Hannula
2013-11-10 18:29                     ` [PATCH 2/3] speaker-test: Always show chmap channel names if available Anssi Hannula
2013-11-10 18:29                     ` [PATCH 3/3] speaker-test: Show out-of-chmap channels as Unknown Anssi Hannula
2013-11-11 15:56                     ` [PATCH 1/3] speaker-test: Fix chmapped channel selection without specified chmap Takashi Iwai
2013-11-11 20:23                       ` Anssi Hannula
2013-11-11 22:04                         ` [PATCH 1/3 v2] " Anssi Hannula
2013-11-12  8:11                           ` Takashi Iwai
2013-11-12 12:34                             ` Anssi Hannula
2013-11-12 13:08                               ` Takashi Iwai
2013-11-12  6:35                 ` [PATCH v3 0/5] ALSA: hda - hdmi: ATI/AMD multi-channel and HBR support Olivier Langlois
2013-11-14  0:04                   ` Anssi Hannula
2013-11-09  8:35         ` Takashi Iwai
2013-10-24 23:04 ` Takashi Iwai
2013-10-25 16:54   ` Andre Heider
2013-10-25 17:13     ` Takashi Iwai
2013-10-25 17:23     ` Anssi Hannula
2013-10-25 18:25       ` Andre Heider
2013-10-28 17:52       ` Andre Heider
2013-10-28 18:12         ` Anssi Hannula
2013-10-28 18:17           ` Andre Heider
2013-10-28 18:25             ` Anssi Hannula
2013-10-28 18:35               ` Andre Heider
2013-10-28 20:35                 ` Anssi Hannula
2013-10-28 22:00                   ` Andre Heider
2013-10-28 22:42                     ` Anssi Hannula
2013-10-28 23:15                       ` Andre Heider
2013-10-29 19:52                         ` LANGLOIS Olivier PIS -EXT
2013-10-29 20:30                           ` Anssi Hannula
2013-10-28 23:19                       ` [PATCH] drm/radeon/audio: fix missing multichannel PCM SAD in some cases Anssi Hannula
2013-10-31 23:38                         ` Rafał Miłecki
2013-10-31 23:46                           ` Rafał Miłecki
2013-10-31 23:52                           ` Anssi Hannula
2013-11-02  1:01                         ` Rafał Miłecki
2013-11-02  1:08                           ` Anssi Hannula
2013-11-02  1:15                             ` Rafał Miłecki
2013-11-02  1:03                         ` Rafał Miłecki
2013-11-02 15:32 ` [PATCH v3 0/5] ALSA: hda - hdmi: ATI/AMD multi-channel and HBR support Anssi Hannula
2013-11-23  1:05 ` James Le Cuirot
2013-11-23  1:29   ` Anssi Hannula
2013-11-23 15:40     ` James Le Cuirot
2013-11-23 15:45       ` Anssi Hannula
2013-11-24 14:57         ` James Le Cuirot
2013-11-25 13:20           ` Anssi Hannula
2013-11-25 14:32             ` James Le Cuirot
2013-11-25 14:56               ` Anssi Hannula
2014-05-13 12:01                 ` James Le Cuirot
2014-05-13 12:27                   ` Anssi Hannula
2014-05-13 16:16                     ` James Le Cuirot
2014-05-13 21:10                       ` James Le Cuirot
2014-05-13 21:50                         ` Anssi Hannula
2014-05-14 13:04                           ` Deucher, Alexander
2014-05-14 13:19                             ` James Le Cuirot
2013-11-25 15:07   ` Raymond Yau
2013-11-25 15:32     ` James Le Cuirot
2013-11-25 19:35     ` Anssi Hannula

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=52696E48.80105@iki.fi \
    --to=anssi.hannula@iki.fi \
    --cc=alsa-devel@alsa-project.org \
    --cc=fritsch@xbmc.org \
    --cc=olivier@trillion01.com \
    --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;
as well as URLs for NNTP newsgroup(s).