alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: Charles Keepax <ckeepax@opensource.cirrus.com>, broonie@kernel.org
Cc: cezary.rojewski@intel.com, heiko@sntech.de,
	kuninori.morimoto.gx@renesas.com, alsa-devel@alsa-project.org,
	nicolas.ferre@microchip.com, srinivas.kandagatla@linaro.org,
	peter.ujfalusi@gmail.com,
	linux-stm32@st-md-mailman.stormreply.com, jbrunet@baylibre.com,
	krzk@kernel.org, linux-rockchip@lists.infradead.org,
	linux-imx@nxp.com, linux-mips@vger.kernel.org,
	linux-sunxi@lists.linux.dev, linux-xtensa@linux-xtensa.org,
	nsaenz@kernel.org, linux-mediatek@lists.infradead.org,
	linux-tegra@vger.kernel.org, linux-amlogic@lists.infradead.org,
	linux-omap@vger.kernel.org, patches@opensource.cirrus.com,
	lgirdwood@gmail.com, daniel@zonque.org, kernel@pengutronix.de,
	shawnguo@kernel.org, jarkko.nikula@bitmer.com
Subject: Re: [PATCH 00/56] Specify clock provider directly to CPU DAIs
Date: Thu, 19 May 2022 13:43:55 -0500	[thread overview]
Message-ID: <935f76f2-c4cf-d66f-e1e1-8acf5a643f92@linux.intel.com> (raw)
In-Reply-To: <20220519154318.2153729-1-ckeepax@opensource.cirrus.com>



On 5/19/22 10:42, Charles Keepax wrote:
> Currently the set_fmt callback always passes clock provider/consumer
> with respect to the CODEC. This made sense when the framework was
> directly broken down into platforms and CODECs. However, as things
> are now broken down into components which can be connected as either
> the CPU or CODEC side of a DAI link it simplifies things if each
> side of the link is just told if it is provider or consumer of the
> clocks. Making this change allows us to remove one of the last parts
> of the ASoC core that needs to know if a driver is a CODEC driver,
> where it flips the clock format specifier if a CODEC driver is used on
> the CPU side of a DAI link, as well as just being conceptually more
> consistent with componentisation.
> 
> The basic idea of this patch chain is to change the set_fmt callback
> from specifying if the CODEC is provider/consumer into directly
> specifying if the component is provider/consumer. To do this we add
> some new defines, and then to preserve bisectability, the migration is
> done by adding a new callback, converting over all existing CPU side
> drivers, converting the core, and then finally reverting back to the
> old callback.
> 
> Converting the platform drivers makes sense as the existing defines
> are from the perspective of the CODEC and there are more CODEC drivers
> than platform drivers.
> 
> Obviously a fair amount of this patch chain I was only able to build
> test, so any testing that can be done would be greatly appreciated.

All good for the SOF CI (small subset tested for Intel platforms).

https://github.com/thesofproject/linux/pull/3660

