> > On Mon, Apr 01, 2019 at 11:39:10AM +, S.j. Wang wrote:
> > > In ESAI synchronous mode, the clock is generated by Tx, So we should
> > > always set registers of Tx which relate with the bit clock and frame
> > > clock generation (TCCR, TCR, ECR), even there is only Rx is working.
> > >
> > >
Shengjiu,
On Mon, Apr 01, 2019 at 11:39:10AM +, S.j. Wang wrote:
> In ESAI synchronous mode, the clock is generated by Tx, So
> we should always set registers of Tx which relate with the
> bit clock and frame clock generation (TCCR, TCR, ECR), even
> there is only Rx is working.
>
> Signed-of
And better to make it clear:
/* Odd channel number is not valid for older ASRC (channel_bits==3) */
> + if (asrc_priv->channel_bits == 3)
> + snd_pcm_hw_constraint_step(substream->runtime, 0,
> + SNDRV_PCM_HW_PARAM_CHANNELS, 2);
For your next version,
Acked-by: Nicolin Chen
Cheers
On Fri, Mar 01, 2019 at 06:55:25AM +, S.j. Wang wrote:
> > Alternatively, I feel instead of error-out at here, should we add a HW
> > constraint or at least fence it off at the beginning of the hw_params()?
> > This
> > is actually nothing specific to the pair-request function but a hardware
Hi Shengjiu,
On Thu, Feb 28, 2019 at 05:56:31AM +, S.j. Wang wrote:
> cs42xx8 is a 24-bit A/D and 24-bit D/A device, so the S32_LE
> should not be in the supported format list.
>
> Signed-off-by: Shengjiu Wang
> ---
> sound/soc/codecs/cs42xx8.c | 3 +--
This is for cs42xx8 codec driver, but
Hi Shengjiu,
On Fri, Mar 01, 2019 at 02:32:38AM +, S.j. Wang wrote:
> There is a constraint for the channel number setting on the
> asrc of older version (e.g. imx35), the channel number should
> be even, odd number isn't valid.
>
> So add protection when the asrc of older version is used.
>
fore xSMA.
Apparently having this mask settings in the trigger() does not look
very common, so I believe a line of comments would help a lot.
You may add my Acked-by in your next version:
Acked-by: Nicolin Chen
Thanks
> + regmap_update_bits(esai_priv->regmap, REG_ESAI_x
On Tue, Feb 26, 2019 at 02:01:14AM +, S.j. Wang wrote:
> > > diff --git a/sound/soc/fsl/fsl_esai.c b/sound/soc/fsl/fsl_esai.c index
> > > afe67c865330..23bd0ad4ac31 100644
> > > --- a/sound/soc/fsl/fsl_esai.c
> > > +++ b/sound/soc/fsl/fsl_esai.c
> > > @@ -54,6 +54,8 @@ struct fsl_esai {
> > >
On Mon, Feb 25, 2019 at 02:48:18AM +, S.j. Wang wrote:
> There is very low possibility ( < 0.1% ) that channel swap happened
> in beginning when multi output/input pin is enabled. The issue is
> that hardware can't send data to correct pin in the beginning with
> the normal enable flow.
>
> Th
On Mon, Feb 18, 2019 at 03:25:00PM +, Viorel Suman wrote:
> According to RM SPDIF STC SYSCLK_DF field is 9-bit wide, values
> being in 0..511 range. Use a proper type to handle sysclk_df.
>
> Signed-off-by: Viorel Suman
Acked-by: Nicolin Chen
> ---
> sound/soc/fs
On Mon, Feb 18, 2019 at 02:12:17PM +, Viorel Suman wrote:
> According to RM SPDIF TXCLK_DF mask is 7-bit wide.
>
> Signed-off-by: Viorel Suman
Acked-by: Nicolin Chen
> ---
> sound/soc/fsl/fsl_spdif.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> di
On Fri, Feb 15, 2019 at 02:01:32PM +, Viorel Suman wrote:
> The patchset adds NXP Audio Mixer (AUDMIX) device and machine
> drivers and related DT bindings documentation.
For this series,
Acked-by: Nicolin Chen
And Rob gave his at the previous version already.
Thanks.
> Changes
On Fri, Feb 15, 2019 at 11:04:38AM +, S.j. Wang wrote:
> The ESAI_xCR_xWA is xCR's bit, not the xCCR's bit, driver set it to
> wrong register, correct it.
>
> Signed-off-by: Shengjiu Wang
Would need this for stable kernel too.
Ackedy-by: Nicolin Chen
Thanks.
On Thu, Jan 17, 2019 at 12:46:29PM +, Viorel Suman wrote:
> + - dais : Must contain a list of phandles to AUDMIX connected
> + DAIs. The current implementation requires two phandles
> + to SAI interfaces to be provided, the first SAI in
On Tue, Jan 22, 2019 at 11:14:27AM +, Viorel Suman wrote:
> Add the DT binding documentation for NXP Audio Mixer
> CPU DAI driver.
>
> Signed-off-by: Viorel Suman
> ---
> .../devicetree/bindings/sound/fsl,audmix.txt | 54
> ++
> 1 file changed, 54 insertions(+)
>
On Fri, Jan 18, 2019 at 01:16:24PM +, Viorel Suman wrote:
> > > 1. Moved "dais" node from machine driver DTS node to device driver
> > > DTS node
> > > as suggested by Rob.
> > That was not what I suggested. You still have a virtual node which
> > looks to me to be unnecessary.
>
> To me rem
On Thu, Jan 17, 2019 at 02:22:18PM -0800, Nicolin Chen wrote:
> On Thu, Jan 17, 2019 at 12:46:25PM +, Viorel Suman wrote:
> > The patchset adds NXP Audio Mixer (AUDMIX) device and machine
> > drivers and related DT bindings documentation.
> >
> > Changes since V
tation.
>
> Viorel Suman (4):
> ASoC: fsl: Add Audio Mixer CPU DAI driver
> ASoC: add fsl_audmix DT binding documentation
> ASoC: fsl: Add Audio Mixer machine driver
> ASoC: add imx-audmix DT binding documentation
Reviewed-by: Nicolin Chen
t; ASoC: fsl: Add Audio Mixer CPU DAI driver
> ASoC: add fsl_audmix DT binding documentation
> ASoC: fsl: Add Audio Mixer machine driver
> ASoC: add imx-audmix DT binding Documentation
For this series,
Acked-by: Nicolin Chen
Thanks
>
> .../devicetree/bindings/sound/fs
Hi,
On Thu, Jan 03, 2019 at 03:56:46PM +, Viorel Suman wrote:
> > > sound/soc/fsl/fsl_amix.c | 554
> > > +
> > > sound/soc/fsl/fsl_amix.h | 101
> > I aimn't against the naming here, but it seems to be AUDMIX in RM?
Hi Viorel,
Sorry for the late response, having been on a long vacation.
The code looks pretty clean. Just some small concerns/questions below.
On Wed, Dec 19, 2018 at 12:30 AM Viorel Suman wrote:
>
> This patch implements Audio Mixer CPU DAI driver for NXP iMX8 SOCs.
> The Audio Mixer is a on-c
Hi Rob,
On Thu, Dec 6, 2018 at 3:51 AM Rob Herring wrote:
>
> Convert string compares of DT node names to use of_node_name_eq helper
> instead. This removes direct access to the node name pointer.
>
> For the FSL ASoC card, the full node names appear to be "ssi", "esai",
> and "sai", so there's n
pe u64 (64 bits, unsigned) and the following
> expression is currently being evaluated using 32-bit arithmetic:
>
> rate[index] * txclk_df * 64
>
> Addresses-Coverity-ID: 1222129 ("Unintentional integer overflow")
> Signed-off-by: Gustavo A. R. Silva
Acked-by: Nic
The freq parameter indicates the physical frequency of an actual
input clock or a desired frequency of an output clock for HCKT/R.
It should never be passed 0. This might cause Division-by-zero.
So this patch adds a check to fix it.
Signed-off-by: Nicolin Chen
---
sound/soc/fsl/fsl_esai.c | 6
get the ratio.
So a simple fix could be just to set PM directly instead of going
into the loop-search.
Reported-by: Marek Vasut
Signed-off-by: Nicolin Chen
Cc: Marek Vasut
---
sound/soc/fsl/fsl_esai.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/sound/soc/fsl/fsl_esai.c b/sound
slot number for Normal-Mode-None-Net settings while
mono audio cases still need 2 slots. So this patch can also fix it.
And it adds an extra line of comments to declare ssi->i2s_net does
not reflect the register value but merely the initial setting from
the set_dai_fmt().
Reported-by: Mika Penttil
printk.c | 4 ++--
> lib/raid6/sse2.c | 14 +++---
For fsl_dma.c:
> sound/soc/fsl/fsl_dma.c | 2 +-
Acked-by: Nicolin Chen
Thanks
> 19 files changed, 28 insertions(+), 28 deletions(-)
&g
Since ssi->streams is being updated along with SCR register and
its SSIEN bit, it's simpler to use it instead.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
Tested-by: Maciej S. Szmigiero
Reviewed-by: Maciej S. Szmigiero
---
sound/soc/fsl/fsl_ssi.c | 7 +--
1 file ch
-DT cases.
This patch also moves symmetric_channels of AC97 from the probe
to the structure snd_soc_dai_driver for simplification.
Additionally, since PowerPC and AC97 use the same pdev pointer
to register a platform device, this patch also unifies related
code.
Signed-off-by: Nicolin Chen
Tested
Using symmetric_rates in the cpu_dai_drv is a bit implicit,
so this patch adds a bool synchronous instead.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
Tested-by: Maciej S. Szmigiero
Reviewed-by: Maciej S. Szmigiero
---
sound/soc/fsl/fsl_ssi.c | 13 -
1 file changed, 8
s for SND_SOC_DAIFMT_AC97 like others.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
Tested-by: Maciej S. Szmigiero
Reviewed-by: Maciej S. Szmigiero
---
sound/soc/fsl/fsl_ssi.c | 74 +++--
1 file changed, 35 insertions(+), 39 deletions(-)
diff --git a/soun
bits for
AC97 in the platform remote() function.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
Tested-by: Maciej S. Szmigiero
Reviewed-by: Maciej S. Szmigiero
---
sound/soc/fsl/fsl_ssi.c | 33 +++--
1 file changed, 27 insertions(+), 6 deletions(-)
diff --git
The probe() could handle some one-time configurations since
they will not be changed once being configured.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
Tested-by: Maciej S. Szmigiero
Reviewed-by: Maciej S. Szmigiero
---
sound/soc/fsl/fsl_ssi.c | 39
Since there is a helper function, use it to help readability.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
Tested-by: Maciej S. Szmigiero
Reviewed-by: Maciej S. Szmigiero
---
sound/soc/fsl/fsl_ssi.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/sound/soc
It'd be safer to enable both FIFOs for TX or RX at the same time.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
Tested-by: Maciej S. Szmigiero
Reviewed-by: Maciej S. Szmigiero
---
sound/soc/fsl/fsl_ssi.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --
This patch cleans fsl_ssi_setup_regvals() by following changes:
1) Moving DBG bits to the first lines.
2) Setting SSIE, RE/TE as default and cleaning it for AC97
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
Tested-by: Maciej S. Szmigiero
Reviewed-by: Maciej S. Szmigiero
---
sound/soc
The _fsl_ssi_set_dai_fmt() bypasses an undefined format for AC97
mode. However, it's not really necessary if AC97 has its complete
format defined.
So this patch adds a DAIFMT macro of complete format including a
clock direction and polarity.
Signed-off-by: Nicolin Chen
Tested-by: Caleb
patch simplifies these helper functions
with the following changes:
- Changing to two helper functions of enable and disable instead
of TX and RX.
- Removing fsl_ssi_rxtx_config() by separately integrating it to
two newly introduced enable & disable functions.
Signed-off-by: Nicolin Chen
Tested-
the AC97 check.
Note that SOR register is safe from offline_config HW limit.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
Tested-by: Maciej S. Szmigiero
Reviewed-by: Maciej S. Szmigiero
---
sound/soc/fsl/fsl_ssi.c | 33 ++---
1 file changed, 10 insertions
o
use something like ssi_excl_shared_bits.
This patch also bisects fsl_ssi_disable_val into two macros of two
corresponding steps and then shortens its parameter names. It also
updates callers in the fsl_ssi_config() accordingly.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
Tested-by: Mac
here is
no active stream.
This patch fixes this issue by adding a variable to log the active
streams manually.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
Tested-by: Maciej S. Szmigiero
Reviewed-by: Maciej S. Szmigiero
---
sound/soc/fsl/fsl_ssi.c | 15 +++
1 file changed, 11
limit their value within [0, 1].
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
Tested-by: Maciej S. Szmigiero
Reviewed-by: Maciej S. Szmigiero
---
sound/soc/fsl/fsl_ssi.c | 4
sound/soc/fsl/fsl_ssi.h | 3 ---
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/sound/s
This patch replaces the register read with ssi->i2s_net for
simplification. It also removes masking SSIEN from scr value
since it's handled later by regmap_update_bits() to set this
scr value back.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
Tested-by: Maciej S. Szmigiero
Rev
rue in imx51.
Caleb has tested all versions with TDM lookback tests on i.MX6.
Maciej has tested v5 with AC97 tests on i.MX6.
Example of uncovered tests: PowerPC and FIQ.
Nicolin Chen (17):
ASoC: fsl_ssi: Redefine RX and TX macros
ASoC: fsl_ssi: Keep ssi->i2s_net updated
ASoC: fsl_ssi: Clea
up the ssi->i2s_net instead of reading the register.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
Tested-by: Maciej S. Szmigiero
Reviewed-by: Maciej S. Szmigiero
---
sound/soc/fsl/fsl_ssi.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/sound/soc/f
On Wed, Jan 17, 2018 at 08:38:48PM +0100, Maciej S. Szmigiero wrote:
> However, I have a small nitpick regarding a comment newly added in
> this version of patch 16:
> + /*
> + * Do not set SSI dev as the parent of AC97 CODEC device since
> + * it does not hav
Since ssi->streams is being updated along with SCR register and
its SSIEN bit, it's simpler to use it instead.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
sound/soc/fsl/fsl_ssi.c | 7 +--
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/sound/soc/fsl/fsl
-DT cases.
This patch also moves symmetric_channels of AC97 from the probe
to the structure snd_soc_dai_driver for simplification.
Additionally, since PowerPC and AC97 use the same pdev pointer
to register a platform device, this patch also unifies related
code.
Signed-off-by: Nicolin Chen
Tested
Using symmetric_rates in the cpu_dai_drv is a bit implicit,
so this patch adds a bool synchronous instead.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
Changelog
v3
* Removed all cpu_dai_drv changes
sound/soc/fsl/fsl_ssi.c | 13 -
1 file changed, 8 insertions(+), 5
s for SND_SOC_DAIFMT_AC97 like others.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
Changelog
v4
* Added TXBIT0 bit back to play safe
v3
* Put CBM_CFS behind the baudclk check to keep the same program
flow as before
sound/soc/fsl/fsl_ssi.c | 74 +++
bits for
AC97 in the platform remote() function.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
Changelog
v5
* Moved fsl_ssi_hw_clean() after unregister CODEC platform dev
* For cleanup sequence, disabled TE and RE first while SSIEN at last
v2
* Moved all to fsl_ssi_hw_init() in
The probe() could handle some one-time configurations since
they will not be changed once being configured.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
Changelog
v2
* Moved all to fsl_ssi_hw_init() in platform probe()
sound/soc/fsl/fsl_ssi.c | 39
Since there is a helper function, use it to help readability.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
sound/soc/fsl/fsl_ssi.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c
index ba06e94..e1fe511
It'd be safer to enable both FIFOs for TX or RX at the same time.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
sound/soc/fsl/fsl_ssi.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c
index e5
This patch cleans fsl_ssi_setup_regvals() by following changes:
1) Moving DBG bits to the first lines.
2) Setting SSIE, RE/TE as default and cleaning it for AC97
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
sound/soc/fsl/fsl_ssi.c | 17 ++---
1 file changed, 6 insertions
The _fsl_ssi_set_dai_fmt() bypasses an undefined format for AC97
mode. However, it's not really necessary if AC97 has its complete
format defined.
So this patch adds a DAIFMT macro of complete format including a
clock direction and polarity.
Signed-off-by: Nicolin Chen
Tested-by: Caleb
patch simplifies these helper functions
with the following changes:
- Changing to two helper functions of enable and disable instead
of TX and RX.
- Removing fsl_ssi_rxtx_config() by separately integrating it to
two newly introduced enable & disable functions.
Signed-off-by: Nicolin Chen
Tested-
the AC97 check.
Note that SOR register is safe from offline_config HW limit.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
Changelog
v3
* Replaced "bool dir" with "int dir" and "int adir"
v2
* Replaced bool tx with bool dir
o
use something like ssi_excl_shared_bits.
This patch also bisects fsl_ssi_disable_val into two macros of two
corresponding steps and then shortens its parameter names. It also
updates callers in the fsl_ssi_config() accordingly.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
Changel
here is
no active stream.
This patch fixes this issue by adding a variable to log the active
streams manually.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
Changelog
v3
* Replaced "bool dir" with "int dir"
v2
* Replaced bool tx with bool dir
sound/soc/fsl/fsl_ssi.
This patch replaces the register read with ssi->i2s_net for
simplification. It also removes masking SSIEN from scr value
since it's handled later by regmap_update_bits() to set this
scr value back.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
sound/soc/fsl/fsl_ssi.c | 7 ++
up the ssi->i2s_net instead of reading the register.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
sound/soc/fsl/fsl_ssi.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c
index 001e453..9847a1d 1006
limit their value within [0, 1].
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
sound/soc/fsl/fsl_ssi.c | 4
sound/soc/fsl/fsl_ssi.h | 3 ---
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c
index aecd00f..001e453 100644
ime) via I2S Master and Slave mode
- Background record with foreground playback (starting at different
time) via I2S Master and Slave mode
* All tests above by hacking offline_config to true in imx51.
Caleb has tested v1-v4 with TDM lookback tests on i.MX6.
Example of uncovered tests: AC97, Powe
On Wed, Jan 17, 2018 at 12:38:09AM +0100, Maciej S. Szmigiero wrote:
> > Example of uncovered tests: AC97, PowerPC and FIQ.
>
> I've tested the whole series in the AC'97 mode on an i.MX6 UDOO board
> and everything seems to work fine as long as few small changes are made
> to patches 13 and 16.
Since ssi->streams is being updated along with SCR register and
its SSIEN bit, it's simpler to use it instead.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
sound/soc/fsl/fsl_ssi.c | 7 +--
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/sound/soc/fsl/fsl
-DT cases.
This patch also moves symmetric_channels of AC97 from the probe
to the structure snd_soc_dai_driver for simplification.
Additionally, since PowerPC and AC97 use the same pdev pointer
to register a platform device, this patch also unifies related
code.
Signed-off-by: Nicolin Chen
Tested
Using symmetric_rates in the cpu_dai_drv is a bit implicit,
so this patch adds a bool synchronous instead.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
Changelog
v3
* Removed all cpu_dai_drv changes in PATCH-15
sound/soc/fsl/fsl_ssi.c | 13 -
1 file changed, 8
s for SND_SOC_DAIFMT_AC97 like others.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
Changelog
v4
* Added TXBIT0 bit back to play safe
v3
* Put CBM_CFS behind the baudclk check to keep the same program
flow as before
sound/soc/fsl/fsl_ssi.c | 74 +++
bits for
AC97 in the platform remote() function.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
Changelog
v2
* Moved all to fsl_ssi_hw_init() in platform probe()
* Added fsl_ssi_hw_clean() instead of dai remove()
sound/soc/fsl/fsl_ssi.c | 26 --
1 file changed
The probe() could handle some one-time configurations since
they will not be changed once being configured.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
Changelog
v2
* Moved all to fsl_ssi_hw_init() in platform probe()
sound/soc/fsl/fsl_ssi.c | 39
Since there is a helper function, use it to help readability.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
sound/soc/fsl/fsl_ssi.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c
index ba06e94..e1fe511
It'd be safer to enable both FIFOs for TX or RX at the same time.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
sound/soc/fsl/fsl_ssi.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c
index e5
This patch cleans fsl_ssi_setup_regvals() by following changes:
1) Moving DBG bits to the first lines.
2) Setting SSIE, RE/TE as default and cleaning it for AC97
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
sound/soc/fsl/fsl_ssi.c | 17 ++---
1 file changed, 6 insertions
The _fsl_ssi_set_dai_fmt() bypasses an undefined format for AC97
mode. However, it's not really necessary if AC97 has its complete
format defined.
So this patch adds a DAIFMT macro of complete format including a
clock direction and polarity.
Signed-off-by: Nicolin Chen
Tested-by: Caleb
patch simplifies these helper functions
with the following changes:
- Changing to two helper functions of enable and disable instead
of TX and RX.
- Removing fsl_ssi_rxtx_config() by separately integrating it to
two newly introduced enable & disable functions.
Signed-off-by: Nicolin Chen
Tested-
the AC97 check.
Note that SOR register is safe from offline_config HW limit.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
Changelog
v3
* Replaced "bool dir" with "int dir" and "int adir"
v2
* Replaced bool tx with bool dir
o
use something like ssi_excl_shared_bits.
This patch also bisects fsl_ssi_disable_val into two macros of two
corresponding steps and then shortens its parameter names. It also
updates callers in the fsl_ssi_config() accordingly.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
Changel
here is
no active stream.
This patch fixes this issue by adding a variable to log the active
streams manually.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
Changelog
v3
* Replaced "bool dir" with "int dir"
v2
* Replaced bool tx with bool dir
sound/soc/fsl/fsl_ssi.
This patch replaces the register read with ssi->i2s_net for
simplification. It also removes masking SSIEN from scr value
since it's handled later by regmap_update_bits() to set this
scr value back.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
sound/soc/fsl/fsl_ssi.c | 7 ++
up the ssi->i2s_net instead of reading the register.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
sound/soc/fsl/fsl_ssi.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c
index 001e453..9847a1d 1006
Slave mode
- Background record with foreground playback (starting at different
time) via I2S Master and Slave mode
* All tests above by hacking offline_config to true in imx51.
Caleb has tested v1 with TDM lookback tests on i.MX6.
Example of uncovered tests: AC97, PowerPC and FIQ.
Nicolin Chen
limit their value within [0, 1].
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
sound/soc/fsl/fsl_ssi.c | 4
sound/soc/fsl/fsl_ssi.h | 3 ---
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c
index aecd00f..001e453 100644
On Mon, Jan 15, 2018 at 10:16:28PM +0100, Maciej S. Szmigiero wrote:
> > * Removing TXBIT0 configurations since this bit is set to 1 as its
> > reset value and there is no use case so far to unset it. And it
> > is safe to remove since regmap_update_bits() won't touch it.
>
> I didn't get any
On Mon, Jan 15, 2018 at 10:16:39PM +0100, Maciej S. Szmigiero wrote:
> > /* Check if being used in AC97 mode */
> > sprop = of_get_property(np, "fsl,mode", NULL);
> > - if (sprop) {
> > - if (!strcmp(sprop, "ac97-slave"))
> > - ssi->dai_fmt = FSLSSI_AC97_DAIFM
Since ssi->streams is being updated along with SCR register and
its SSIEN bit, it's simpler to use it instead.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
sound/soc/fsl/fsl_ssi.c | 7 +--
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/sound/soc/fsl/fsl
-DT cases.
This patch also moves symmetric_channels of AC97 from the probe
to the structure snd_soc_dai_driver for simplification.
Additionally, since PowerPC and AC97 use the same pdev pointer
to register a platform device, this patch also unifies related
code.
Signed-off-by: Nicolin Chen
Tested
Using symmetric_rates in the cpu_dai_drv is a bit implicit,
so this patch adds a bool synchronous instead.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
Changelog
v3
* Removed all cpu_dai_drv changes in PATCH-15
sound/soc/fsl/fsl_ssi.c | 13 -
1 file changed, 8
since regmap_update_bits() won't touch it.
* Moving baudclk check to the switch-case routine to skip the I2S
master check. And moving SxCCR.DC settings after baudclk check.
* Adding format settings for SND_SOC_DAIFMT_AC97 like others.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
Changelog
bits for
AC97 in the platform remote() function.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
Changelog
v2
* Moved all to fsl_ssi_hw_init() in platform probe()
* Added fsl_ssi_hw_clean() instead of dai remove()
sound/soc/fsl/fsl_ssi.c | 26 --
1 file changed
The probe() could handle some one-time configurations since
they will not be changed once being configured.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
Changelog
v2
* Moved all to fsl_ssi_hw_init() in platform probe()
sound/soc/fsl/fsl_ssi.c | 39
Since there is a helper function, use it to help readability.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
sound/soc/fsl/fsl_ssi.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c
index ba06e94..e1fe511
It'd be safer to enable both FIFOs for TX or RX at the same time.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
sound/soc/fsl/fsl_ssi.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c
index e5
This patch cleans fsl_ssi_setup_regvals() by following changes:
1) Moving DBG bits to the first lines.
2) Setting SSIE, RE/TE as default and cleaning it for AC97
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
sound/soc/fsl/fsl_ssi.c | 17 ++---
1 file changed, 6 insertions
The _fsl_ssi_set_dai_fmt() bypasses an undefined format for AC97
mode. However, it's not really necessary if AC97 has its complete
format defined.
So this patch adds a DAIFMT macro of complete format including a
clock direction and polarity.
Signed-off-by: Nicolin Chen
Tested-by: Caleb
patch simplifies these helper functions
with the following changes:
- Changing to two helper functions of enable and disable instead
of TX and RX.
- Removing fsl_ssi_rxtx_config() by separately integrating it to
two newly introduced enable & disable functions.
Signed-off-by: Nicolin Chen
Tested-
the AC97 check.
Note that SOR register is safe from offline_config HW limit.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
Changelog
v3
* Replaced "bool dir" with "int dir" and "int adir"
v2
* Replaced bool tx with bool dir
o
use something like ssi_excl_shared_bits.
This patch also bisects fsl_ssi_disable_val into two macros of two
corresponding steps and then shortens its parameter names. It also
updates callers in the fsl_ssi_config() accordingly.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
Changel
here is
no active stream.
This patch fixes this issue by adding a variable to log the active
streams manually.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
Changelog
v3
* Replaced "bool dir" with "int dir"
v2
* Replaced bool tx with bool dir
sound/soc/fsl/fsl_ssi.
This patch replaces the register read with ssi->i2s_net for
simplification. It also removes masking SSIEN from scr value
since it's handled later by regmap_update_bits() to set this
scr value back.
Signed-off-by: Nicolin Chen
Tested-by: Caleb Crome
---
sound/soc/fsl/fsl_ssi.c | 7 ++
201 - 300 of 770 matches
Mail list logo