From: "Subhransu S. Prusty" <subhransu.s.prusty@intel.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: patches.audio@intel.com, alsa-devel@alsa-project.org,
broonie@kernel.org, lgirdwood@gmail.com,
Ramesh Babu <ramesh.babu@intel.com>
Subject: Re: [PATCH 3/7] ALSA: pcm: avoid mmap of control data if .update_appl_ptr is implemented
Date: Mon, 3 Oct 2016 10:13:22 +0530 [thread overview]
Message-ID: <20161003044322.GC23816@subhransu-desktop> (raw)
In-Reply-To: <s5h7f9t33qa.wl-tiwai@suse.de>
On Fri, Sep 30, 2016 at 03:40:45PM +0200, Takashi Iwai wrote:
> On Fri, 30 Sep 2016 14:43:26 +0200,
> Subhransu S. Prusty wrote:
> >
> > From: Ramesh Babu <ramesh.babu@intel.com>
> >
> > In case of mmap, by default alsa-lib mmaps both control & status data.
> >
> > If driver subscribes for .appl_ptr_update, driver needs to get
> > notification whenever appl ptr changes. So with control & status mmaped,
> > driver won't get appl ptr notifications.
> >
> > In alsa-lib IOCTL_SYNC_PTR can be forced using sync_ptr_ioctl flag in
> > conf But this makes driver behavior dependent on a flag in the conf.
> >
> > This patch conditionally checks for .appl_ptr_update and returns error
> > when user land asks for mmaping control & status data, thus forcing user
> > to issue IOCTL_SYNC_PTR.
> >
> > One drawback with this approach is, if .appl_ptr_update is subscribed by
> > driver, the user space looses flexibility to mmap the control & status
> > data.
>
> Yes, and it can be seen as an obvious regression, so I'm not sure
> whether this condition is the best choice.
>
> OTOH, I now understand why you need it in this way -- alsa-lib does
> mmap ctrl/status pages at snd_pcm_open() and sync_ptr is used only as
> a fallback. So, one solution would be to fix alsa-lib side. Or, if
> we fix the kernel in this way, it would work with old alsa-lib, but it
> has another penalty. Hmm...
I will check if it can be fixed in alsa-lib side.
Regards,
Subhransu
>
>
--
next prev parent reply other threads:[~2016-10-03 4:49 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-30 12:43 [PATCH 0/7] ALSA: Add rewinds disabled, delays, max_inflight_bytes Subhransu S. Prusty
2016-09-30 12:43 ` [PATCH 1/7] ALSA: core: let low-level driver or userspace disable rewinds Subhransu S. Prusty
2016-09-30 13:22 ` Takashi Iwai
2016-10-03 4:40 ` Subhransu S. Prusty
2016-10-03 14:39 ` Pierre-Louis Bossart
2016-10-21 15:57 ` Takashi Iwai
2016-09-30 12:43 ` [PATCH 2/7] ALSA: core: add .update_appl_ptr callback for pcm ops Subhransu S. Prusty
2016-09-30 13:24 ` Takashi Iwai
2016-09-30 17:20 ` Vinod Koul
2016-09-30 18:38 ` Takashi Iwai
2016-10-03 4:36 ` Vinod Koul
2016-10-03 14:49 ` Pierre-Louis Bossart
2016-09-30 12:43 ` [PATCH 3/7] ALSA: pcm: avoid mmap of control data if .update_appl_ptr is implemented Subhransu S. Prusty
2016-09-30 13:40 ` Takashi Iwai
2016-10-03 4:43 ` Subhransu S. Prusty [this message]
2016-09-30 12:43 ` [PATCH 4/7] ALSA: core: add report of max inflight bytes Subhransu S. Prusty
2016-09-30 13:44 ` Takashi Iwai
2016-09-30 12:43 ` [PATCH 5/7] ALSA: hda: add default value for max_inflight_bytes Subhransu S. Prusty
2016-10-03 8:48 ` Hardik Shah
2016-10-03 14:44 ` Pierre-Louis Bossart
2016-09-30 12:43 ` [PATCH 6/7] ALSA: usb: no_period_wake and max_inflight_bytes report Subhransu S. Prusty
2016-09-30 12:43 ` [PATCH 7/7] ALSA: usb: take startup delay into account Subhransu S. Prusty
2016-09-30 13:44 ` Takashi Iwai
2016-10-03 15:04 ` Pierre-Louis Bossart
2016-10-21 16:00 ` Takashi Iwai
2016-10-03 6:46 ` Takashi Sakamoto
2016-10-03 15:08 ` Pierre-Louis Bossart
2016-10-03 17:31 ` Takashi Sakamoto
2016-09-30 13:13 ` [PATCH 0/7] ALSA: Add rewinds disabled, delays, max_inflight_bytes Takashi Iwai
2016-10-03 4:28 ` Subhransu S. Prusty
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=20161003044322.GC23816@subhransu-desktop \
--to=subhransu.s.prusty@intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=patches.audio@intel.com \
--cc=ramesh.babu@intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.