mbox series

[v6,00/16] Support external boost at CS35l41 ASoC driver

Message ID 20220409091315.1663410-1-tanureal@opensource.cirrus.com
Headers show
Series Support external boost at CS35l41 ASoC driver | expand

Message

Lucas tanure April 9, 2022, 9:12 a.m. UTC
Move the support for CS35L41 external boost to its shared library
for ASoC use.
This move resulted in cs35l41_hda_reg_sequence being removed,
and its steps were broken down into regmap writes or functions
from the library. And hardware configuration struct was unified
for its use in the shared lib.
While at it, some minor bugs were found and fixed it.

v6 changelog:
 - Rebased on top of Linux Next with community patches for CS35L41
 - Document patch acked by Charles Keepax

v5 changelog:
 - Fixed wrong indentation at Documentation patch
 - Use of consistent prefix

v4 changelog:
 - Separated GPIO 1 and 2 function enums

v3 changelog:
 - Remove patches already accepted
 - Improved logic in documentation patch
 - Documentation patch goes before its code
 - Fixed missing Signed-off-by
 - Fixed subject for HDA patches

v2 changelog:
 - Instead of removing the log, playback actions will log the last regmap access.
 - Documentation patch with the correct subject line and fixed bug reported by Rob Herring on the
 provided example.

Previous versions:
 v1: https://lkml.org/lkml/2022/3/3/759
 v2: https://lkml.org/lkml/2022/3/4/743
 v3: https://lkml.org/lkml/2022/3/8/975
 v4: https://lkml.org/lkml/2022/3/17/267
 v5: https://lkml.org/lkml/2022/3/22/696

David Rhodes (1):
  ASoC: cs35l41: Document CS35l41 External Boost

Lucas Tanure (15):
  ALSA: cs35l41: Unify hardware configuration
  ALSA: cs35l41: Check hw_config before using it
  ALSA: cs35l41: Move cs35l41_gpio_config to shared lib
  ALSA: hda: cs35l41: Fix I2S params comments
  ALSA: hda: cs35l41: Always configure the DAI
  ALSA: hda: cs35l41: Add Boost type flag
  ALSA: hda: cs35l41: Put the device into safe mode for external boost
  ALSA: hda: cs35l41: Mute the device before shutdown
  ALSA: cs35l41: Enable Internal Boost in shared lib
  ALSA: hda: cs35l41: Move boost config to initialization code
  ALSA: hda: cs35l41: Remove cs35l41_hda_reg_sequence struct
  ALSA: hda: cs35l41: Reorganize log for playback actions
  ALSA: hda: cs35l41: Handle all external boost setups the same way
  ALSA: hda: cs35l41: Move external boost handling to lib for ASoC use
  ASoC: cs35l41: Support external boost

 .../bindings/sound/cirrus,cs35l41.yaml        |  44 ++-
 include/sound/cs35l41.h                       |  59 +++-
 sound/pci/hda/cs35l41_hda.c                   | 295 ++++++------------
 sound/pci/hda/cs35l41_hda.h                   |  27 +-
 sound/soc/codecs/cs35l41-i2c.c                |   4 +-
 sound/soc/codecs/cs35l41-lib.c                | 190 ++++++++++-
 sound/soc/codecs/cs35l41-spi.c                |   4 +-
 sound/soc/codecs/cs35l41.c                    | 166 +++++-----
 sound/soc/codecs/cs35l41.h                    |   5 +-
 9 files changed, 443 insertions(+), 351 deletions(-)

Comments