> 
> Thanks,
> Charles
> 
> Charles Keepax (56):
>   ASoC: core: Add set_fmt_new callback that directly specifies provider
>   ASoC: amd: vangogh: Update to use set_fmt_new callback
>   ASoC: atmel: Update to use set_fmt_new callback
>   ASoC: au1x: Update to use set_fmt_new callback
>   ASoC: bcm: Update to use set_fmt_new callback
>   ASoC: ep93xx: Update to use set_fmt_new callback
>   ASoC: dwc: Update to use set_fmt_new callback
>   ASoC: fsl: Update to use set_fmt_new callback
>   ASoC: hisilicon: Update to use set_fmt_new callback
>   ASoC: img: Update to use set_fmt_new callback
>   ASoC: Intel: Update to use set_fmt_new callback
>   ASoC: js4740-i2s: Update to use set_fmt_new callback
>   ASoC: mediatek: Update to use set_fmt_new callback
>   ASoC: meson: Update to use set_fmt_new callback
>   ASoC: mxs-saif: Update to use set_fmt_new callback
>   ASoC: pxa: Update to use set_fmt_new callback
>   ASoC: qcom: Update to use set_fmt_new callback
>   ASoC: rockchip: Update to use set_fmt_new callback
>   ASoC: samsung: Update to use set_fmt_new callback
>   ASoC: sh: Update to use set_fmt_new callback
>   ASoC: stm: Update to use set_fmt_new callback
>   ASoC: sunxi: Update to use set_fmt_new callback
>   ASoC: tegra: Update to use set_fmt_new callback
>   ASoC: test-component: Update to use set_fmt_new callback
>   ASoC: ti: Update to use set_fmt_new callback
>   ASoC: ux500: Update to use set_fmt_new callback
>   ASoC: xtensa: Update to use set_fmt_new callback
>   ASoC: core: Always send the CPU DAI a direct clock specifier
>   ASoC: amd: vangogh: Rename set_fmt_new back to set_fmt
>   ASoC: atmel: Rename set_fmt_new back to set_fmt
>   ASoC: au1x: Rename set_fmt_new back to set_fmt
>   ASoC: bcm: Rename set_fmt_new back to set_fmt
>   ASoC: ep93xx: Rename set_fmt_new back to set_fmt
>   ASoC: dwc: Rename set_fmt_new back to set_fmt
>   ASoC: fsl: Rename set_fmt_new back to set_fmt
>   ASoC: hisilicon: Rename set_fmt_new back to set_fmt
>   ASoC: img: Rename set_fmt_new back to set_fmt
>   ASoC: Intel: Rename set_fmt_new back to set_fmt
>   ASoC: jz4740-i2s: Rename set_fmt_new back to set_fmt
>   ASoC: mediatek: Rename set_fmt_new back to set_fmt
>   ASoC: meson: Rename set_fmt_new back to set_fmt
>   ASoC: mxs-saif: Rename set_fmt_new back to set_fmt
>   ASoC: pxa: Rename set_fmt_new back to set_fmt
>   ASoC: qcom: Rename set_fmt_new back to set_fmt
>   ASoC: rockchip: Rename set_fmt_new back to set_fmt
>   ASoC: samsung: Rename set_fmt_new back to set_fmt
>   ASoC: sh: Rename set_fmt_new back to set_fmt
>   ASoC: stm: Rename set_fmt_new back to set_fmt
>   ASoC: sunxi: Rename set_fmt_new back to set_fmt
>   ASoC: tegra: Rename set_fmt_new back to set_fmt
>   ASoC: test-component: Rename set_fmt_new back to set_fmt
>   ASoC: ti: Rename set_fmt_new back to set_fmt
>   ASoC: ux500: Rename set_fmt_new back to set_fmt
>   ASoC: xtensa: Rename set_fmt_new back to set_fmt
>   ASoC: soc-dai: Remove set_fmt_new callback
>   ASoC: simple-card-utils: Move snd_soc_component_is_codec to be local
> 
>  include/sound/soc-component.h                |  5 ---
>  include/sound/soc-dai.h                      |  6 ++++
>  sound/soc/amd/vangogh/acp5x-i2s.c            |  4 +--
>  sound/soc/atmel/atmel-i2s.c                  |  4 +--
>  sound/soc/atmel/atmel_ssc_dai.c              | 18 +++++-----
>  sound/soc/atmel/mchp-i2s-mcc.c               |  8 ++---
>  sound/soc/atmel/mchp-pdmc.c                  |  4 +--
>  sound/soc/au1x/i2sc.c                        |  2 +-
>  sound/soc/au1x/psc-i2s.c                     |  4 +--
>  sound/soc/bcm/bcm2835-i2s.c                  | 20 +++++------
>  sound/soc/bcm/cygnus-ssp.c                   |  4 +--
>  sound/soc/cirrus/ep93xx-i2s.c                |  4 +--
>  sound/soc/dwc/dwc-i2s.c                      |  8 ++---
>  sound/soc/fsl/fsl_audmix.c                   |  6 ++--
>  sound/soc/fsl/fsl_esai.c                     |  8 ++---
>  sound/soc/fsl/fsl_mqs.c                      |  2 +-
>  sound/soc/fsl/fsl_sai.c                      |  8 ++---
>  sound/soc/fsl/fsl_ssi.c                      | 22 ++++++------
>  sound/soc/fsl/imx-audmix.c                   |  4 +--
>  sound/soc/fsl/imx-card.c                     |  2 +-
>  sound/soc/generic/simple-card-utils.c        |  7 +++-
>  sound/soc/generic/test-component.c           | 18 +++++-----
>  sound/soc/hisilicon/hi6210-i2s.c             | 18 +++++-----
>  sound/soc/img/img-i2s-in.c                   |  4 +--
>  sound/soc/img/img-i2s-out.c                  |  6 ++--
>  sound/soc/intel/atom/sst-atom-controls.c     |  4 +--
>  sound/soc/intel/boards/bytcht_cx2072x.c      |  2 +-
>  sound/soc/intel/boards/bytcht_da7213.c       |  2 +-
>  sound/soc/intel/boards/bytcht_es8316.c       |  2 +-
>  sound/soc/intel/boards/bytcht_nocodec.c      |  2 +-
>  sound/soc/intel/boards/bytcr_rt5640.c        |  2 +-
>  sound/soc/intel/boards/bytcr_rt5651.c        |  2 +-
>  sound/soc/intel/boards/bytcr_wm5102.c        |  2 +-
>  sound/soc/intel/boards/cht_bsw_max98090_ti.c |  3 +-
>  sound/soc/intel/boards/cht_bsw_rt5645.c      |  6 ++--
>  sound/soc/intel/boards/cht_bsw_rt5672.c      |  2 +-
>  sound/soc/intel/keembay/kmb_platform.c       |  4 +--
>  sound/soc/jz4740/jz4740-i2s.c                | 10 +++---
>  sound/soc/mediatek/mt8195/mt8195-dai-etdm.c  |  6 ++--
>  sound/soc/mediatek/mt8195/mt8195-dai-pcm.c   |  6 ++--
>  sound/soc/meson/aiu-encoder-i2s.c            |  2 +-
>  sound/soc/meson/axg-tdm-interface.c          | 14 ++++----
>  sound/soc/mxs/mxs-saif.c                     |  4 +--
>  sound/soc/pxa/magician.c                     |  8 ++---
>  sound/soc/pxa/mmp-sspa.c                     |  6 ++--
>  sound/soc/pxa/pxa-ssp.c                      | 22 ++++++------
>  sound/soc/pxa/pxa2xx-i2s.c                   |  6 ++--
>  sound/soc/qcom/apq8016_sbc.c                 |  2 +-
>  sound/soc/qcom/qdsp6/audioreach.c            |  4 +--
>  sound/soc/qcom/qdsp6/q6afe.c                 |  6 ++--
>  sound/soc/qcom/sc7180.c                      |  2 +-
>  sound/soc/qcom/sdm845.c                      |  6 ++--
>  sound/soc/qcom/sm8250.c                      |  4 +--
>  sound/soc/rockchip/rockchip_i2s.c            |  6 ++--
>  sound/soc/rockchip/rockchip_i2s_tdm.c        |  6 ++--
>  sound/soc/samsung/i2s.c                      |  6 ++--
>  sound/soc/samsung/pcm.c                      |  4 +--
>  sound/soc/samsung/s3c-i2s-v2.c               |  6 ++--
>  sound/soc/samsung/s3c24xx-i2s.c              |  6 ++--
>  sound/soc/sh/fsi.c                           |  6 ++--
>  sound/soc/sh/rcar/core.c                     |  4 +--
>  sound/soc/sh/rz-ssi.c                        |  2 +-
>  sound/soc/sh/ssi.c                           | 10 +++---
>  sound/soc/soc-core.c                         | 14 ++------
>  sound/soc/soc-dai.c                          |  3 +-
>  sound/soc/stm/stm32_i2s.c                    |  8 ++---
>  sound/soc/stm/stm32_sai_sub.c                |  8 ++---
>  sound/soc/sunxi/sun4i-i2s.c                  | 18 +++++-----
>  sound/soc/sunxi/sun8i-codec.c                |  6 ++--
>  sound/soc/tegra/tegra20_i2s.c                |  6 ++--
>  sound/soc/tegra/tegra210_i2s.c               |  6 ++--
>  sound/soc/tegra/tegra30_i2s.c                |  6 ++--
>  sound/soc/ti/davinci-i2s.c                   | 32 ++++++++---------
>  sound/soc/ti/davinci-mcasp.c                 | 10 +++---
>  sound/soc/ti/omap-mcbsp.c                    | 12 +++----
>  sound/soc/ux500/ux500_msp_dai.c              | 36 ++++++++++----------
>  sound/soc/xtensa/xtfpga-i2s.c                |  4 +--
>  77 files changed, 279 insertions(+), 283 deletions(-)
> 

  parent reply	other threads:[~2022-05-19 18:45 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-19 15:42 [PATCH 00/56] Specify clock provider directly to CPU DAIs Charles Keepax
2022-05-19 15:42 ` [PATCH 01/56] ASoC: core: Add set_fmt_new callback that directly specifies provider Charles Keepax
2022-05-19 15:42 ` [PATCH 02/56] ASoC: amd: vangogh: Update to use set_fmt_new callback Charles Keepax
2022-05-19 15:42 ` [PATCH 03/56] ASoC: atmel: " Charles Keepax
2022-05-19 15:42 ` [PATCH 04/56] ASoC: au1x: " Charles Keepax
2022-05-19 15:42 ` [PATCH 05/56] ASoC: bcm: " Charles Keepax
2022-05-19 15:42 ` [PATCH 06/56] ASoC: ep93xx: " Charles Keepax
2022-05-19 15:42 ` [PATCH 07/56] ASoC: dwc: " Charles Keepax
2022-05-19 15:42 ` [PATCH 08/56] ASoC: fsl: " Charles Keepax
2022-05-19 15:42 ` [PATCH 09/56] ASoC: hisilicon: " Charles Keepax
2022-05-19 15:42 ` [PATCH 10/56] ASoC: img: " Charles Keepax
2022-05-19 15:42 ` [PATCH 11/56] ASoC: Intel: " Charles Keepax
2022-05-19 15:42 ` [PATCH 12/56] ASoC: js4740-i2s: " Charles Keepax
2022-05-19 15:42 ` [PATCH 13/56] ASoC: mediatek: " Charles Keepax
2022-05-19 15:42 ` [PATCH 14/56] ASoC: meson: " Charles Keepax
2022-05-19 15:42 ` [PATCH 15/56] ASoC: mxs-saif: " Charles Keepax
2022-05-19 15:42 ` [PATCH 16/56] ASoC: pxa: " Charles Keepax
2022-05-19 15:42 ` [PATCH 17/56] ASoC: qcom: " Charles Keepax
2022-05-19 15:42 ` [PATCH 18/56] ASoC: rockchip: " Charles Keepax
2022-05-20 13:39   ` Nicolas Frattaroli
2022-05-19 15:42 ` [PATCH 19/56] ASoC: samsung: " Charles Keepax
2022-05-19 15:42 ` [PATCH 20/56] ASoC: sh: " Charles Keepax
2022-05-20  0:51   ` Kuninori Morimoto
2022-05-19 15:42 ` [PATCH 21/56] ASoC: stm: " Charles Keepax
2022-05-19 15:42 ` [PATCH 22/56] ASoC: sunxi: " Charles Keepax
2022-05-19 23:40   ` Samuel Holland
2022-05-20  9:56     ` Charles Keepax
2022-05-19 15:42 ` [PATCH 23/56] ASoC: tegra: " Charles Keepax
2022-05-19 15:42 ` [PATCH 24/56] ASoC: test-component: " Charles Keepax
2022-05-20  0:52   ` Kuninori Morimoto
2022-05-19 15:42 ` [PATCH 25/56] ASoC: ti: " Charles Keepax
2022-05-28  9:18   ` Péter Ujfalusi
2022-05-19 15:42 ` [PATCH 26/56] ASoC: ux500: " Charles Keepax
2022-05-19 15:42 ` [PATCH 27/56] ASoC: xtensa: " Charles Keepax
2022-05-19 15:42 ` [PATCH 28/56] ASoC: core: Always send the CPU DAI a direct clock specifier Charles Keepax
2022-05-19 15:42 ` [PATCH 29/56] ASoC: amd: vangogh: Rename set_fmt_new back to set_fmt Charles Keepax
2022-05-19 15:42 ` [PATCH 30/56] ASoC: atmel: " Charles Keepax
2022-05-19 15:42 ` [PATCH 31/56] ASoC: au1x: " Charles Keepax
2022-05-19 15:42 ` [PATCH 32/56] ASoC: bcm: " Charles Keepax
2022-05-19 15:42 ` [PATCH 33/56] ASoC: ep93xx: " Charles Keepax
2022-05-19 15:42 ` [PATCH 34/56] ASoC: dwc: " Charles Keepax
2022-05-19 15:42 ` [PATCH 35/56] ASoC: fsl: " Charles Keepax
2022-05-19 15:42 ` [PATCH 36/56] ASoC: hisilicon: " Charles Keepax
2022-05-19 15:42 ` [PATCH 37/56] ASoC: img: " Charles Keepax
2022-05-19 15:43 ` [PATCH 38/56] ASoC: Intel: " Charles Keepax
2022-05-19 15:43 ` [PATCH 39/56] ASoC: jz4740-i2s: " Charles Keepax
2022-05-19 15:43 ` [PATCH 40/56] ASoC: mediatek: " Charles Keepax
2022-05-19 15:43 ` [PATCH 41/56] ASoC: meson: " Charles Keepax
2022-05-19 15:43 ` [PATCH 42/56] ASoC: mxs-saif: " Charles Keepax
2022-05-19 15:43 ` [PATCH 43/56] ASoC: pxa: " Charles Keepax
2022-05-19 15:43 ` [PATCH 44/56] ASoC: qcom: " Charles Keepax
2022-05-19 15:43 ` [PATCH 45/56] ASoC: rockchip: " Charles Keepax
2022-05-19 15:43 ` [PATCH 46/56] ASoC: samsung: " Charles Keepax
2022-05-20  6:45   ` Krzysztof Kozlowski
2022-05-19 15:43 ` [PATCH 47/56] ASoC: sh: " Charles Keepax
2022-05-19 15:43 ` [PATCH 48/56] ASoC: stm: " Charles Keepax
2022-05-19 15:43 ` [PATCH 49/56] ASoC: sunxi: " Charles Keepax
2022-05-19 15:43 ` [PATCH 50/56] ASoC: tegra: " Charles Keepax
2022-05-19 15:43 ` [PATCH 51/56] ASoC: test-component: " Charles Keepax
2022-05-19 15:43 ` [PATCH 52/56] ASoC: ti: " Charles Keepax
2022-05-28  9:19   ` Péter Ujfalusi
2022-05-19 15:43 ` [PATCH 53/56] ASoC: ux500: " Charles Keepax
2022-05-19 15:43 ` [PATCH 54/56] ASoC: xtensa: " Charles Keepax
2022-05-19 15:43 ` [PATCH 55/56] ASoC: soc-dai: Remove set_fmt_new callback Charles Keepax
2022-05-19 15:43 ` [PATCH 56/56] ASoC: simple-card-utils: Move snd_soc_component_is_codec to be local Charles Keepax
2022-05-20  1:02   ` Kuninori Morimoto
2022-05-20 10:24     ` Charles Keepax
2022-05-22 23:26       ` Kuninori Morimoto
2022-05-19 18:43 ` Pierre-Louis Bossart [this message]
2022-06-09 13:32 ` [PATCH 00/56] Specify clock provider directly to CPU DAIs Mark Brown
2022-06-10  2:03   ` Samuel Holland
2022-06-10 12:03     ` Mark Brown
2022-06-13  9:54       ` Charles Keepax

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=935f76f2-c4cf-d66f-e1e1-8acf5a643f92@linux.intel.com \
    --to=pierre-louis.bossart@linux.intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=cezary.rojewski@intel.com \
    --cc=ckeepax@opensource.cirrus.com \
    --cc=daniel@zonque.org \
    --cc=heiko@sntech.de \
    --cc=jarkko.nikula@bitmer.com \
    --cc=jbrunet@baylibre.com \
    --cc=kernel@pengutronix.de \
    --cc=krzk@kernel.org \
    --cc=kuninori.morimoto.gx@renesas.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=linux-sunxi@lists.linux.dev \
    --cc=linux-tegra@vger.kernel.org \
    --cc=linux-xtensa@linux-xtensa.org \
    --cc=nicolas.ferre@microchip.com \
    --cc=nsaenz@kernel.org \
    --cc=patches@opensource.cirrus.com \
    --cc=peter.ujfalusi@gmail.com \
    --cc=shawnguo@kernel.org \
    --cc=srinivas.kandagatla@linaro.org \
    /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).