linux-aspeed.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/27] spi-nand/spi-mem DTR support
@ 2024-12-24 17:05 Miquel Raynal
  2024-12-24 17:05 ` [PATCH v2 01/27] spi: spi-mem: Extend spi-mem operations with a per-operation maximum frequency Miquel Raynal
                   ` (27 more replies)
  0 siblings, 28 replies; 33+ messages in thread
From: Miquel Raynal @ 2024-12-24 17:05 UTC (permalink / raw)
  To: Mark Brown, Sanjay R Mehta, Serge Semin, Han Xu, Conor Dooley,
	Daire McNamara, Matthias Brugger, AngeloGioacchino Del Regno,
	Haibo Chen, Yogesh Gaur, Heiko Stuebner, Michal Simek,
	Miquel Raynal, Richard Weinberger, Vignesh Raghavendra,
	Jacky Huang, Shan-Chun Hung, Chin-Ting Kuo, Cédric Le Goater,
	Joel Stanley, Andrew Jeffery, Avi Fishman, Tomer Maimon,
	Tali Perry, Patrick Venture, Nancy Yuen, Benjamin Fair,
	Maxime Coquelin, Alexandre Torgue, Raju Rangoju
  Cc: Thomas Petazzoni, Steam Lin, linux-spi, linux-kernel, imx,
	linux-riscv, linux-arm-kernel, linux-mediatek, linux-rockchip,
	linux-mtd, linux-aspeed, openbmc, linux-stm32, Pratyush Yadav,
	Tudor Ambarus, stable+noautosel

Hello Mark, hello MTD folks,

Here is a (big) series supposed to bring DTR support in SPI-NAND.

I could have split this into two but I eventually preferred showing the
big picture. Once v1 will be over, I can make it two. However when we'll
discuss merging, we'll have to share an immutable tag among the two
subsystems.

Here is the logic:
* patches 1 & 2 add support for spi-mem operations with a specific
  frequency limitation. This is not only related to DTR support, because
  as you can see I could use this to support basic features in the
  Winbond driver.
* patches 3-17 are going through all the easy controller drivers, where
  effectively supporting these per-operation limitation was easy to
  do. In practice, I believe all controllers can, but software is
  sometimes the limiting factor. All controllers without spi-mem support
  will gracefully handle the request (provided that they already care
  about the maximum speed of course), and all the updated controllers in
  this series will also handle the situation correctly. For the others,
  it's an opt-in parameter, so they will simply refuse the operation
  during the checks_op/supports_op() phase.
* patches 18-20 add DTR support in spi-mem.
* patches 21-24 add DTR support in SPI-NAND.
* patches 25-27 add DTR support to Winbon chips.

---
Changes in v2:
- Fixed breakage reported by Mark.
- Created an "adjust_op_freq" helper in the core and used it from
  spi_mem_exec_op(). This way it is called only once. The main parameter
  must still be casted otherwise we would need to do the call outside of
  spi_mem_exec_op() which would imply about 40 different changes in the
  core and drivers and also the assurance that we would get it wrong
  again later.
- Reworked the logic for picking the best variant to include all
  subtleties due to maximum/supported frequencies. The choice takes
  slightly longer now but should return the truly fastest variant for
  each case.
- Removed unique parenthesis in some kdoc comment.
- Fixed the inconsistency when handling the maximum per operation
  frequencies between spi-mem and non spi-mem controllers.
- Fixed many typos.
- Added a core check to validate the per op frequency against the minimum
  supported frequencies by controller drivers.
- Removed a useless check from the amd driver and turned a function
  void. Also used the controller parameters in this driver rather than
  the top-level definitions.
- Clarified some of the commit logs.
- Collected tags.
- Prevented a patch from being picked-up automatically by the stable
  team.
- Reordered some terms in macros in the spi-mem core.
- Rebased on top of v6.13-rc1.
- Link to v1: https://lore.kernel.org/r/20241025161501.485684-1-miquel.raynal@bootlin.com