Takashi Iwai April 12, 2022, 10:40 a.m. UTC | #1
On Sat, 09 Apr 2022 11:12:59 +0200,
Lucas Tanure wrote:
> 
> Move the support for CS35L41 external boost to its shared library
> for ASoC use.
> This move resulted in cs35l41_hda_reg_sequence being removed,
> and its steps were broken down into regmap writes or functions
> from the library. And hardware configuration struct was unified
> for its use in the shared lib.
> While at it, some minor bugs were found and fixed it.
> 
> v6 changelog:
>  - Rebased on top of Linux Next with community patches for CS35L41
>  - Document patch acked by Charles Keepax
> 
> v5 changelog:
>  - Fixed wrong indentation at Documentation patch
>  - Use of consistent prefix
> 
> v4 changelog:
>  - Separated GPIO 1 and 2 function enums
> 
> v3 changelog:
>  - Remove patches already accepted
>  - Improved logic in documentation patch
>  - Documentation patch goes before its code
>  - Fixed missing Signed-off-by
>  - Fixed subject for HDA patches
> 
> v2 changelog:
>  - Instead of removing the log, playback actions will log the last regmap access.
>  - Documentation patch with the correct subject line and fixed bug reported by Rob Herring on the
>  provided example.
> 
> Previous versions:
>  v1: https://lkml.org/lkml/2022/3/3/759
>  v2: https://lkml.org/lkml/2022/3/4/743
>  v3: https://lkml.org/lkml/2022/3/8/975
>  v4: https://lkml.org/lkml/2022/3/17/267
>  v5: https://lkml.org/lkml/2022/3/22/696
> 
> David Rhodes (1):
>   ASoC: cs35l41: Document CS35l41 External Boost
> 
> Lucas Tanure (15):
>   ALSA: cs35l41: Unify hardware configuration
>   ALSA: cs35l41: Check hw_config before using it
>   ALSA: cs35l41: Move cs35l41_gpio_config to shared lib
>   ALSA: hda: cs35l41: Fix I2S params comments
>   ALSA: hda: cs35l41: Always configure the DAI
>   ALSA: hda: cs35l41: Add Boost type flag
>   ALSA: hda: cs35l41: Put the device into safe mode for external boost
>   ALSA: hda: cs35l41: Mute the device before shutdown
>   ALSA: cs35l41: Enable Internal Boost in shared lib
>   ALSA: hda: cs35l41: Move boost config to initialization code
>   ALSA: hda: cs35l41: Remove cs35l41_hda_reg_sequence struct
>   ALSA: hda: cs35l41: Reorganize log for playback actions
>   ALSA: hda: cs35l41: Handle all external boost setups the same way
>   ALSA: hda: cs35l41: Move external boost handling to lib for ASoC use
>   ASoC: cs35l41: Support external boost

If it's OK for Mark, I'm going to merge those to my tree for 5.18.


thanks,

Takashi
Takashi Iwai April 13, 2022, 7:51 a.m. UTC | #2
On Sat, 09 Apr 2022 11:12:59 +0200,
Lucas Tanure wrote:
> 
> Move the support for CS35L41 external boost to its shared library
> for ASoC use.
> This move resulted in cs35l41_hda_reg_sequence being removed,
> and its steps were broken down into regmap writes or functions
> from the library. And hardware configuration struct was unified
> for its use in the shared lib.
> While at it, some minor bugs were found and fixed it.

The patch series seem inapplicable via git am.
Could you check the setup of your mailer?


thanks,

Takashi
Lucas tanure April 13, 2022, 8:10 a.m. UTC | #3
On 4/13/22 8:51 AM, Takashi Iwai <tiwai@suse.de> wrote:
> On Sat, 09 Apr 2022 11:12:59 +0200,
> Lucas Tanure wrote:
> >
> > Move the support for CS35L41 external boost to its shared library
> > for ASoC use.
> > This move resulted in cs35l41_hda_reg_sequence being removed,
> > and its steps were broken down into regmap writes or functions
> > from the library. And hardware configuration struct was unified
> > for its use in the shared lib.
> > While at it, some minor bugs were found and fixed it.
> 
> The patch series seem inapplicable via git am.
> Could you check the setup of your mailer?
> 
> 
> thanks,
> 
> Takashi
> 
Hi,
Could you explain how you apply this series? So I can reproduce it and see what's going on.
To apply a series of patches I usually:

1 - Find the patch series on https://patchwork.kernel.org/
2 - Click the series button on the right top corner, which will give me the single patch file with all series changes
3 - git am ~/Downloads/Support-external-boost-at-CS35l41-ASoC-driver.patch

And that works fine for me here.

