[alsa-devel] [PATCH] ASoC: dapm: Add speaker driver widget.
Liam Girdwood
lrg at slimlogic.co.uk
Tue Dec 7 00:30:07 CET 2010
On Mon, 2010-12-06 at 23:09 +0000, Mark Brown wrote:
> On Mon, Dec 06, 2010 at 10:55:32PM +0000, Liam Girdwood wrote:
> > On Mon, 2010-12-06 at 22:43 +0000, Mark Brown wrote:
>
> > > Why not use the existing speaker widget? It's at pretty much the same
> > > point in the sequence and is intended for use with external GPIO
> > > controlled speaker drivers. It'd be good to discuss this in the
> > > changelog.
>
> > In this case the driver block is on the CODEC IC and after the PGA in
> > the audio output path, hence this version is better suited than the
> > external GPIO version.
>
> Sure, but it's fulfiling the same role in the system - it's just that
> these days a lot more CODECs are pulling speaker drivers directly into
> the CODEC die. Mostly these have worked well handled as PGAs so it's
> not been an issue.
>
In this case as we need to enable the PGA before the driver and disable
the driver before the PGA for pop reduction. Hence the current ordering
needs an addition/refactoring to deal with the newer generation of
CODECs here.
> I'd certainly expect to see it handled the same way from a DAPM
> sequencing point of view as it's fulfilling the same role in the system
> (so in the same slot rather than separately as the patch was doing). Do
> we just need to refactor the existing external widgets to be able to
> exist in either register or GPIO based versions?
>
> > > > +#define SND_SOC_DAPM_DRV(wname, wreg, wshift, winvert,\
> > > > + wcontrols, wncontrols) \
> > > > +{ .id = snd_soc_dapm_drv, .name = wname, .reg = wreg, .shift = wshift, \
> > > > + .invert = winvert, .kcontrols = wcontrols, .num_kcontrols = wncontrols}
>
> > > The _DRV name seems rather opaque - I'd suggest _SPK as a name but
> > > obviously that's in use. If we do want this I guess _SPK_DRV or
> > > sommething.
>
> > I was thinking this too, but then I thought we may want to drive other
> > loads than just speakers here. e.g. haptic, vibra
>
> My main thing here is _DRV - it's not just that it's undescriptive, it's
> also that calling something a driver in a context like this is confusing.
> _OUT_DRV is another idea?
Ok, lets go for OUT_DRV.
Liam
--
Freelance Developer, SlimLogic Ltd
ASoC and Voltage Regulator Maintainer.
http://www.slimlogic.co.uk
More information about the Alsa-devel
mailing list