public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Imre Deak <imre.deak@intel.com>
To: "Lin, Mengdong" <mengdong.lin@intel.com>
Cc: "Yang, Libin" <libin.yang@intel.com>,
	"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
	"Nikkanen, Kimmo" <kimmo.nikkanen@intel.com>,
	"Takashi Iwai (tiwai@suse.de)" <tiwai@suse.de>,
	"intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>,
	"Babu, Ramesh" <ramesh.babu@intel.com>,
	"Koul, Vinod" <vinod.koul@intel.com>,
	"Girdwood, Liam R" <liam.r.girdwood@intel.com>,
	"Vetter, Daniel" <daniel.vetter@intel.com>
Subject: Re: [RFC] set up an sync channel between audio and display driver (i.e. ALSA and DRM)
Date: Tue, 20 May 2014 17:29:07 +0300	[thread overview]
Message-ID: <1400596147.32158.36.camel@intelbox> (raw)
In-Reply-To: <F46914AEC2663F4A9BB62374E5EEF8F82B447059@SHSMSX101.ccr.corp.intel.com>


[-- Attachment #1.1: Type: text/plain, Size: 2196 bytes --]

On Tue, 2014-05-20 at 05:52 +0300, Lin, Mengdong wrote:
> This RFC is based on previous discussion to set up a generic
> communication channel between display and audio driver and
> an internal design of Intel MCG/VPG HDMI audio driver. It's still an
> initial draft and your advice would be appreciated
> to improve the design.
>  
> The basic idea is to create a new avsink module and let both drm and
> alsa depend on it.
> This new module provides a framework and APIs for synchronization
> between the display and audio driver. 
>  
> 1. Display/Audio Client
>  
> The avsink core provides APIs to create, register and lookup a
> display/audio client.
> A specific display driver (eg. i915) or audio driver (eg. HD-Audio
> driver) can create a client, add some resources 
> objects (shared power wells, display outputs, and audio inputs,
> register ops) to the client, and then register this 
> client to avisink core. The peer driver can look up a registered
> client by a name or type, or both. If a client gives
> a valid peer client name on registration, avsink core will bind the
> two clients as peer for each other. And we 
> expect a display client and an audio client to be peers for each other
> in a system.

One problem we have at the moment is the order of calling the system
suspend/resume handlers of the display driver wrt. that of the audio
driver. Since the power well control is part of the display HW block, we
need to run the display driver's resume handler first, initialize the
HW, and only then let the audio driver's resume handler run. For similar
reasons we have to call the audio suspend handler first and only then
the display driver resume handler. Currently we solve this using the
display driver's late/early suspend/resume hooks, but we'd need a more
robust solution.

This seems to be a similar issue to the load time ordering problem that
you describe later. Having a real device for avsync that would be a
child of the display device would solve the ordering issue in both
cases. I admit I haven't looked into it if this is feasible, but I would
like to see some solution to this as part of the plan.

--Imre


[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  parent reply	other threads:[~2014-05-20 14:29 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-20  2:52 [RFC] set up an sync channel between audio and display driver (i.e. ALSA and DRM) Lin, Mengdong
2014-05-20  8:10 ` Takashi Iwai
2014-05-20 10:37   ` Vinod Koul
2014-05-22  2:46   ` [alsa-devel] " Raymond Yau
2014-05-20 10:02 ` Daniel Vetter
2014-05-20 10:04   ` Daniel Vetter
2014-05-20 12:43     ` Thierry Reding
2014-05-20 13:40       ` [Intel-gfx] " Jaroslav Kysela
2014-05-20 14:29 ` Imre Deak [this message]
2014-05-20 14:35   ` Vinod Koul
2014-05-20 15:02     ` Imre Deak
2014-05-21 15:56     ` Babu, Ramesh
2014-05-21 16:05       ` Daniel Vetter
2014-05-21 17:07         ` Imre Deak
2014-05-22 14:29           ` Lin, Mengdong
2014-05-20 14:45   ` Daniel Vetter
2014-05-20 14:57     ` [alsa-devel] " Thierry Reding
2014-05-20 15:07       ` Daniel Vetter
2014-05-20 15:15         ` Thierry Reding
2014-05-20 15:22           ` Daniel Vetter
2014-05-22 14:59         ` Lin, Mengdong
2014-05-22 19:58           ` Daniel Vetter
2014-06-03  1:42             ` Lin, Mengdong
2014-06-03  7:44               ` Daniel Vetter

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=1400596147.32158.36.camel@intelbox \
    --to=imre.deak@intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=daniel.vetter@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=kimmo.nikkanen@intel.com \
    --cc=liam.r.girdwood@intel.com \
    --cc=libin.yang@intel.com \
    --cc=mengdong.lin@intel.com \
    --cc=ramesh.babu@intel.com \
    --cc=tiwai@suse.de \
    --cc=vinod.koul@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox