mbox series

[v9,0/4] ASoC: mediatek: mt8192: support rt1015p_rt5682s

Message ID 20220406100514.11269-1-jiaxin.yu@mediatek.com
Headers show
Series ASoC: mediatek: mt8192: support rt1015p_rt5682s | expand

Message

Jiaxin Yu (俞家鑫) April 6, 2022, 10:05 a.m. UTC
The series reuses mt8192-mt6359-rt1015-rt5682.c for supporting machine
driver with rt1015p speaker amplifier and rt5682s headset codec.

Changes from v8:
  - fix typos.

Changes from v7:
  - "mediatek,hdmi-codec" is an optional property, the code and the
    binding document should match.

Changes from v6:
  - "speaker-codec" changes to "speaker-codecs" due to there may be two
    speaker codec.

Changes from v5:
  - "mediatek,headset-codec" and "mediatek,speaker-codec" drop prefix
    and move to properties from patternProperties.

Changes form v4:
  - split a large patch into three small patches for easy reviewing
  - correct coding style

Changes from v3:
  - fix build error: too many arguments for format
    [-Werror-format-extra-args]

Changes from v2:
  - fix build warnings such as "data argument not used by format string"

Changes from v1:
  - uses the snd_soc_of_get_dai_link_codecs to complete the
  configuration of dai_link's codecs
  - uses definitions to simplifies card name and compatible name

Jiaxin Yu (4):
  ASoC: dt-bindings: mt8192-mt6359: add new compatible and new
    properties
  ASoC: mediatek: mt8192: refactor for I2S3 DAI link of speaker
  ASoC: mediatek: mt8192: refactor for I2S8/I2S9 DAI links of headset
  ASoC: mediatek: mt8192: support rt1015p_rt5682s

 .../sound/mt8192-mt6359-rt1015-rt5682.yaml    |  32 +++
 sound/soc/mediatek/Kconfig                    |   1 +
 .../mt8192/mt8192-mt6359-rt1015-rt5682.c      | 199 +++++++++++-------
 3 files changed, 153 insertions(+), 79 deletions(-)

Comments

Tzung-Bi Shih April 7, 2022, 12:56 a.m. UTC | #1
On Wed, Apr 06, 2022 at 06:05:12PM +0800, Jiaxin Yu wrote:
> MT8192 platform will use rt1015 or rt1015p codec, so through the
> snd_soc_of_get_dai_link_codecs() to complete the configuration
> of dai_link's codecs.
> 
> Signed-off-by: Jiaxin Yu <jiaxin.yu@mediatek.com>

Reviewed-by: Tzung-Bi Shih <tzungbi@kernel.org>
Nícolas F. R. A. Prado April 7, 2022, 9:24 p.m. UTC | #2
Hi Jiaxin,

On Wed, Apr 06, 2022 at 06:05:12PM +0800, Jiaxin Yu wrote:
> MT8192 platform will use rt1015 or rt1015p codec, so through the
> snd_soc_of_get_dai_link_codecs() to complete the configuration
> of dai_link's codecs.

Suggestion for the commit message:

As part of the refactoring to allow the same machine driver to be used for the
rt1015(p) and rt5682(s) codecs on the MT8192 platform, parse the rt1015(p)
codecs from the speaker-codecs property in the devicetree and wire them to the
I2S3 backend, instead of hardcoding the links and selecting through the
compatible.

> 
> Signed-off-by: Jiaxin Yu <jiaxin.yu@mediatek.com>

Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Tested-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>

- Tested on mt8192-asurada-spherion (rt1015p and rt5682). All audio paths still
  work as previous to this refactor. And it's still possible to omit
  mediatek,hdmi-codec.

Thanks,
Nícolas
Nícolas F. R. A. Prado April 7, 2022, 9:33 p.m. UTC | #3
Hi Jiaxin,

On Wed, Apr 06, 2022 at 06:05:13PM +0800, Jiaxin Yu wrote:
> MT8192 platform use rt5682 codec, so through the snd_soc_of_get_dai_link_codecs()
> to complete the configuration of I2S8/I2S9 dai_link's codecs.

Likewise, suggestion for the commit message:

As part of the refactoring to allow the same machine driver to be used for the
rt1015(p) and rt5682(s) codecs on the MT8192 platform, parse the rt5682(s) codec
from the headset-codec property in the devicetree and wire it to the I2S8 and
I2S9 backends.

