From: Esben Haabendal <esben@geanix.com>
To: "Michael Walle" <mwalle@kernel.org>
Cc: "Tudor Ambarus" <tudor.ambarus@linaro.org>,
"Pratyush Yadav" <pratyush@kernel.org>,
"Miquel Raynal" <miquel.raynal@bootlin.com>,
"Richard Weinberger" <richard@nod.at>,
"Vignesh Raghavendra" <vigneshr@ti.com>,
<linux-mtd@lists.infradead.org>, <linux-kernel@vger.kernel.org>,
"Rasmus Villemoes" <rasmus.villemoes@prevas.dk>
Subject: Re: [PATCH v2 1/2] mtd: spi-nor: core: add flag for doing optional SFDP
Date: Thu, 11 Jul 2024 13:55:57 +0200 [thread overview]
Message-ID: <87zfqoqh0y.fsf@geanix.com> (raw)
In-Reply-To: <D2ML6RG09T38.RZU3CCH0XD9I@kernel.org> (Michael Walle's message of "Thu, 11 Jul 2024 11:02:39 +0200")
"Michael Walle" <mwalle@kernel.org> writes:
>> > I actually had the same concern. But currently there is no
>> > non-deprecated way to handle this case, right?
>> >
>> > Right now we have the following cases:
>> > (1) pure SFDP parsing
>> > (2) non-SFDP flashes with static configuration only
>> > (3) legacy implementation, where the magic flags decide whether we
>> > use SFDP
>>
>> Actually, in the code we have two variants of 2.
>>
>> (2a) non-SFDP flashes with SPI_NOR_SKIP_SFDP set
>> (2b) non-SFDP flashes without SPI_NOR_SKIP_SFDP and with none of the
>> DUAL/QUAD/OCTAL read bits set
>
> Isn't (2b) my case (3)? The SPI_NOR_SKIP_SFDP flag was intended to
> be for flashes we know for a fact, there are no SFDP tables.
>
> I'm looking at spi_nor_init_params(). Maybe I'm missing something?
Probably not. I might just be confusing things here.
Your case (3) is conditional. Based on the magic flags checking in
spi_nor_init_params_deprecated(), it is either doing static
configuration only (this is what I tried to redefine as case (2b)) or
parsing SFDP with fallback to static configuration.
The issue I am getting at is that while the 2 different ways to end up
doing static configuration only is almost identical, there is a slight
difference.
But I will be addressing this in a v3 patch of this series.
Coming up shortly, and looking forward to discuss it.
/Esben
>> These almost handled the same way. But
>> spi_nor_manufacturer_init_params() is only called for 2b, and not for
>> 2a.
>>
>> Is this desired behavior, or something that we want to align?
>>
>> > Which case is eventually used depends on the ID of the flash -
>> > assuming there will only be IDs which either fall into (1) *or* (2).
>> > That assumption is clearly wrong :)
>> >
>> > I'd propose a new case in spi_nor_init_params()
>> > (4) try SFDP with a fallback to the static flags from the
>> > flash_info db.
>>
>> /Esben
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
WARNING: multiple messages have this Message-ID (diff)
From: Esben Haabendal <esben@geanix.com>
To: "Michael Walle" <mwalle@kernel.org>
Cc: "Tudor Ambarus" <tudor.ambarus@linaro.org>,
"Pratyush Yadav" <pratyush@kernel.org>,
"Miquel Raynal" <miquel.raynal@bootlin.com>,
"Richard Weinberger" <richard@nod.at>,
"Vignesh Raghavendra" <vigneshr@ti.com>,
<linux-mtd@lists.infradead.org>, <linux-kernel@vger.kernel.org>,
"Rasmus Villemoes" <rasmus.villemoes@prevas.dk>
Subject: Re: [PATCH v2 1/2] mtd: spi-nor: core: add flag for doing optional SFDP
Date: Thu, 11 Jul 2024 13:55:57 +0200 [thread overview]
Message-ID: <87zfqoqh0y.fsf@geanix.com> (raw)
In-Reply-To: <D2ML6RG09T38.RZU3CCH0XD9I@kernel.org> (Michael Walle's message of "Thu, 11 Jul 2024 11:02:39 +0200")
"Michael Walle" <mwalle@kernel.org> writes:
>> > I actually had the same concern. But currently there is no
>> > non-deprecated way to handle this case, right?
>> >
>> > Right now we have the following cases:
>> > (1) pure SFDP parsing
>> > (2) non-SFDP flashes with static configuration only
>> > (3) legacy implementation, where the magic flags decide whether we
>> > use SFDP
>>
>> Actually, in the code we have two variants of 2.
>>
>> (2a) non-SFDP flashes with SPI_NOR_SKIP_SFDP set
>> (2b) non-SFDP flashes without SPI_NOR_SKIP_SFDP and with none of the
>> DUAL/QUAD/OCTAL read bits set
>
> Isn't (2b) my case (3)? The SPI_NOR_SKIP_SFDP flag was intended to
> be for flashes we know for a fact, there are no SFDP tables.
>
> I'm looking at spi_nor_init_params(). Maybe I'm missing something?
Probably not. I might just be confusing things here.
Your case (3) is conditional. Based on the magic flags checking in
spi_nor_init_params_deprecated(), it is either doing static
configuration only (this is what I tried to redefine as case (2b)) or
parsing SFDP with fallback to static configuration.
The issue I am getting at is that while the 2 different ways to end up
doing static configuration only is almost identical, there is a slight
difference.
But I will be addressing this in a v3 patch of this series.
Coming up shortly, and looking forward to discuss it.
/Esben
>> These almost handled the same way. But
>> spi_nor_manufacturer_init_params() is only called for 2b, and not for
>> 2a.
>>
>> Is this desired behavior, or something that we want to align?
>>
>> > Which case is eventually used depends on the ID of the flash -
>> > assuming there will only be IDs which either fall into (1) *or* (2).
>> > That assumption is clearly wrong :)
>> >
>> > I'd propose a new case in spi_nor_init_params()
>> > (4) try SFDP with a fallback to the static flags from the
>> > flash_info db.
>>
>> /Esben
next prev parent reply other threads:[~2024-07-11 11:56 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-03 13:09 [PATCH v2 0/2] mtd: spi-nor: macronix: workaround for device id re-use Esben Haabendal
2024-06-03 13:09 ` Esben Haabendal
2024-06-03 13:09 ` [PATCH v2 1/2] mtd: spi-nor: core: add flag for doing optional SFDP Esben Haabendal
2024-06-03 13:09 ` Esben Haabendal
2024-06-06 13:31 ` Tudor Ambarus
2024-06-06 13:31 ` Tudor Ambarus
2024-06-06 13:59 ` Michael Walle
2024-06-06 13:59 ` Michael Walle
2024-06-06 14:52 ` Tudor Ambarus
2024-06-06 14:52 ` Tudor Ambarus
2024-06-06 15:06 ` Michael Walle
2024-06-06 15:06 ` Michael Walle
2024-06-06 17:20 ` Esben Haabendal
2024-06-06 17:20 ` Esben Haabendal
2024-06-07 9:22 ` Tudor Ambarus
2024-06-07 9:22 ` Tudor Ambarus
2024-06-07 13:30 ` Esben Haabendal
2024-06-07 13:30 ` Esben Haabendal
2024-06-12 8:51 ` Michael Walle
2024-06-12 8:51 ` Michael Walle
2024-06-06 17:20 ` Esben Haabendal
2024-06-06 17:20 ` Esben Haabendal
2024-07-10 18:42 ` Esben Haabendal
2024-07-10 18:42 ` Esben Haabendal
2024-07-11 9:02 ` Michael Walle
2024-07-11 9:02 ` Michael Walle
2024-07-11 11:55 ` Esben Haabendal [this message]
2024-07-11 11:55 ` Esben Haabendal
2024-06-06 17:13 ` Esben Haabendal
2024-06-06 17:13 ` Esben Haabendal
2024-06-03 13:09 ` [PATCH v2 2/2] mtd: spi-nor: macronix: enable quad/dual speed for mx25l3205d chips Esben Haabendal
2024-06-03 13:09 ` Esben Haabendal
2024-06-06 13:33 ` Tudor Ambarus
2024-06-06 13:33 ` Tudor Ambarus
2024-06-06 17:23 ` Esben Haabendal
2024-06-06 17:23 ` Esben Haabendal
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=87zfqoqh0y.fsf@geanix.com \
--to=esben@geanix.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=miquel.raynal@bootlin.com \
--cc=mwalle@kernel.org \
--cc=pratyush@kernel.org \
--cc=rasmus.villemoes@prevas.dk \
--cc=richard@nod.at \
--cc=tudor.ambarus@linaro.org \
--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.