All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Rokosov <ddrokosov@salutedevices.com>
To: <quic_sridsn@quicinc.com>, <quic_mdalam@quicinc.com>,
	<ezra@easyb.ch>, <gch981213@gmail.com>,
	<miquel.raynal@bootlin.com>, <richard@nod.at>,
	<sashal@kernel.org>, <gregkh@linuxfoundation.org>,
	<vigneshr@ti.com>
Cc: <kernel@salutedevices.com>, <rockosov@gmail.com>,
	<linux-kernel@vger.kernel.org>, <linux-mtd@lists.infradead.org>,
	Ezra Buehler <ezra.buehler@husqvarnagroup.com>,
	<stable@vger.kernel.org>,
	Martin Kurbanov <mmkurbanov@salutedevices.com>,
	Dmitry Rokosov <ddrokosov@salutedevices.com>
Subject: [PATCH v1] mtd: spinand: Add support for 5-byte IDs
Date: Thu, 4 Apr 2024 15:15:21 +0300	[thread overview]
Message-ID: <20240404121532.14755-1-ddrokosov@salutedevices.com> (raw)

From: Ezra Buehler <ezra.buehler@husqvarnagroup.com>

[ Upstream commit 34a956739d295de6010cdaafeed698ccbba87ea4 ]

E.g. ESMT chips will return an identification code with a length of 5
bytes. In order to prevent ambiguity, flash chips would actually need to
return IDs that are up to 17 or more bytes long due to JEDEC's
continuation scheme. I understand that if a manufacturer ID is located
in bank N of JEDEC's database (there are currently 16 banks), N - 1
continuation codes (7Fh) need to be added to the identification code
(comprising of manufacturer ID and device ID). However, most flash chip
manufacturers don't seem to implement this (correctly).

Cc: <stable@vger.kernel.org> # 6.6.23
Cc: <stable@vger.kernel.org> # 6.7.11
Cc: <stable@vger.kernel.org> # 6.8.2
Signed-off-by: Ezra Buehler <ezra.buehler@husqvarnagroup.com>
Reviewed-by: Martin Kurbanov <mmkurbanov@salutedevices.com>
Tested-by: Martin Kurbanov <mmkurbanov@salutedevices.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20240125200108.24374-2-ezra@easyb.ch
Signed-off-by: Dmitry Rokosov <ddrokosov@salutedevices.com>
---

In the patch series [1] only one patch was marked with Fixes tag, that's
why the secon patch was not applied to 6.6.y, 6.7.y and 6.8y. It breaks
ESMT detection flow with logs:

[    0.770730] spi-nand spi0.0: unknown raw ID c8017f7f
[    0.772688] spi-nand: probe of spi0.0 failed with error -524

Please cherry-pick the second patch from the series to 6.6.y, 6.7.y and
6.8.y.

Links:
    [1] https://lore.kernel.org/linux-mtd/20240125200108.24374-1-ezra@easyb.ch/

---
 include/linux/mtd/spinand.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/mtd/spinand.h b/include/linux/mtd/spinand.h
index badb4c1ac079..5c19ead60499 100644
--- a/include/linux/mtd/spinand.h
+++ b/include/linux/mtd/spinand.h
@@ -169,7 +169,7 @@
 struct spinand_op;
 struct spinand_device;
 
