From: Shuah Khan <shuahkh@osg.samsung.com>
To: mchehab@osg.samsung.com, hans.verkuil@cisco.com,
laurent.pinchart@ideasonboard.com, sakari.ailus@linux.intel.com,
tiwai@suse.de, pawel@osciak.com, m.szyprowski@samsung.com,
kyungmin.park@samsung.com, perex@perex.cz,
stefanr@s5r6.in-berlin.de, crope@iki.fi,
dan.carpenter@oracle.com, tskd08@gmail.com,
ruchandani.tina@gmail.com, arnd@arndb.de, chehabrafael@gmail.com,
prabhakar.csengg@gmail.com, Julia.Lawall@lip6.fr,
elfring@users.sourceforge.net, ricardo.ribalda@gmail.com,
chris.j.arges@canonical.com,
pierre-louis.bossart@linux.intel.com, gtmkramer@xs4all.nl,
clemens@ladisch.de, misterpib@gmail.com, takamichiho@gmail.com,
pmatilai@laiskiainen.org, damien@zamaudio.com, daniel@zonque.org,
vladcatoi@gmail.com, normalperson@yhbt.net, joe@oampo.co.uk,
bugzilla.frnkcg@spamgourmet.com, jussi@sonarnerd.net
Cc: Shuah Khan <shuahkh@osg.samsung.com>,
linux-media@vger.kernel.org, alsa-devel@alsa-project.org
Subject: [PATCH v3 00/21] Update ALSA, and au0828 drivers to use Managed Media Controller API
Date: Tue, 22 Sep 2015 11:19:19 -0600 [thread overview]
Message-ID: <cover.1442937669.git.shuahkh@osg.samsung.com> (raw)
This patch series updates ALSA driver, and au0828 core driver to
use Managed Media controller API to share tuner. Please note that
Managed Media Controller API and DVB and V4L2 drivers updates to
use Media Controller API have been added in a prior patch series.
Media Controller API is enhanced with two new interfaces to
register and unregister entity_notify hooks to allow drivers
to take appropriate actions when as new entities get added to
the shared media device.
Tested exclusion between digital, analog, and audio to ensure
when tuner has an active link to DVB FE, analog, and audio will
detect and honor the tuner busy conditions and vice versa.
Changes since v2:
http://www.spinics.net/lists/linux-media/msg91926.html
1. An important change in this patch series is made to ALSA
to check for resources and hold in snd_usb_hw_params(),
and release from snd_usb_hw_free(). This change fixed the
lockdep warnings seen when resources were held in
TRIGGER_START and released from TRIGGER_STOP which could
run in IRQ context. I acknowledge Clemens Ladisch for
suggesting the correct places to hold/free resources to
avoid IRQ path complications.
2. With the above change, the patch series is simpler without
the need to change the graph_mutex into a spinlock.
3. I split the patches up differently for easy reviews - no code
bloat from v2.
4. A second important change is now the Bridge driver (au0828)
owns and drives the graph creation as well as enabling and
disabling tuner. It also keeps state information to avoid
graph walks in enable_source and disable_source handler.
I acknowledge Hans Verkuil for his suggestions and ideas
for this change.
History:
This patch series has been updated to address comments from
3 previous versions of this series. Links to v3 version
for reference are:
https://www.mail-archive.com/linux-media%40vger.kernel.org/msg89491.html
https://www.mail-archive.com/linux-media@vger.kernel.org/msg89492.html
https://www.mail-archive.com/linux-media%40vger.kernel.org/msg89493.html
Shuah Khan (21):
Revert "[media] media: media controller entity framework enhancements
for ALSA"
media: Media Controller register/unregister entity_notify API
media: Add ALSA Media Controller devnodes
media: Media Controller enable/disable source handler API
media: Media Controller fix to not let stream_count go negative
media: Media Controller export non locking __media_entity_setup_link()
media: Media Controller non-locking
__media_entity_pipeline_start/stop()
media: v4l-core add v4l_enable/disable_media_tuner() helper functions
media: Move au8522_media_pads enum to au8522.h from au8522_priv.h
media: au8522 change to create MC pad for ALSA Audio Out
media: au0828 Use au8522_media_pads enum for pad defines
media: au0828 fix au0828_create_media_graph() entity checks
media: Change v4l-core to check for tuner availability
media: dvb-frontend invoke enable/disable_source handlers
media: au0828 video remove au0828_enable_analog_tuner()
media: au0828 video change to use v4l_enable_media_tuner()
media: au0828 change to use Managed Media Controller API
media: au0828 change to register/unregister entity_notify hook
media: au0828 implement enable_source and disable_source handlers
media: media: dvb-frontend fix enable_source error legs
sound/usb: Update ALSA driver to use Managed Media Controller API
drivers/media/dvb-core/dvb_frontend.c | 142 ++-----------
drivers/media/dvb-core/dvb_frontend.h | 3 +
drivers/media/dvb-frontends/au8522.h | 8 +
drivers/media/dvb-frontends/au8522_decoder.c | 1 +
drivers/media/dvb-frontends/au8522_priv.h | 8 -
drivers/media/media-device.c | 46 +++-
drivers/media/media-entity.c | 64 ++++--
drivers/media/usb/au0828/au0828-core.c | 305 ++++++++++++++++++++++-----
drivers/media/usb/au0828/au0828-video.c | 76 ++-----
drivers/media/usb/au0828/au0828.h | 8 +
drivers/media/v4l2-core/v4l2-dev.c | 27 +++
drivers/media/v4l2-core/v4l2-fh.c | 1 +
drivers/media/v4l2-core/v4l2-ioctl.c | 29 +++
drivers/media/v4l2-core/videobuf2-core.c | 3 +
include/media/media-device.h | 41 ++++
include/media/media-entity.h | 7 +-
include/media/v4l2-dev.h | 4 +
include/uapi/linux/media.h | 5 +
sound/usb/Makefile | 15 +-
sound/usb/card.c | 5 +
sound/usb/card.h | 1 +
sound/usb/media.c | 178 ++++++++++++++++
sound/usb/media.h | 51 +++++
sound/usb/pcm.c | 29 ++-
sound/usb/quirks-table.h | 1 +
sound/usb/quirks.c | 9 +-
sound/usb/stream.c | 2 +
sound/usb/usbaudio.h | 1 +
28 files changed, 790 insertions(+), 280 deletions(-)
create mode 100644 sound/usb/media.c
create mode 100644 sound/usb/media.h
--
2.1.4
next reply other threads:[~2015-09-22 17:27 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-22 17:19 Shuah Khan [this message]
2015-09-22 17:19 ` [PATCH v3 01/21] Revert "[media] media: media controller entity framework enhancements for ALSA" Shuah Khan
2015-09-22 17:19 ` [PATCH v3 02/21] media: Media Controller register/unregister entity_notify API Shuah Khan
2015-09-22 17:19 ` [PATCH v3 03/21] media: Add ALSA Media Controller devnodes Shuah Khan
2015-09-22 17:19 ` [PATCH v3 04/21] media: Media Controller enable/disable source handler API Shuah Khan
2015-09-22 17:19 ` [PATCH v3 05/21] media: Media Controller fix to not let stream_count go negative Shuah Khan
2015-09-22 17:19 ` [PATCH v3 06/21] media: Media Controller export non locking __media_entity_setup_link() Shuah Khan
2015-09-22 17:19 ` [PATCH v3 07/21] media: Media Controller non-locking __media_entity_pipeline_start/stop() Shuah Khan
2015-09-22 17:19 ` [PATCH v3 08/21] media: v4l-core add v4l_enable/disable_media_tuner() helper functions Shuah Khan
2015-09-22 17:19 ` [PATCH v3 09/21] media: Move au8522_media_pads enum to au8522.h from au8522_priv.h Shuah Khan
2015-09-22 17:19 ` [PATCH v3 10/21] media: au8522 change to create MC pad for ALSA Audio Out Shuah Khan
2015-09-22 17:19 ` [PATCH v3 11/21] media: au0828 Use au8522_media_pads enum for pad defines Shuah Khan
2015-09-22 17:19 ` [PATCH v3 12/21] media: au0828 fix au0828_create_media_graph() entity checks Shuah Khan
2015-09-22 17:19 ` [PATCH v3 13/21] media: Change v4l-core to check for tuner availability Shuah Khan
2015-09-22 17:19 ` [PATCH v3 14/21] media: dvb-frontend invoke enable/disable_source handlers Shuah Khan
2015-09-22 17:19 ` [PATCH v3 15/21] media: au0828 video remove au0828_enable_analog_tuner() Shuah Khan
2015-09-22 17:19 ` [PATCH v3 16/21] media: au0828 video change to use v4l_enable_media_tuner() Shuah Khan
2015-09-22 17:19 ` [PATCH v3 17/21] media: au0828 change to use Managed Media Controller API Shuah Khan
2015-09-22 17:19 ` [PATCH v3 18/21] media: au0828 change to register/unregister entity_notify hook Shuah Khan
2015-09-22 17:19 ` [PATCH v3 19/21] media: au0828 implement enable_source and disable_source handlers Shuah Khan
2015-09-22 17:19 ` [PATCH v3 20/21] media: media: dvb-frontend fix enable_source error legs Shuah Khan
2015-09-22 17:19 ` [PATCH v3 21/21] sound/usb: Update ALSA driver to use Managed Media Controller API Shuah Khan
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=cover.1442937669.git.shuahkh@osg.samsung.com \
--to=shuahkh@osg.samsung.com \
--cc=Julia.Lawall@lip6.fr \
--cc=alsa-devel@alsa-project.org \
--cc=arnd@arndb.de \
--cc=bugzilla.frnkcg@spamgourmet.com \
--cc=chehabrafael@gmail.com \
--cc=chris.j.arges@canonical.com \
--cc=clemens@ladisch.de \
--cc=crope@iki.fi \
--cc=damien@zamaudio.com \
--cc=dan.carpenter@oracle.com \
--cc=daniel@zonque.org \
--cc=elfring@users.sourceforge.net \
--cc=gtmkramer@xs4all.nl \
--cc=hans.verkuil@cisco.com \
--cc=joe@oampo.co.uk \
--cc=jussi@sonarnerd.net \
--cc=kyungmin.park@samsung.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=mchehab@osg.samsung.com \
--cc=misterpib@gmail.com \
--cc=normalperson@yhbt.net \
--cc=pawel@osciak.com \
--cc=perex@perex.cz \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=pmatilai@laiskiainen.org \
--cc=prabhakar.csengg@gmail.com \
--cc=ricardo.ribalda@gmail.com \
--cc=ruchandani.tina@gmail.com \
--cc=sakari.ailus@linux.intel.com \
--cc=stefanr@s5r6.in-berlin.de \
--cc=takamichiho@gmail.com \
--cc=tiwai@suse.de \
--cc=tskd08@gmail.com \
--cc=vladcatoi@gmail.com \
/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.