linux-mtd.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mtd: rawnand: rockchip: reject NVDDR timings when checked
@ 2024-05-18  3:31 Val Packett
  2024-05-18 10:44 ` Miquel Raynal
  0 siblings, 1 reply; 4+ messages in thread
From: Val Packett @ 2024-05-18  3:31 UTC (permalink / raw)
  Cc: Val Packett, Miquel Raynal, Richard Weinberger,
	Vignesh Raghavendra, Heiko Stuebner, Stephen Rothwell, linux-mtd,
	linux-arm-kernel, linux-rockchip, linux-kernel

.setup_interface first gets called with a negative "target" value
NAND_DATA_IFACE_CHECK_ONLY, in which case an error is expected
if the controller driver does not support the timing mode (NVDDR).

Signed-off-by: Val Packett <val@packett.cool>
---
Hello everyone, first Linux patch from a long time FreeBSD person :)

This was required to get the NAND controller to attach on the random
old RK3066 tablet I'm bringing up mainline on.
---
 drivers/mtd/nand/raw/rockchip-nand-controller.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/mtd/nand/raw/rockchip-nand-controller.c b/drivers/mtd/nand/raw/rockchip-nand-controller.c
index 7baaef69d..555804476 100644
--- a/drivers/mtd/nand/raw/rockchip-nand-controller.c
+++ b/drivers/mtd/nand/raw/rockchip-nand-controller.c
@@ -420,13 +420,13 @@ static int rk_nfc_setup_interface(struct nand_chip *chip, int target,
 	u32 rate, tc2rw, trwpw, trw2c;
 	u32 temp;
 
-	if (target < 0)
-		return 0;
-
 	timings = nand_get_sdr_timings(conf);
 	if (IS_ERR(timings))
 		return -EOPNOTSUPP;
 
+	if (target < 0)
+		return 0;
+
 	if (IS_ERR(nfc->nfc_clk))
 		rate = clk_get_rate(nfc->ahb_clk);
 	else
-- 
2.45.0


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

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

* Re: [PATCH] mtd: rawnand: rockchip: reject NVDDR timings when checked
  2024-05-18  3:31 [PATCH] mtd: rawnand: rockchip: reject NVDDR timings when checked Val Packett
@ 2024-05-18 10:44 ` Miquel Raynal
  2024-05-19  3:13   ` [PATCH v2] mtd: rawnand: rockchip: ensure NVDDR timings are rejected Val Packett
  0 siblings, 1 reply; 4+ messages in thread
From: Miquel Raynal @ 2024-05-18 10:44 UTC (permalink / raw)
  To: Val Packett
  Cc: Richard Weinberger, Vignesh Raghavendra, Heiko Stuebner,
	Stephen Rothwell, linux-mtd, linux-arm-kernel, linux-rockchip,
	linux-kernel

Hi Val,

I might propose a slightly different title which I think better
describes the situation:
"mtd: rawnand: rockchip: ensure NVDDR timings are rejected"

val@packett.cool wrote on Sat, 18 May 2024 00:31:13 -0300:

> .setup_interface first gets called with a negative "target" value

Just as an FYI, the fact that it is negative is an implementation
detail, but you mention the #define of the value below, so that's fine.
 
> NAND_DATA_IFACE_CHECK_ONLY, in which case an error is expected
> if the controller driver does not support the timing mode (NVDDR).
> 

Here I would welcome two tags in order to get this backported as early
as needed in stable kernels:

Cc: stable@vger.kernel.org
Fixes: a9ecc8c814e9 ("mtd: rawnand: Choose the best timings, NV-DDR included")

> Signed-off-by: Val Packett <val@packett.cool>
> ---
> Hello everyone, first Linux patch from a long time FreeBSD person :)
> 
> This was required to get the NAND controller to attach on the random
> old RK3066 tablet I'm bringing up mainline on.

Welcome! The fix looks right besides minor nits in the commit log. I'll
probably take the v2 when it's out after -rc1 has been tagged.

Thanks,
Miquèl

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

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

* [PATCH v2] mtd: rawnand: rockchip: ensure NVDDR timings are rejected
  2024-05-18 10:44 ` Miquel Raynal
