On Tue, Jun 20, 2017 at 01:40:59PM +0100, Mark Brown wrote: > On Tue, Jun 20, 2017 at 11:19:55AM +0800, Shawn Guo wrote: > > On Mon, Jun 19, 2017 at 05:19:10PM +0100, Mark Brown wrote: > > > On Sat, Jun 17, 2017 at 10:09:34PM +0800, Shawn Guo wrote: > > > > > + /* Overall power-up */ > > > > + regmap_update_bits(regmap, AUD96P22_PD_0, PD_0_PDZ, PD_0_PDZ); > > > > Why is this not done with DAPM? > > > As this is a overall power bit, which is not for any specific component. > > I'm not sure which DAPM widget should be used for it, and how it should > > be arranged in the widget route. Any suggestion or example will be > > appreciated. > > Sounds like a fairly standard use for a supply widget. Yes, it can be a supply widget. But it's a bit that controls device overall power rather than any particular component power. Since every single operation of the device will need this power bit to be on, I think it makes sense to configure the bit in .startup/.shutdown hooks, rather than creating a widget for it and attaches the widget to a bunch of components. > > > > > + /* Reset ADC and DAC path */ > > > > + regmap_write(regmap, AUD96P22_RESET, 0x0); > > > > + regmap_write(regmap, AUD96P22_RESET, 0x3); > > > > What does this mean? > > > It's a de-assert/assert of ADC and DAC reset. I will add proper > > defines for the bits to make this clear. > > Why are we resetting these - won't this loose settings? It only resets some hardware internal states, and software settings won't be affected. > And if it's > just something to be done as part of starting the DAC and ADC why isn't > it done via DAPM? Yes, it sounds like a better approach. Will try to do that. Shawn _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel