All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nicolin Chen <nicoleotsuka@gmail.com>
To: broonie@kernel.org, timur@tabi.org
Cc: caleb@crome.org, mail@maciej.szmigiero.name,
	fabio.estevam@nxp.com, alsa-devel@alsa-project.org,
	linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
	lgirdwood@gmail.com, arnaud.mouiche@invoxia.com, lukma@denx.de,
	kernel@pengutronix.de
Subject: [PATCH v6 00/17] ASoC: fsl_ssi: Clean up - program flow level
Date: Mon, 12 Feb 2018 14:03:08 -0800	[thread overview]
Message-ID: <1518473005-14090-1-git-send-email-nicoleotsuka@gmail.com> (raw)

[ The v6 just rebased the series and fixed the comments in probe().
  There is no need to re-test it except the uncovered tests listed
  at the end of this cover letter.
  
  Timur, these patches have been in the list for quite a long time
  and there has been no review for nearly a month since last ver.
  Would you please give a review and send an ack? Thanks a lot. ]

==Change log==
v6
 * Added Tested-by and Reviewed-by from Maciej.
 * Fixed one line of comments in the probe() suggested by Maciej.
 * Rebased all patches since there's a change of fsl_ssi merged
   recently.
v5
 * Reworked the series by taking suggestions from Maciej for AC97
   + Fixed SSI lockup issue by changing cleanup sequence in PATCH-13
   + Moved fsl_ssi_hw_clean() after unregistering the CODEC device
     in PATCH-13
   + Set NULL as the parent of CODEC platform device to fix a NULL
     pointer dereference bug in PATCH-16
 * Updated comments of three variables/pointers in struct fsl_ssi
   to describe them more accurately in PATCH-16
v4
 * Reworked the series by taking suggestions from Maciej
   + Added TXBIT0 bit back to play safe in PATCH-14
   + Made bool synchronous exclusive with AC97 mode in PATCH-16
v3
 * Reworked the series by taking suggestions from Maciej
   + Added PATCH-01 to make RX and TX more clearly defined
   + Replaced "bool dir" with "int dir" in PATCH-04
   + Replaced "!dir" with "int adir" in PATCH-05
   + Put CBM_CFS behind the baudclk check to keep the same
     program flow in PATCH-14
   + Removed all cpu_dai_drv changes in PATCH-15
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 to be 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 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: 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: Add bool synchronous to mark synchronous mode
  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 | 756 +++++++++++++++++++++++++-----------------------
 sound/soc/fsl/fsl_ssi.h |   3 -
 2 files changed, 395 insertions(+), 364 deletions(-)

-- 
2.1.4

             reply	other threads:[~2018-02-12 22:02 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-12 22:03 Nicolin Chen [this message]
2018-02-12 22:03 ` [PATCH v6 01/17] ASoC: fsl_ssi: Redefine RX and TX macros Nicolin Chen
2018-02-12 22:03   ` Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 02/17] ASoC: fsl_ssi: Keep ssi->i2s_net updated Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 03/17] ASoC: fsl_ssi: Clean up set_dai_tdm_slot() Nicolin Chen
2018-02-12 22:03   ` Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 04/17] ASoC: fsl_ssi: Maintain a mask of active streams Nicolin Chen
2018-02-12 22:03   ` Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 05/17] ASoC: fsl_ssi: Rename fsl_ssi_disable_val macro Nicolin Chen
2018-02-12 22:03   ` Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 06/17] ASoC: fsl_ssi: Clear FIFO directly in fsl_ssi_config() Nicolin Chen
2018-02-12 22:03   ` Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 07/17] ASoC: fsl_ssi: Clean up helper functions of trigger() Nicolin Chen
2018-02-12 22:03   ` Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 08/17] ASoC: fsl_ssi: Add DAIFMT define for AC97 Nicolin Chen
2018-02-12 22:03   ` Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 09/17] ASoC: fsl_ssi: Clean up fsl_ssi_setup_regvals() Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 10/17] ASoC: fsl_ssi: Set xFEN0 and xFEN1 together Nicolin Chen
2018-02-12 22:03   ` Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 11/17] ASoC: fsl_ssi: Use snd_soc_init_dma_data instead Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 12/17] ASoC: fsl_ssi: Move one-time configurations to probe() Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 13/17] ASoC: fsl_ssi: Setup AC97 in fsl_ssi_hw_init() Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 14/17] ASoC: fsl_ssi: Clean up _fsl_ssi_set_dai_fmt() Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 15/17] ASoC: fsl_ssi: Add bool synchronous to mark synchronous mode Nicolin Chen
2018-02-12 22:03 ` [PATCH v6 16/17] ASoC: fsl_ssi: Move DT related code to a separate probe() Nicolin Chen
2018-02-22 13:16   ` Applied "ASoC: fsl_ssi: Move DT related code to a separate probe()" to the asoc tree Mark Brown
2018-02-22 13:16     ` Mark Brown
2018-02-12 22:03 ` [PATCH v6 17/17] ASoC: fsl_ssi: Use ssi->streams instead of reading register Nicolin Chen

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=1518473005-14090-1-git-send-email-nicoleotsuka@gmail.com \
    --to=nicoleotsuka@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=arnaud.mouiche@invoxia.com \
    --cc=broonie@kernel.org \
    --cc=caleb@crome.org \
    --cc=fabio.estevam@nxp.com \
    --cc=kernel@pengutronix.de \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=lukma@denx.de \
    --cc=mail@maciej.szmigiero.name \
    --cc=timur@tabi.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.