-#define SPINAND_MAX_ID_LEN	4
+#define SPINAND_MAX_ID_LEN	5
 /*
  * For erase, write and read operation, we got the following timings :
  * tBERS (erase) 1ms to 4ms
-- 
2.43.0


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

WARNING: multiple messages have this Message-ID (diff)
From: Dmitry Rokosov <ddrokosov@salutedevices.com>
To: <quic_sridsn@quicinc.com>, <quic_mdalam@quicinc.com>,
	<ezra@easyb.ch>, <gch981213@gmail.com>,
	<miquel.raynal@bootlin.com>, <richard@nod.at>,
	<sashal@kernel.org>, <gregkh@linuxfoundation.org>,
	<vigneshr@ti.com>
Cc: <kernel@salutedevices.com>, <rockosov@gmail.com>,
	<linux-kernel@vger.kernel.org>, <linux-mtd@lists.infradead.org>,
	Ezra Buehler <ezra.buehler@husqvarnagroup.com>,
	<stable@vger.kernel.org>,
	Martin Kurbanov <mmkurbanov@salutedevices.com>,
	Dmitry Rokosov <ddrokosov@salutedevices.com>
Subject: [PATCH v1] mtd: spinand: Add support for 5-byte IDs
Date: Thu, 4 Apr 2024 15:15:21 +0300	[thread overview]
Message-ID: <20240404121532.14755-1-ddrokosov@salutedevices.com> (raw)

From: Ezra Buehler <ezra.buehler@husqvarnagroup.com>

[ Upstream commit 34a956739d295de6010cdaafeed698ccbba87ea4 ]

E.g. ESMT chips will return an identification code with a length of 5
bytes. In order to prevent ambiguity, flash chips would actually need to
return IDs that are up to 17 or more bytes long due to JEDEC's
continuation scheme. I understand that if a manufacturer ID is located
in bank N of JEDEC's database (there are currently 16 banks), N - 1
continuation codes (7Fh) need to be added to the identification code
(comprising of manufacturer ID and device ID). However, most flash chip
manufacturers don't seem to implement this (correctly).

Cc: <stable@vger.kernel.org> # 6.6.23
Cc: <stable@vger.kernel.org> # 6.7.11
Cc: <stable@vger.kernel.org> # 6.8.2
Signed-off-by: Ezra Buehler <ezra.buehler@husqvarnagroup.com>
Reviewed-by: Martin Kurbanov <mmkurbanov@salutedevices.com>
Tested-by: Martin Kurbanov <mmkurbanov@salutedevices.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20240125200108.24374-2-ezra@easyb.ch
Signed-off-by: Dmitry Rokosov <ddrokosov@salutedevices.com>
---

In the patch series [1] only one patch was marked with Fixes tag, that's
why the secon patch was not applied to 6.6.y, 6.7.y and 6.8y. It breaks
ESMT detection flow with logs:

[    0.770730] spi-nand spi0.0: unknown raw ID c8017f7f
[    0.772688] spi-nand: probe of spi0.0 failed with error -524

Please cherry-pick the second patch from the series to 6.6.y, 6.7.y and
6.8.y.

Links:
    [1] https://lore.kernel.org/linux-mtd/20240125200108.24374-1-ezra@easyb.ch/

---
 include/linux/mtd/spinand.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/mtd/spinand.h b/include/linux/mtd/spinand.h
index badb4c1ac079..5c19ead60499 100644
--- a/include/linux/mtd/spinand.h
+++ b/include/linux/mtd/spinand.h
@@ -169,7 +169,7 @@
 struct spinand_op;
 struct spinand_device;
 
-#define SPINAND_MAX_ID_LEN	4
+#define SPINAND_MAX_ID_LEN	5
 /*
  * For erase, write and read operation, we got the following timings :
  * tBERS (erase) 1ms to 4ms
-- 
2.43.0


             reply	other threads:[~2024-04-04 12:16 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-04 12:15 Dmitry Rokosov [this message]
2024-04-04 12:15 ` [PATCH v1] mtd: spinand: Add support for 5-byte IDs Dmitry Rokosov
2024-04-05  6:37 ` Greg KH
2024-04-05  6:37   ` Greg KH
2024-04-05  9:03   ` Dmitry Rokosov
2024-04-05  9:03     ` Dmitry Rokosov

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=20240404121532.14755-1-ddrokosov@salutedevices.com \
    --to=ddrokosov@salutedevices.com \
    --cc=ezra.buehler@husqvarnagroup.com \
    --cc=ezra@easyb.ch \
    --cc=gch981213@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=kernel@salutedevices.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=miquel.raynal@bootlin.com \
    --cc=mmkurbanov@salutedevices.com \
    --cc=quic_mdalam@quicinc.com \
    --cc=quic_sridsn@quicinc.com \
    --cc=richard@nod.at \
    --cc=rockosov@gmail.com \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.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.