> 
> Signed-off-by: Jiaxin Yu <jiaxin.yu@mediatek.com>
> Reviewed-by: Tzung-Bi Shih <tzungbi@kernel.org>

Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Tested-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>

Thanks,
Nícolas
Nícolas F. R. A. Prado April 7, 2022, 10:03 p.m. UTC | #4
Hi Jiaxin,

On Wed, Apr 06, 2022 at 06:05:14PM +0800, Jiaxin Yu wrote:
> To support machine that only choose one of the rt5682s and rt5682 as
> headset codec, adds new compatible string "mt8192_mt6359_rt1015p_rt5682s".
> Meanwhile, using macros to simplifies card name and compatible name.

That first sentence is particularly confusing to me. Suggestion for the commit
message:

Add support for using the rt5682s codec together with rt1015p on mt8192-mt6359
machines. All configurations are shared with the rt5682 codec variant, so simply
select the SND_SOC_RT5682S config to ensure the codec is present and set the
correct card name. The codec will be linked to by pointing to it in the
headset-codec property in the devicetree.

While at it, also create macros for the names of the different codec variants
supported by this driver, as well as rename occurrences of rt1015p_rt5682 to
rt1015p_rt5682x, since they are shared between rt5682 and rt5682s.

> 
> Signed-off-by: Jiaxin Yu <jiaxin.yu@mediatek.com>
> Reviewed-by: Tzung-Bi Shih <tzungbi@kernel.org>

Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Tested-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>

Thanks,
Nícolas
Jiaxin Yu (俞家鑫) April 8, 2022, 3:43 a.m. UTC | #5
On Thu, 2022-04-07 at 17:24 -0400, Nícolas F. R. A. Prado wrote:
> Hi Jiaxin,
> 
> On Wed, Apr 06, 2022 at 06:05:12PM +0800, Jiaxin Yu wrote:
> > MT8192 platform will use rt1015 or rt1015p codec, so through the
> > snd_soc_of_get_dai_link_codecs() to complete the configuration
> > of dai_link's codecs.
> 
> Suggestion for the commit message:
> 
> As part of the refactoring to allow the same machine driver to be
> used for the
> rt1015(p) and rt5682(s) codecs on the MT8192 platform, parse the
> rt1015(p)
> codecs from the speaker-codecs property in the devicetree and wire
> them to the
> I2S3 backend, instead of hardcoding the links and selecting through
> the
> compatible.
> 
Hi Nícolas,

I will update the commit message according to the rule of one row per
75 columns. I will also refer to your suggestions to modify the rest of
the series. Thanks for your review.

Jiaxin.Yu
Thanks.

> > 
> > Signed-off-by: Jiaxin Yu <jiaxin.yu@mediatek.com>
> 
> Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
> Tested-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
> 
> - Tested on mt8192-asurada-spherion (rt1015p and rt5682). All audio
> paths still
>   work as previous to this refactor. And it's still possible to omit
>   mediatek,hdmi-codec.
> 
> Thanks,
> Nícolas
Mark Brown April 8, 2022, 2:47 p.m. UTC | #6
On Wed, 6 Apr 2022 18:05:10 +0800, Jiaxin Yu wrote:
> The series reuses mt8192-mt6359-rt1015-rt5682.c for supporting machine
> driver with rt1015p speaker amplifier and rt5682s headset codec.
> 
> Changes from v8:
>   - fix typos.
> 
> Changes from v7:
>   - "mediatek,hdmi-codec" is an optional property, the code and the
>     binding document should match.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/4] ASoC: dt-bindings: mt8192-mt6359: add new compatible and new properties
      commit: 1efe7eca170d344c5101c69ac51df6982de764e4
[2/4] ASoC: mediatek: mt8192: refactor for I2S3 DAI link of speaker
      commit: e1e408e60e856b99782b26308a9dc3937b1ba8bf
[3/4] ASoC: mediatek: mt8192: refactor for I2S8/I2S9 DAI links of headset
      commit: f8910fb4985a00c0a1e6932dc5bda6181c549b76
[4/4] ASoC: mediatek: mt8192: support rt1015p_rt5682s
      commit: 7a80167b08f52e7b5eaa18a9d515efdcff9085fc

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark