Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Cc: alsa-devel@alsa-project.org
Subject: Re: [PATCH 0/3] ALSA: pcm: add tracepoints for PCM params refinement
Date: Wed, 07 Jun 2017 07:42:42 +0200	[thread overview]
Message-ID: <s5hfufc5p65.wl-tiwai@suse.de> (raw)
In-Reply-To: <20170606234645.13775-1-o-takashi@sakamocchi.jp>

On Wed, 07 Jun 2017 01:46:42 +0200,
Takashi Sakamoto wrote:
> 
> Hi,
> 
> This patchset is a part of my previous RFC and go for upstream.
> [alsa-devel] [PATCH RFC 00/21] ALSA: pcm: add tracepoints for PCM params operation
> http://mailman.alsa-project.org/pipermail/alsa-devel/2017-May/120548.html
> 
> In ALSA PCM interface, applications can get hardware capability by ioctl(2)
> with SNDRV_PCM_IOCTL_HW_REFINE/SNDRV_PCM_IOCT_HW_PARAMS in a shape of
> 'struct snd_pcm_hw_params'. In kernel side, relevant processing is somewhat
> complicated and developers sometimes have hard time to debug drivers for PCM
> constraints and rules. This patchset adds tracepoints to assist their work.
> 
> Changes:
>  - change print format
>  - rename events
>  - refactoring in the RFC will be done in my later work.
> 
> 
> This patchset adds two events; 'hw_interval_param' and 'hw_mask_param' in
> 'snd_pcm' subsystem. When these events are probed, tracer outputs below
> lines:
> 
> hw_interval_param: 0,0,0,0 000/023 BUFFER_SIZE 0 0 [0 4294967295] 0 1 [0 4294967295]
> hw_interval_param: 0,0,0,0 000/023 BUFFER_BYTES 0 0 [0 4294967295] 0 1 [128 65536]
> hw_interval_param: 0,0,0,0 000/023 TICK_TIME 0 0 [0 4294967295] 0 0 [0 4294967295]
> hw_mask_param:     0,0,0,0 001/023 FORMAT 00000000000000000000001000000044 00000000000000000000001000000044
> hw_interval_param: 0,0,0,0 002/023 SAMPLE_BITS 0 1 [0 4294967295] 0 1 [16 32]
> hw_interval_param: 0,0,0,0 003/023 SAMPLE_BITS 0 1 [16 32] 0 1 [16 32]
> 
> The first field represents PCM character device and subdevice for probed
> runtime of PCM substream. In the above case, '/dev/snd/pcmC0D0p' and
> first subdevice are used for runtime of PCM substream.

How about using snd_pcm_debug_name()?  It'll be like "pcmC0D1c:2" and
slightly more understandable than "0,1,1,2".


> The second field represents id of each rule applied to the runtime, and
> the total number of rules added to the runtime. Basically, when the rule
> is applied to the runtime, these events are probed, but lines with id 0
> are exceptions. They're application of constraints to the runtime.
> 
> The third field is name of parameter in the runtime. The rest fields
> depends on type of the parameter (mask/interval).
> 
> 
> In ALSA PCM core, runtimes get 22 (or 21) rules as a default. In a below
> sample, the 21st rule is added by driver (snd-soc-imx-ssi.ko). The rest is
> added by snd-pcm.ko. In detail, please see 'snd_pcm_hw_constraints_init()'
> and 'snd_pcm_hw_constraints_complete()' in 'sound/core/pcm_native.c'.
> 
> hw_interval_param: 0,0,0,0 019/023 PERIOD_TIME 0 0 [0 4294967295] 0 0 (166 4095875]
> hw_interval_param: 0,0,0,0 020/023 BUFFER_TIME 0 0 [0 4294967295] 0 0 (333 4096000]
> hw_interval_param: 0,0,0,0 021/023 PERIOD_SIZE 0 1 [16 32767] 0 1 [16 32766]
> hw_interval_param: 0,0,0,0 022/023 BUFFER_BYTES 0 1 [128 65536] 0 1 [128 65536]
> hw_interval_param: 0,0,0,0 023/023 RATE 0 0 [8000 96000] 0 0 [8000 96000]
> hw_mask_param:     0,0,0,0 001/023 FORMAT 00000000000000000000001000000044 00000000000000000000001000000044

Could you add these explanations in Documentation?  The cover letter
is gone at merging.


thanks,

Takashi

  parent reply	other threads:[~2017-06-07  5:42 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-06 23:46 [PATCH 0/3] ALSA: pcm: add tracepoints for PCM params refinement Takashi Sakamoto
2017-06-06 23:46 ` [PATCH 1/3] ALSA: pcm: tracepoints for refining PCM parameters Takashi Sakamoto
2017-06-06 23:46 ` [PATCH 2/3] ALSA: pcm: enable parameter tracepoints only when CONFIG_SND_DEBUG is enabled Takashi Sakamoto
2017-06-06 23:46 ` [PATCH 3/3] ALSA: pcm: obsolete RULES_DEBUG local macro Takashi Sakamoto
2017-06-07  5:42 ` Takashi Iwai [this message]
2017-06-07  7:50   ` [PATCH 0/3] ALSA: pcm: add tracepoints for PCM params refinement Takashi Sakamoto
2017-06-07  8:09     ` Takashi Iwai
2017-06-07  8:38       ` Takashi Sakamoto
2017-06-07  8:50         ` 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=s5hfufc5p65.wl-tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=o-takashi@sakamocchi.jp \
    /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