---
Miquel Raynal (27):
      spi: spi-mem: Extend spi-mem operations with a per-operation maximum frequency
      spi: spi-mem: Add a new controller capability
      spi: amd: Support per spi-mem operation frequency switches
      spi: amd: Drop redundant check
      spi: amlogic-spifc-a1: Support per spi-mem operation frequency switches
      spi: cadence-qspi: Support per spi-mem operation frequency switches
      spi: dw: Support per spi-mem operation frequency switches
      spi: fsl-qspi: Support per spi-mem operation frequency switches
      spi: microchip-core-qspi: Support per spi-mem operation frequency switches
      spi: mt65xx: Support per spi-mem operation frequency switches
      spi: mxic: Support per spi-mem operation frequency switches
      spi: nxp-fspi: Support per spi-mem operation frequency switches
      spi: rockchip-sfc: Support per spi-mem operation frequency switches
      spi: spi-sn-f-ospi: Support per spi-mem operation frequency switches
      spi: spi-ti-qspi: Support per spi-mem operation frequency switches
      spi: zynq-qspi: Support per spi-mem operation frequency switches
      spi: zynqmp-gqspi: Support per spi-mem operation frequency switches
      spi: spi-mem: Reorder spi-mem macro assignments
      spi: spi-mem: Create macros for DTR operation
      spi: spi-mem: Estimate the time taken by operations
      mtd: spinand: Create distinct fast and slow read from cache variants
      mtd: spinand: Add an optional frequency to read from cache macros
      mtd: spinand: Enhance the logic when picking a variant
      mtd: spinand: Add support for read DTR operations
      mtd: spinand: winbond: Update the *JW chip definitions
      mtd: spinand: winbond: Add comment about naming
      mtd: spinand: winbond: Add support for DTR operations

 drivers/mtd/nand/spi/alliancememory.c |  4 +--
 drivers/mtd/nand/spi/ato.c            |  4 +--
 drivers/mtd/nand/spi/core.c           | 15 ++++++--
 drivers/mtd/nand/spi/esmt.c           |  4 +--
 drivers/mtd/nand/spi/foresee.c        |  4 +--
 drivers/mtd/nand/spi/gigadevice.c     | 16 ++++-----
 drivers/mtd/nand/spi/macronix.c       |  4 +--
 drivers/mtd/nand/spi/micron.c         |  8 ++---
 drivers/mtd/nand/spi/paragon.c        |  4 +--
 drivers/mtd/nand/spi/toshiba.c        |  4 +--
 drivers/mtd/nand/spi/winbond.c        | 27 ++++++++++++---
 drivers/mtd/nand/spi/xtx.c            |  4 +--
 drivers/spi/spi-amd.c                 | 21 ++++++------
 drivers/spi/spi-amlogic-spifc-a1.c    |  7 +++-
 drivers/spi/spi-cadence-quadspi.c     |  3 +-
 drivers/spi/spi-dw-core.c             | 10 ++++--
 drivers/spi/spi-fsl-qspi.c            | 12 +++++--
 drivers/spi/spi-mem.c                 | 64 +++++++++++++++++++++++++++++++++++
 drivers/spi/spi-microchip-core-qspi.c | 26 +++++++++++---
 drivers/spi/spi-mt65xx.c              |  7 +++-
 drivers/spi/spi-mxic.c                |  3 +-
 drivers/spi/spi-nxp-fspi.c            | 12 +++++--
 drivers/spi/spi-rockchip-sfc.c        | 11 ++++--
 drivers/spi/spi-sn-f-ospi.c           |  8 +++--
 drivers/spi/spi-ti-qspi.c             |  7 +++-
 drivers/spi/spi-zynq-qspi.c           | 13 +++++--
 drivers/spi/spi-zynqmp-gqspi.c        | 13 ++++---
 include/linux/mtd/spinand.h           | 58 ++++++++++++++++++++++++++++---
 include/linux/spi/spi-mem.h           | 56 +++++++++++++++++++++++++++++-
 29 files changed, 349 insertions(+), 80 deletions(-)
---
base-commit: 9100187b36091e5cc046d1f415f50a04ec31c25f
change-id: 20241210-winbond-6-11-rc1-quad-support-0148205a21a2

