From: Takashi Iwai <tiwai@suse.de>
To: "Ughreja, Rakesh A" <rakesh.a.ughreja@intel.com>
Cc: "alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
"Koul, Vinod" <vinod.koul@intel.com>,
"pierre-louis.bossart@linux.intel.com"
<pierre-louis.bossart@linux.intel.com>,
"liam.r.girdwood@linux.intel.com"
<liam.r.girdwood@linux.intel.com>,
Patches Audio <patches.audio@intel.com>,
"broonie@kernel.org" <broonie@kernel.org>
Subject: Re: [RFC v3 06/11] ASoC: hdac_hda: add ASoC based HDA codec driver
Date: Tue, 19 Dec 2017 17:23:44 +0100 [thread overview]
Message-ID: <s5ha7yebsa7.wl-tiwai@suse.de> (raw)
In-Reply-To: <85DFEED57DC57344B2483EF7BF8CB60579ADD712@BGSMSX104.gar.corp.intel.com>
On Tue, 19 Dec 2017 17:14:38 +0100,
Ughreja, Rakesh A wrote:
>
>
>
> >-----Original Message-----
> >From: Takashi Iwai [mailto:tiwai@suse.de]
> >Sent: Tuesday, December 19, 2017 9:10 PM
> >To: Ughreja, Rakesh A <rakesh.a.ughreja@intel.com>
> >Cc: alsa-devel@alsa-project.org; Koul, Vinod <vinod.koul@intel.com>; pierre-
> >louis.bossart@linux.intel.com; liam.r.girdwood@linux.intel.com; Patches Audio
> ><patches.audio@intel.com>; broonie@kernel.org
> >Subject: Re: [alsa-devel] [RFC v3 06/11] ASoC: hdac_hda: add ASoC based HDA
> >codec driver
> >
>
>
> >>
> >> Are you referring to the calling overhead because of the wrapper involved ?
> >>
> >> The way I see is we have two options.
> >>
> >> 1. Single driver option. - There is going to be a common wrapper here,
> >> which needs to come into picture before it re-directs it to the appropriate
> >> driver. This is what is done in the following patch.
> >>
> >> 2. Separate driver for ASoC and Legacy. - This requires ID tables, Can we move
> >> id tables into separate header file ? then it can solve the problem involved in
> >> option 1. This also solves the problem related to wrappers as well as the
> >> problem related to accessing the ID tables via extern symbols, that you
> >> mentioned in the previous series.
> >
> >I believe (2) is no-go, it's a straight maintenance hell.
>
> Got it.
>
> >
> >> >May we start from a "big picture" to describe the whole driver
> >> >bindings?
> >> >
> >>
> >> This patch registers the hdac_driver callback at the root level agnostic to
> >> asoc and legacy and then selects the appropriate legacy or asoc callbacks,
> >> based on the bus which enumerated the driver.
> >>
> >> I cannot think of any other approach if we want to go with a single driver
> >> approach. You will have to give some more hints :-)
> >
> >Well, a big unclear question to me is why do we need to bind the stuff
> >so differently. Can't we simply provide the same binding to the
> >legacy codec from asoc driver? In the legacy-support mode, asoc
> >driver creates the legacy-compatible codec objects with the
> >legacy-compatible hda_bus.
> >
>
> Both the drivers i.e. ASoC and Legacy are registering the driver in
> exact same way by filling the hdac_driver fields. There is no difference
> in terms of HDA bus interactions. First series unifies even the data
> structures hdac_device, hdac_driver and hdac_bus.
Yes, that's a good part.
> Once the device is enumerated and the hdac_driver->probe
> is called the difference starts, primarily because ASoC vs ALSA
> codec driver differences.
Why so different? Is it hard to integrate them somehow?
What exactly do we need to do in addition to the existing legacy
HD-audio codec probe/remove/whatever?
> Here also if you notice, after taking care of
> the ASoC related components, ASoC codec driver calls exact same APIs of the
> legacy HDA codec driver which are called by the legacy controller driver.
>
> The hda_bus and hda_codec data structures are also used by the ASoC
> driver as it is to call legacy codec driver APIs.
>
> So I am not sure if we are doing binding in two different ways, or I
> misunderstood you completely ?
Well, I still am not sure why do we need two ways, completely
switching the whole binding. If it's a matter of some additional
calls on top of the legacy probe, we can add a new optional bus ops,
and call it in the probe function, too. At the time of probe
callback, the bus is already present.
thanks,
Takashi
next prev parent reply other threads:[~2017-12-19 16:23 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-15 11:30 [RFC v3 00/11] Enable HDA Codec support on Intel Platforms (Series2) Rakesh Ughreja
2017-12-15 11:30 ` [RFC v3 01/11] ASoC: Intel: Boards: Machine driver for Intel platforms Rakesh Ughreja
2017-12-15 11:30 ` [RFC v3 02/11] ASoC: Intel: Skylake: Add entry in sst_acpi_mach for HDA codecs Rakesh Ughreja
2017-12-15 11:30 ` [RFC v3 03/11] ASoC: Intel: Skylake: add HDA BE DAIs Rakesh Ughreja
2017-12-15 11:30 ` [RFC v3 04/11] ASoC: Intel: Skylake: use hda_bus instead of hdac_bus Rakesh Ughreja
2017-12-15 11:30 ` [RFC v3 05/11] ALSA: hda - make some of the functions externally visible Rakesh Ughreja
2017-12-15 11:34 ` Takashi Iwai
2017-12-15 11:30 ` [RFC v3 06/11] ASoC: hdac_hda: add ASoC based HDA codec driver Rakesh Ughreja
2017-12-15 11:38 ` Takashi Iwai
2017-12-15 12:20 ` Ughreja, Rakesh A
2017-12-15 15:47 ` Takashi Iwai
2017-12-16 7:48 ` Ughreja, Rakesh A
2017-12-16 9:13 ` Takashi Iwai
2017-12-18 4:06 ` Ughreja, Rakesh A
2017-12-19 9:19 ` Ughreja, Rakesh A
2017-12-19 11:27 ` Takashi Iwai
2017-12-19 15:26 ` Ughreja, Rakesh A
2017-12-19 15:40 ` Takashi Iwai
2017-12-19 16:14 ` Ughreja, Rakesh A
2017-12-19 16:23 ` Takashi Iwai [this message]
2017-12-19 17:12 ` Ughreja, Rakesh A
2017-12-19 19:17 ` Takashi Iwai
2017-12-20 10:26 ` Mark Brown
2017-12-20 10:52 ` Ughreja, Rakesh A
2017-12-21 15:36 ` Ughreja, Rakesh A
2017-12-21 15:48 ` Takashi Iwai
2017-12-21 16:39 ` Ughreja, Rakesh A
2017-12-21 16:44 ` Takashi Iwai
2017-12-22 12:51 ` Ughreja, Rakesh A
2017-12-15 11:30 ` [RFC v3 07/11] ALSA: hda: split API snd_hda_codec_new for using it from ASoC codec drivers Rakesh Ughreja
2017-12-15 11:30 ` [RFC v3 08/11] ASoC: hdac_hda: add DAI, widgets and related ops Rakesh Ughreja
2017-12-15 11:30 ` [RFC v3 09/11] ASoC: hdac_hda: add runtime PM support Rakesh Ughreja
2017-12-15 11:30 ` [RFC v3 10/11] ASoC: codec: Support for ASoC Realtek HDA codec Driver Rakesh Ughreja
2017-12-15 11:30 ` [RFC v3 11/11] ASoC: Intel: Boards: add support for HDA codecs Rakesh Ughreja
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=s5ha7yebsa7.wl-tiwai@suse.de \
--to=tiwai@suse.de \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=liam.r.girdwood@linux.intel.com \
--cc=patches.audio@intel.com \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=rakesh.a.ughreja@intel.com \
--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;
as well as URLs for NNTP newsgroup(s).