linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/16] ASoC: fsl_ssi: Clean up - program flow level
@ 2018-01-11  6:42 Nicolin Chen
  2018-01-11  6:43 ` [PATCH v2 01/16] ASoC: fsl_ssi: Keep ssi->i2s_net updated Nicolin Chen
                   ` (16 more replies)
  0 siblings, 17 replies; 29+ messages in thread
From: Nicolin Chen @ 2018-01-11  6:42 UTC (permalink / raw)
  To: timur, broonie, mail
  Cc: linux-kernel, linuxppc-dev, alsa-devel, lgirdwood, fabio.estevam,
	caleb, arnaud.mouiche, lukma, kernel

==Change log==
v2
 * Reworked the series by taking suggestions from Maciej
  + Added PATCH-01 to keep all ssi->i2s_net updated
  + Replaced bool tx with bool dir in PATCH-03 and PATCH-06
  + Moved all initial register configurations from dai probe() to
    platform probe() so as to let AC97 CODEC successfully probe.
 * Added Tested-by from Caleb for TDM test cases.

==Background==
The fsl_ssi driver was designed for PPC originally and then it has
been updated to support different modes for i.MX Series, including
SDMA, I2S Master mode, AC97 and older i.MXs with FIQ, by different
contributors for different use cases in different coding styles.

Additionally, in order to fix/work-around hardware bugs and design
flaws, the driver made a lot of compromise so now its program flow
looks very complicated and it's getting hard to maintain or update.

So I am going to clean up the driver on both coding style level and
program flow level.

==Introduction==
This series of patches is the second set to clean up fsl_ssi driver
in the program flow level. Any patch here may impact a fundamental
test case like playback or record.

==Verification==
This series of patches require fully tested. I have done such tests
on i.MX6SoloX with WM8962 using imx_v6_v7_defconfig as:
 - Playback via I2S Master and Slave mode
 - Record via I2S Master and Slave mode
 - Simultaneous playback and record via I2S Master and Slave mode
 - Background playback with foreground record (starting at different
   time) 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 with TDM lookback tests on i.MX6.

Example of uncovered tests: AC97, PowerPC and FIQ.

Nicolin Chen (16):
  ASoC: fsl_ssi: Keep ssi->i2s_net updated
  ASoC: fsl_ssi: Clean up set_dai_tdm_slot()
  ASoC: fsl_ssi: Maintain a mask of active streams
  ASoC: fsl_ssi: Rename fsl_ssi_disable_val macro
  ASoC: fsl_ssi: Clear FIFO directly in fsl_ssi_config()
  ASoC: fsl_ssi: Clean up helper functions of trigger()
  ASoC: fsl_ssi: Add DAIFMT define for AC97
  ASoC: fsl_ssi: Clean up fsl_ssi_setup_regvals()
  ASoC: fsl_ssi: Set xFEN0 and xFEN1 together
  ASoC: fsl_ssi: Use snd_soc_init_dma_data instead
  ASoC: fsl_ssi: Move one-time configurations to probe()
  ASoC: fsl_ssi: Setup AC97 in fsl_ssi_hw_init()
  ASoC: fsl_ssi: Clean up _fsl_ssi_set_dai_fmt()
  ASoC: fsl_ssi: Remove cpu_dai_drv from fsl_ssi structure
  ASoC: fsl_ssi: Move DT related code to a separate probe()
  ASoC: fsl_ssi: Use ssi->streams instead of reading register

 sound/soc/fsl/fsl_ssi.c | 740 ++++++++++++++++++++++++------------------------
 1 file changed, 369 insertions(+), 371 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2018-02-22 13:17 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-11  6:42 [PATCH v2 00/16] ASoC: fsl_ssi: Clean up - program flow level Nicolin Chen
2018-01-11  6:43 ` [PATCH v2 01/16] ASoC: fsl_ssi: Keep ssi->i2s_net updated Nicolin Chen
2018-02-22 13:17   ` Applied "ASoC: fsl_ssi: Keep ssi->i2s_net updated" to the asoc tree Mark Brown
2018-01-11  6:43 ` [PATCH v2 02/16] ASoC: fsl_ssi: Clean up set_dai_tdm_slot() Nicolin Chen
2018-01-11  6:43 ` [PATCH v2 03/16] ASoC: fsl_ssi: Maintain a mask of active streams Nicolin Chen
2018-01-14 22:34   ` Maciej S. Szmigiero
2018-01-14 23:57     ` Nicolin Chen
2018-01-11  6:43 ` [PATCH v2 04/16] ASoC: fsl_ssi: Rename fsl_ssi_disable_val macro Nicolin Chen
2018-01-14 22:34   ` Maciej S. Szmigiero
2018-01-15  0:03     ` Nicolin Chen
2018-01-11  6:43 ` [PATCH v2 05/16] ASoC: fsl_ssi: Clear FIFO directly in fsl_ssi_config() Nicolin Chen
2018-01-11  6:43 ` [PATCH v2 06/16] ASoC: fsl_ssi: Clean up helper functions of trigger() Nicolin Chen
2018-01-14 22:37   ` Maciej S. Szmigiero
2018-01-11  6:43 ` [PATCH v2 07/16] ASoC: fsl_ssi: Add DAIFMT define for AC97 Nicolin Chen
2018-01-11  6:43 ` [PATCH v2 08/16] ASoC: fsl_ssi: Clean up fsl_ssi_setup_regvals() Nicolin Chen
2018-01-11  6:43 ` [PATCH v2 09/16] ASoC: fsl_ssi: Set xFEN0 and xFEN1 together Nicolin Chen
2018-01-11  6:43 ` [PATCH v2 10/16] ASoC: fsl_ssi: Use snd_soc_init_dma_data instead Nicolin Chen
2018-01-11  6:43 ` [PATCH v2 11/16] ASoC: fsl_ssi: Move one-time configurations to probe() Nicolin Chen
2018-01-11  6:43 ` [PATCH v2 12/16] ASoC: fsl_ssi: Setup AC97 in fsl_ssi_hw_init() Nicolin Chen
2018-01-11  6:43 ` [PATCH v2 13/16] ASoC: fsl_ssi: Clean up _fsl_ssi_set_dai_fmt() Nicolin Chen
2018-01-14 22:40   ` Maciej S. Szmigiero
2018-01-15  0:11     ` Nicolin Chen
2018-01-11  6:43 ` [PATCH v2 14/16] ASoC: fsl_ssi: Remove cpu_dai_drv from fsl_ssi structure Nicolin Chen
2018-01-14 22:42   ` Maciej S. Szmigiero
2018-01-15  0:13     ` Nicolin Chen
2018-01-11  6:43 ` [PATCH v2 15/16] ASoC: fsl_ssi: Move DT related code to a separate probe() Nicolin Chen
2018-01-11  6:43 ` [PATCH v2 16/16] ASoC: fsl_ssi: Use ssi->streams instead of reading register Nicolin Chen
2018-02-22 13:16   ` Applied "ASoC: fsl_ssi: Use ssi->streams instead of reading register" to the asoc tree Mark Brown
2018-01-12 17:35 ` [PATCH v2 00/16] ASoC: fsl_ssi: Clean up - program flow level Caleb Crome

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).