Best regards,
-- 
Miquel Raynal <miquel.raynal@bootlin.com>



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

end of thread, other threads:[~2025-01-10 15:47 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-24 17:05 [PATCH v2 00/27] spi-nand/spi-mem DTR support Miquel Raynal
2024-12-24 17:05 ` [PATCH v2 01/27] spi: spi-mem: Extend spi-mem operations with a per-operation maximum frequency Miquel Raynal
2024-12-24 17:05 ` [PATCH v2 02/27] spi: spi-mem: Add a new controller capability Miquel Raynal
2024-12-24 17:05 ` [PATCH v2 03/27] spi: amd: Support per spi-mem operation frequency switches Miquel Raynal
2024-12-24 17:05 ` [PATCH v2 04/27] spi: amd: Drop redundant check Miquel Raynal
2024-12-24 17:05 ` [PATCH v2 05/27] spi: amlogic-spifc-a1: Support per spi-mem operation frequency switches Miquel Raynal
2024-12-24 17:05 ` [PATCH v2 06/27] spi: cadence-qspi: " Miquel Raynal
2024-12-24 17:05 ` [PATCH v2 07/27] spi: dw: " Miquel Raynal
2024-12-24 17:05 ` [PATCH v2 08/27] spi: fsl-qspi: " Miquel Raynal
2024-12-24 17:05 ` [PATCH v2 09/27] spi: microchip-core-qspi: " Miquel Raynal
2024-12-24 17:05 ` [PATCH v2 10/27] spi: mt65xx: " Miquel Raynal
2024-12-24 17:05 ` [PATCH v2 11/27] spi: mxic: " Miquel Raynal
2024-12-24 17:05 ` [PATCH v2 12/27] spi: nxp-fspi: " Miquel Raynal
2024-12-24 17:05 ` [PATCH v2 13/27] spi: rockchip-sfc: " Miquel Raynal
2024-12-24 17:05 ` [PATCH v2 14/27] spi: spi-sn-f-ospi: " Miquel Raynal
2024-12-24 17:06 ` [PATCH v2 15/27] spi: spi-ti-qspi: " Miquel Raynal
2024-12-24 17:06 ` [PATCH v2 16/27] spi: zynq-qspi: " Miquel Raynal
2024-12-24 17:06 ` [PATCH v2 17/27] spi: zynqmp-gqspi: " Miquel Raynal
2024-12-24 17:06 ` [PATCH v2 18/27] spi: spi-mem: Reorder spi-mem macro assignments Miquel Raynal
2024-12-24 17:06 ` [PATCH v2 19/27] spi: spi-mem: Create macros for DTR operation Miquel Raynal
2024-12-24 17:06 ` [PATCH v2 20/27] spi: spi-mem: Estimate the time taken by operations Miquel Raynal
2025-01-10 12:42   ` Mark Brown
2025-01-10 14:37     ` Miquel Raynal
2025-01-10 14:52       ` Mark Brown
2025-01-10 15:06         ` Miquel Raynal
2024-12-24 17:06 ` [PATCH v2 21/27] mtd: spinand: Create distinct fast and slow read from cache variants Miquel Raynal
2024-12-24 17:06 ` [PATCH v2 22/27] mtd: spinand: Add an optional frequency to read from cache macros Miquel Raynal
2024-12-24 17:06 ` [PATCH v2 23/27] mtd: spinand: Enhance the logic when picking a variant Miquel Raynal
2024-12-24 17:06 ` [PATCH v2 24/27] mtd: spinand: Add support for read DTR operations Miquel Raynal
2024-12-24 17:06 ` [PATCH v2 25/27] mtd: spinand: winbond: Update the *JW chip definitions Miquel Raynal
2024-12-24 17:06 ` [PATCH v2 26/27] mtd: spinand: winbond: Add comment about naming Miquel Raynal
2024-12-24 17:06 ` [PATCH v2 27/27] mtd: spinand: winbond: Add support for DTR operations Miquel Raynal
2025-01-10 15:47 ` (subset) [PATCH v2 00/27] spi-nand/spi-mem DTR support Mark Brown

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