@ 2024-05-19  3:13   ` Val Packett
  2024-05-27 12:14     ` Miquel Raynal
  0 siblings, 1 reply; 4+ messages in thread
From: Val Packett @ 2024-05-19  3:13 UTC (permalink / raw)
  Cc: Val Packett, stable, Miquel Raynal, Richard Weinberger,
	Vignesh Raghavendra, Heiko Stuebner, Stephen Rothwell, linux-mtd,
	linux-arm-kernel, linux-rockchip, linux-kernel

.setup_interface first gets called with a "target" value of
NAND_DATA_IFACE_CHECK_ONLY, in which case an error is expected
if the controller driver does not support the timing mode (NVDDR).

Fixes: a9ecc8c814e9 ("mtd: rawnand: Choose the best timings, NV-DDR included")
Signed-off-by: Val Packett <val@packett.cool>
Cc: stable@vger.kernel.org
---
 drivers/mtd/nand/raw/rockchip-nand-controller.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/mtd/nand/raw/rockchip-nand-controller.c b/drivers/mtd/nand/raw/rockchip-nand-controller.c
index 7baaef69d..555804476 100644
--- a/drivers/mtd/nand/raw/rockchip-nand-controller.c
+++ b/drivers/mtd/nand/raw/rockchip-nand-controller.c
@@ -420,13 +420,13 @@ static int rk_nfc_setup_interface(struct nand_chip *chip, int target,
 	u32 rate, tc2rw, trwpw, trw2c;
 	u32 temp;
 
-	if (target < 0)
-		return 0;
-
 	timings = nand_get_sdr_timings(conf);
 	if (IS_ERR(timings))
 		return -EOPNOTSUPP;
 
+	if (target < 0)
+		return 0;
+
 	if (IS_ERR(nfc->nfc_clk))
 		rate = clk_get_rate(nfc->ahb_clk);
 	else
-- 
2.45.0


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

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

* Re: [PATCH v2] mtd: rawnand: rockchip: ensure NVDDR timings are rejected
  2024-05-19  3:13   ` [PATCH v2] mtd: rawnand: rockchip: ensure NVDDR timings are rejected Val Packett
@ 2024-05-27 12:14     ` Miquel Raynal
  0 siblings, 0 replies; 4+ messages in thread
From: Miquel Raynal @ 2024-05-27 12:14 UTC (permalink / raw)
  To: Val Packett
  Cc: Miquel Raynal, stable, Richard Weinberger, Vignesh Raghavendra,
	Heiko Stuebner, Stephen Rothwell, linux-mtd, linux-arm-kernel,
	linux-rockchip, linux-kernel

On Sun, 2024-05-19 at 03:13:39 UTC, Val Packett wrote:
> .setup_interface first gets called with a "target" value of
> NAND_DATA_IFACE_CHECK_ONLY, in which case an error is expected
> if the controller driver does not support the timing mode (NVDDR).
> 
> Fixes: a9ecc8c814e9 ("mtd: rawnand: Choose the best timings, NV-DDR included")
> Signed-off-by: Val Packett <val@packett.cool>
> Cc: stable@vger.kernel.org

Applied to https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/fixes, thanks.

Miquel

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

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

end of thread, other threads:[~2024-05-27 12:15 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-18  3:31 [PATCH] mtd: rawnand: rockchip: reject NVDDR timings when checked Val Packett
2024-05-18 10:44 ` Miquel Raynal
2024-05-19  3:13   ` [PATCH v2] mtd: rawnand: rockchip: ensure NVDDR timings are rejected Val Packett
2024-05-27 12:14     ` Miquel Raynal

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