From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Paul Cercueil <paul.cercueil@bootlin.com>
Cc: Mark Brown <broonie@kernel.org>,
Pratyush Yadav <pratyush@kernel.org>,
Michael Walle <mwalle@kernel.org>,
Takahiro Kuwano <takahiro.kuwano@infineon.com>,
Richard Weinberger <richard@nod.at>,
Vignesh Raghavendra <vigneshr@ti.com>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
Kees Cook <kees@kernel.org>, Tony Luck <tony.luck@intel.com>,
"Guilherme G . Piccoli" <gpiccoli@igalia.com>,
linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-spi@vger.kernel.org, Tanmay Jagdale <tanmay@marvell.com>
Subject: Re: [PATCH 1/5] spi: spi-mem: Add support for panic mem writes
Date: Tue, 13 Oct 2026 10:38:26 +0200 [thread overview]
Message-ID: <87y0c2vvul.fsf@bootlin.com> (raw)
In-Reply-To: <5c94b88bf7123e5a32d5c4bd77217e6a40683c83.camel@bootlin.com> (Paul Cercueil's message of "Tue, 13 Oct 2026 10:25:07 +0200")
On 13/10/2026 at 10:25:07 +02, Paul Cercueil <paul.cercueil@bootlin.com> wrote:
> Hi Mark,
>
> Le jeudi 08 octobre 2026 à 10:32 +0200, Mark Brown a écrit :
>> On Mon, Oct 05, 2026 at 10:11:36AM +0200, Paul Cercueil wrote:
>> > From: Tanmay Jagdale <tanmay@marvell.com>
>> >
>> > Add a 'panic_write' flag to the controller's capabilities struct.
>> > When set, the SPI controller indicates that it will be able to send
>> > commands to a connected NOR or NAND memory in the context of a kernel
>> > panic, which means without sleeping and without relying on IRQs.
>>
>> > --- a/drivers/spi/spi-mem.c
>> > +++ b/drivers/spi/spi-mem.c
>> > @@ -398,6 +398,31 @@ int spi_mem_exec_op(struct spi_mem *mem, const struct
>> > spi_mem_op *op)
>> > u8 *tmpbuf;
>> > int ret;
>> >
>> > + if (op->panic_write) {
>> > + if (!spi_mem_controller_is_capable(ctlr, panic_write))
>> > + return -EOPNOTSUPP;
>> > + /*
>> > + * Only support panic writes if we'll go through
>> > .exec_op().
>> > + * The regular SPI path (spi_sync(), etc.) explicitly
>> > mentions
>> > + * that it can only be used from a context that may sleep,
>> > which
>> > + * is not the case on a kernel panic.
>> > + * If this changes in the future, this could be reworked,
>> > but
>> > + * for now this will have to do.
>> > + */
>>
>> This also needs to ensure that the queue is idle - we'll still execute
>> spi_mem_access_start() which flushes the queue, and we've got runtime PM
>> operations there which might be a bit challenging in a panic situation.
>
> Does it though? The kernel is panicking so the queue won't be processed anymore,
> it should be fine to just ignore it.
>
> ACK for the PM - I think in the V2 I'll just bail if the controller has auto-
> runtime-PM on.
Maybe pm_runtime_get_if_active()? If already active it returns 1 and
you can proceed.
Thanks,
Miquèl
WARNING: multiple messages have this Message-ID (diff)
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Paul Cercueil <paul.cercueil@bootlin.com>
Cc: Mark Brown <broonie@kernel.org>,
Pratyush Yadav <pratyush@kernel.org>,
Michael Walle <mwalle@kernel.org>,
Takahiro Kuwano <takahiro.kuwano@infineon.com>,
Richard Weinberger <richard@nod.at>,
Vignesh Raghavendra <vigneshr@ti.com>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
Kees Cook <kees@kernel.org>, Tony Luck <tony.luck@intel.com>,
"Guilherme G . Piccoli" <gpiccoli@igalia.com>,
linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-spi@vger.kernel.org, Tanmay Jagdale <tanmay@marvell.com>
Subject: Re: [PATCH 1/5] spi: spi-mem: Add support for panic mem writes
Date: Tue, 13 Oct 2026 10:38:26 +0200 [thread overview]
Message-ID: <87y0c2vvul.fsf@bootlin.com> (raw)
In-Reply-To: <5c94b88bf7123e5a32d5c4bd77217e6a40683c83.camel@bootlin.com> (Paul Cercueil's message of "Tue, 13 Oct 2026 10:25:07 +0200")
On 13/10/2026 at 10:25:07 +02, Paul Cercueil <paul.cercueil@bootlin.com> wrote:
> Hi Mark,
>
> Le jeudi 08 octobre 2026 à 10:32 +0200, Mark Brown a écrit :
>> On Mon, Oct 05, 2026 at 10:11:36AM +0200, Paul Cercueil wrote:
>> > From: Tanmay Jagdale <tanmay@marvell.com>
>> >
>> > Add a 'panic_write' flag to the controller's capabilities struct.
>> > When set, the SPI controller indicates that it will be able to send
>> > commands to a connected NOR or NAND memory in the context of a kernel
>> > panic, which means without sleeping and without relying on IRQs.
>>
>> > --- a/drivers/spi/spi-mem.c
>> > +++ b/drivers/spi/spi-mem.c
>> > @@ -398,6 +398,31 @@ int spi_mem_exec_op(struct spi_mem *mem, const struct
>> > spi_mem_op *op)
>> > u8 *tmpbuf;
>> > int ret;
>> >
>> > + if (op->panic_write) {
>> > + if (!spi_mem_controller_is_capable(ctlr, panic_write))
>> > + return -EOPNOTSUPP;
>> > + /*
>> > + * Only support panic writes if we'll go through
>> > .exec_op().
>> > + * The regular SPI path (spi_sync(), etc.) explicitly
>> > mentions
>> > + * that it can only be used from a context that may sleep,
>> > which
>> > + * is not the case on a kernel panic.
>> > + * If this changes in the future, this could be reworked,
>> > but
>> > + * for now this will have to do.
>> > + */
>>
>> This also needs to ensure that the queue is idle - we'll still execute
>> spi_mem_access_start() which flushes the queue, and we've got runtime PM
>> operations there which might be a bit challenging in a panic situation.
>
> Does it though? The kernel is panicking so the queue won't be processed anymore,
> it should be fine to just ignore it.
>
> ACK for the PM - I think in the V2 I'll just bail if the controller has auto-
> runtime-PM on.
Maybe pm_runtime_get_if_active()? If already active it returns 1 and
you can proceed.
Thanks,
Miquèl
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
next prev parent reply other threads:[~2026-10-13 8:38 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-05 8:11 [PATCH 0/5] spi: Add support for panic mem writes Paul Cercueil
2026-10-05 8:11 ` Paul Cercueil
2026-10-05 8:11 ` [PATCH 1/5] spi: spi-mem: " Paul Cercueil
2026-10-05 8:11 ` Paul Cercueil
2026-10-05 8:24 ` sashiko-bot
2026-10-05 8:24 ` sashiko-bot
2026-10-08 8:32 ` Mark Brown
2026-10-08 8:32 ` Mark Brown
2026-10-13 8:25 ` Paul Cercueil
2026-10-13 8:25 ` Paul Cercueil
2026-10-13 8:38 ` Miquel Raynal [this message]
2026-10-13 8:38 ` Miquel Raynal
2026-10-13 8:48 ` Paul Cercueil
2026-10-13 8:48 ` Paul Cercueil
2026-10-13 10:42 ` Mark Brown
2026-10-13 10:42 ` Mark Brown
2026-10-13 11:00 ` Paul Cercueil
2026-10-13 11:00 ` Paul Cercueil
2026-10-05 8:11 ` [PATCH 2/5] mtd: spi-nor: Add support for panic writes Paul Cercueil
2026-10-05 8:11 ` Paul Cercueil
2026-10-05 8:23 ` sashiko-bot
2026-10-05 8:23 ` sashiko-bot
2026-10-05 8:11 ` [PATCH 3/5] spi: cadence-xspi: Add irq-less support Paul Cercueil
2026-10-05 8:11 ` Paul Cercueil
2026-10-05 8:24 ` sashiko-bot
2026-10-05 8:24 ` sashiko-bot
2026-10-08 8:36 ` Mark Brown
2026-10-08 8:36 ` Mark Brown
2026-10-05 8:11 ` [PATCH 4/5] spi: cadence-xspi: Don't use infinite timeout in register poll Paul Cercueil
2026-10-05 8:11 ` Paul Cercueil
2026-10-05 8:21 ` sashiko-bot
2026-10-05 8:21 ` sashiko-bot
2026-10-05 8:11 ` [PATCH 5/5] spi: cadence-xspi: Add support for panic writes Paul Cercueil
2026-10-05 8:11 ` Paul Cercueil
2026-10-05 8:26 ` sashiko-bot
2026-10-05 8:26 ` sashiko-bot
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=87y0c2vvul.fsf@bootlin.com \
--to=miquel.raynal@bootlin.com \
--cc=broonie@kernel.org \
--cc=gpiccoli@igalia.com \
--cc=kees@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=paul.cercueil@bootlin.com \
--cc=pratyush@kernel.org \
--cc=richard@nod.at \
--cc=takahiro.kuwano@infineon.com \
--cc=tanmay@marvell.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=tony.luck@intel.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.