From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Santhosh Kumar K <s-k6@ti.com>
Cc: <broonie@kernel.org>, <robh@kernel.org>, <krzk+dt@kernel.org>,
<conor+dt@kernel.org>, <richard@nod.at>, <vigneshr@ti.com>,
<pratyush@kernel.org>, <mwalle@kernel.org>,
<takahiro.kuwano@infineon.com>, <linux-spi@vger.kernel.org>,
<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-mtd@lists.infradead.org>, <praneeth@ti.com>,
<u-kumar1@ti.com>, <a-dutta@ti.com>
Subject: Re: [PATCH v6 05/17] spi: spi-mem: add execute_tuning callback and spi_mem_execute_tuning()
Date: Wed, 29 Jul 2026 10:37:31 +0200 [thread overview]
Message-ID: <87qzkmmbsk.fsf@bootlin.com> (raw)
In-Reply-To: <20260723110219.3180747-6-s-k6@ti.com> (Santhosh Kumar K.'s message of "Thu, 23 Jul 2026 16:32:07 +0530")
Hello Santhosh,
On 23/07/2026 at 16:32:07 +0530, Santhosh Kumar K <s-k6@ti.com> wrote:
> Add an execute_tuning callback to struct spi_controller_mem_ops. The
> callback receives a mandatory read op template and an optional write op
> template. On success the controller sets op->max_freq in each provided
> template to the validated clock rate.
>
> Add the corresponding spi_mem_execute_tuning() wrapper that checks for
> callback availability and returns -EOPNOTSUPP when the controller has
> not implemented it, allowing callers to handle controllers that do not
> support tuning gracefully.
>
> Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
> Signed-off-by: Santhosh Kumar K <s-k6@ti.com>
Sashiko found two issues which I think are easy yet worth fixing:
- [High] spi_mem_execute_tuning() directly invokes the controller callback without acquiring the SPI bus locks or ensuring the controller is powered on.
- [High] spi_mem_execute_tuning() does not check if the SPI device is using a GPIO chip select before invoking the hardware tuning callback.
Can you please have a look?
Thanks,
Miquèl
WARNING: multiple messages have this Message-ID (diff)
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Santhosh Kumar K <s-k6@ti.com>
Cc: <broonie@kernel.org>, <robh@kernel.org>, <krzk+dt@kernel.org>,
<conor+dt@kernel.org>, <richard@nod.at>, <vigneshr@ti.com>,
<pratyush@kernel.org>, <mwalle@kernel.org>,
<takahiro.kuwano@infineon.com>, <linux-spi@vger.kernel.org>,
<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-mtd@lists.infradead.org>, <praneeth@ti.com>,
<u-kumar1@ti.com>, <a-dutta@ti.com>
Subject: Re: [PATCH v6 05/17] spi: spi-mem: add execute_tuning callback and spi_mem_execute_tuning()
Date: Wed, 29 Jul 2026 10:37:31 +0200 [thread overview]
Message-ID: <87qzkmmbsk.fsf@bootlin.com> (raw)
In-Reply-To: <20260723110219.3180747-6-s-k6@ti.com> (Santhosh Kumar K.'s message of "Thu, 23 Jul 2026 16:32:07 +0530")
Hello Santhosh,
On 23/07/2026 at 16:32:07 +0530, Santhosh Kumar K <s-k6@ti.com> wrote:
> Add an execute_tuning callback to struct spi_controller_mem_ops. The
> callback receives a mandatory read op template and an optional write op
> template. On success the controller sets op->max_freq in each provided
> template to the validated clock rate.
>
> Add the corresponding spi_mem_execute_tuning() wrapper that checks for
> callback availability and returns -EOPNOTSUPP when the controller has
> not implemented it, allowing callers to handle controllers that do not
> support tuning gracefully.
>
> Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
> Signed-off-by: Santhosh Kumar K <s-k6@ti.com>
Sashiko found two issues which I think are easy yet worth fixing:
- [High] spi_mem_execute_tuning() directly invokes the controller callback without acquiring the SPI bus locks or ensuring the controller is powered on.
- [High] spi_mem_execute_tuning() does not check if the SPI device is using a GPIO chip select before invoking the hardware tuning callback.
Can you please have a look?
Thanks,
Miquèl
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
next prev parent reply other threads:[~2026-07-29 8:37 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-23 11:02 [PATCH v6 00/17] spi: cadence-quadspi: add PHY tuning support Santhosh Kumar K
2026-07-23 11:02 ` Santhosh Kumar K
2026-07-23 11:02 ` [PATCH v6 01/17] spi: dt-bindings: add spi-max-post-config-frequency-hz property Santhosh Kumar K
2026-07-23 11:02 ` Santhosh Kumar K
2026-07-23 11:02 ` [PATCH v6 02/17] spi: dt-bindings: add spi-phy-pattern-partition property Santhosh Kumar K
2026-07-23 11:02 ` Santhosh Kumar K
2026-07-23 11:02 ` [PATCH v6 03/17] spi: parse spi-max-post-config-frequency-hz into post_config_max_speed_hz Santhosh Kumar K
2026-07-23 11:02 ` Santhosh Kumar K
2026-07-23 11:02 ` [PATCH v6 04/17] spi: spi-mem: teach spi_mem_adjust_op_freq() about post-config ops Santhosh Kumar K
2026-07-23 11:02 ` Santhosh Kumar K
2026-07-23 11:34 ` sashiko-bot
2026-07-29 8:40 ` Miquel Raynal
2026-07-23 11:02 ` [PATCH v6 05/17] spi: spi-mem: add execute_tuning callback and spi_mem_execute_tuning() Santhosh Kumar K
2026-07-23 11:02 ` Santhosh Kumar K
2026-07-23 11:30 ` sashiko-bot
2026-07-29 8:37 ` Miquel Raynal [this message]
2026-07-29 8:37 ` Miquel Raynal
2026-07-23 11:02 ` [PATCH v6 06/17] spi: cadence-quadspi: move cqspi_readdata_capture earlier Santhosh Kumar K
2026-07-23 11:02 ` Santhosh Kumar K
2026-07-23 11:02 ` [PATCH v6 07/17] spi: cadence-quadspi: add DQS support to read data capture Santhosh Kumar K
2026-07-23 11:02 ` Santhosh Kumar K
2026-07-23 11:28 ` sashiko-bot
2026-07-23 11:02 ` [PATCH v6 08/17] spi: cadence-quadspi: add PHY tuning support Santhosh Kumar K
2026-07-23 11:02 ` Santhosh Kumar K
2026-07-23 11:33 ` sashiko-bot
2026-07-23 11:02 ` [PATCH v6 09/17] spi: cadence-quadspi: skip DDR PHY tuning for 2-byte-address ops (i2383) Santhosh Kumar K
2026-07-23 11:02 ` Santhosh Kumar K
2026-07-23 11:48 ` sashiko-bot
2026-07-23 11:02 ` [PATCH v6 10/17] spi: cadence-quadspi: refactor direct read path for PHY support Santhosh Kumar K
2026-07-23 11:02 ` Santhosh Kumar K
2026-07-23 11:41 ` sashiko-bot
2026-07-23 11:02 ` [PATCH v6 11/17] spi: cadence-quadspi: enable PHY for direct reads Santhosh Kumar K
2026-07-23 11:02 ` Santhosh Kumar K
2026-07-23 11:48 ` sashiko-bot
2026-07-23 11:02 ` [PATCH v6 12/17] spi: cadence-quadspi: enable PHY for indirect writes Santhosh Kumar K
2026-07-23 11:02 ` Santhosh Kumar K
2026-07-23 11:44 ` sashiko-bot
2026-07-23 11:02 ` [PATCH v6 13/17] spi: cadence-quadspi: reprogram CS timing on every chip-select switch Santhosh Kumar K
2026-07-23 11:02 ` Santhosh Kumar K
2026-07-23 11:49 ` sashiko-bot
2026-07-23 11:02 ` [PATCH v6 14/17] mtd: spinand: extract variant ranking logic into spinand_op_find_best_variant() Santhosh Kumar K
2026-07-23 11:02 ` Santhosh Kumar K
2026-07-23 11:02 ` [PATCH v6 15/17] mtd: spinand: negotiate optimal controller operating point before dirmap creation Santhosh Kumar K
2026-07-23 11:02 ` Santhosh Kumar K
2026-07-23 12:02 ` sashiko-bot
2026-07-29 8:45 ` Miquel Raynal
2026-07-23 11:02 ` [PATCH v6 16/17] mtd: spi-nor: extract read op template construction into helper Santhosh Kumar K
2026-07-23 11:02 ` Santhosh Kumar K
2026-07-23 11:02 ` [PATCH v6 17/17] mtd: spi-nor: run controller optimization before dirmap creation Santhosh Kumar K
2026-07-23 11:02 ` Santhosh Kumar K
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=87qzkmmbsk.fsf@bootlin.com \
--to=miquel.raynal@bootlin.com \
--cc=a-dutta@ti.com \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-spi@vger.kernel.org \
--cc=mwalle@kernel.org \
--cc=praneeth@ti.com \
--cc=pratyush@kernel.org \
--cc=richard@nod.at \
--cc=robh@kernel.org \
--cc=s-k6@ti.com \
--cc=takahiro.kuwano@infineon.com \
--cc=u-kumar1@ti.com \
--cc=vigneshr@ti.com \
/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.