Thanks
Lucas
Takashi Iwai April 13, 2022, 8:12 a.m. UTC | #4
On Wed, 13 Apr 2022 10:10:16 +0200,
<tanureal@opensource.cirrus.com> wrote:
> 
> On 4/13/22 8:51 AM, Takashi Iwai <tiwai@suse.de> wrote:
> > On Sat, 09 Apr 2022 11:12:59 +0200,
> > Lucas Tanure wrote:
> > >
> > > Move the support for CS35L41 external boost to its shared library
> > > for ASoC use.
> > > This move resulted in cs35l41_hda_reg_sequence being removed,
> > > and its steps were broken down into regmap writes or functions
> > > from the library. And hardware configuration struct was unified
> > > for its use in the shared lib.
> > > While at it, some minor bugs were found and fixed it.
> >
> > The patch series seem inapplicable via git am.
> > Could you check the setup of your mailer?
> >
> >
> > thanks,
> >
> > Takashi
> >
> Hi,
> Could you explain how you apply this series? So I can reproduce it and see what's going on.
> To apply a series of patches I usually:
> 
> 1 - Find the patch series on https://patchwork.kernel.org/
> 2 - Click the series button on the right top corner, which will give me the single patch file with all series changes
> 3 - git am ~/Downloads/Support-external-boost-at-CS35l41-ASoC-driver.patch

I tried b4 am and git am.


Takashi
Takashi Iwai April 13, 2022, 8:21 a.m. UTC | #5
On Wed, 13 Apr 2022 10:12:25 +0200,
Takashi Iwai wrote:
> 
> On Wed, 13 Apr 2022 10:10:16 +0200,
> <tanureal@opensource.cirrus.com> wrote:
> > 
> > On 4/13/22 8:51 AM, Takashi Iwai <tiwai@suse.de> wrote:
> > > On Sat, 09 Apr 2022 11:12:59 +0200,
> > > Lucas Tanure wrote:
> > > >
> > > > Move the support for CS35L41 external boost to its shared library
> > > > for ASoC use.
> > > > This move resulted in cs35l41_hda_reg_sequence being removed,
> > > > and its steps were broken down into regmap writes or functions
> > > > from the library. And hardware configuration struct was unified
> > > > for its use in the shared lib.
> > > > While at it, some minor bugs were found and fixed it.
> > >
> > > The patch series seem inapplicable via git am.
> > > Could you check the setup of your mailer?
> > >
> > >
> > > thanks,
> > >
> > > Takashi
> > >
> > Hi,
> > Could you explain how you apply this series? So I can reproduce it and see what's going on.
> > To apply a series of patches I usually:
> > 
> > 1 - Find the patch series on https://patchwork.kernel.org/
> > 2 - Click the series button on the right top corner, which will give me the single patch file with all series changes
> > 3 - git am ~/Downloads/Support-external-boost-at-CS35l41-ASoC-driver.patch
> 
> I tried b4 am and git am.

Maybe your patch base isn't aligned with the current upstream.
Could you rebase to 5.18-rc2?


Takashi
Takashi Iwai April 13, 2022, 8:22 a.m. UTC | #6
On Wed, 13 Apr 2022 10:21:39 +0200,
Takashi Iwai wrote:
> 
> On Wed, 13 Apr 2022 10:12:25 +0200,
> Takashi Iwai wrote:
> > 
> > On Wed, 13 Apr 2022 10:10:16 +0200,
> > <tanureal@opensource.cirrus.com> wrote:
> > > 
> > > On 4/13/22 8:51 AM, Takashi Iwai <tiwai@suse.de> wrote:
> > > > On Sat, 09 Apr 2022 11:12:59 +0200,
> > > > Lucas Tanure wrote:
> > > > >
> > > > > Move the support for CS35L41 external boost to its shared library
> > > > > for ASoC use.
> > > > > This move resulted in cs35l41_hda_reg_sequence being removed,
> > > > > and its steps were broken down into regmap writes or functions
> > > > > from the library. And hardware configuration struct was unified
> > > > > for its use in the shared lib.
> > > > > While at it, some minor bugs were found and fixed it.
> > > >
> > > > The patch series seem inapplicable via git am.
> > > > Could you check the setup of your mailer?
> > > >
> > > >
> > > > thanks,
> > > >
> > > > Takashi
> > > >
> > > Hi,
> > > Could you explain how you apply this series? So I can reproduce it and see what's going on.
> > > To apply a series of patches I usually:
> > > 
> > > 1 - Find the patch series on https://patchwork.kernel.org/
> > > 2 - Click the series button on the right top corner, which will give me the single patch file with all series changes
> > > 3 - git am ~/Downloads/Support-external-boost-at-CS35l41-ASoC-driver.patch
> > 
> > I tried b4 am and git am.
> 
> Maybe your patch base isn't aligned with the current upstream.
> Could you rebase to 5.18-rc2?

... and don't forget to pick up Mark's Acks.


thanks,

Takashi