All of lore.kernel.org
 help / color / mirror / Atom feed
* mtd: rawnand: brcmnand: exec_op patch broke < v5.0 controllers
@ 2025-05-11  9:42 ` Álvaro Fernández Rojas
  0 siblings, 0 replies; 4+ messages in thread
From: Álvaro Fernández Rojas @ 2025-05-11  9:42 UTC (permalink / raw)
  To: dregan, Miquel Raynal, bcm-kernel-feedback-list, MTD Maling List,
	Florian Fainelli, Rafał Miłecki, joel.peshkin,
	Brian Norris, dan.beygelman, William Zhang, frieder.schrempf,
	Linux Kernel Mailing List, Vignesh R, Richard Weinberger,
	bbrezillon, Kamal Dasu, liao jaime, kilobyte, Jonas Gorski,
	dgcbueu

Hi David,

I've just realized that your exec_op implementation patch broke
support of v2.1, v2.2 and v4.0 controllers.
https://github.com/torvalds/linux/commit/3c8260ce76634291aed877032a41e373884d69e4
https://patchwork.ozlabs.org/project/linux-mtd/patch/20231125012438.15191-4-dregan@broadcom.com/
I know it's an old patch from 6.8 but I just discovered this while
trying to add 6.12 support for bmips on OpenWrt (from 6.6):
https://github.com/openwrt/openwrt/pull/18746

The issue is that low level ops always return 0 on v4.0 controllers
and v2.1/v2.2 controllers don't even have the low level registers
defined:
https://github.com/torvalds/linux/blob/3ce9925823c7d6bb0e6eb951bf2db0e9e182582d/drivers/mtd/nand/raw/brcmnand/brcmnand.c#L357
https://github.com/torvalds/linux/blob/3ce9925823c7d6bb0e6eb951bf2db0e9e182582d/drivers/mtd/nand/raw/brcmnand/brcmnand.c#L371

I guess that restoring the legacy functions isn't going to happen, but
is it possible to restore < v5.0 compatibility on the new exec_op
implementation?

Best regards,
Álvaro.

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

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

* mtd: rawnand: brcmnand: exec_op patch broke < v5.0 controllers
@ 2025-05-11  9:42 ` Álvaro Fernández Rojas
  0 siblings, 0 replies; 4+ messages in thread
From: Álvaro Fernández Rojas @ 2025-05-11  9:42 UTC (permalink / raw)
  To: dregan, Miquel Raynal, bcm-kernel-feedback-list, MTD Maling List,
	Florian Fainelli, Rafał Miłecki, joel.peshkin,
	Brian Norris, dan.beygelman, William Zhang, frieder.schrempf,
	Linux Kernel Mailing List, Vignesh R, Richard Weinberger,
	bbrezillon, Kamal Dasu, liao jaime, kilobyte, Jonas Gorski,
	dgcbueu

Hi David,

I've just realized that your exec_op implementation patch broke
support of v2.1, v2.2 and v4.0 controllers.
https://github.com/torvalds/linux/commit/3c8260ce76634291aed877032a41e373884d69e4
https://patchwork.ozlabs.org/project/linux-mtd/patch/20231125012438.15191-4-dregan@broadcom.com/
I know it's an old patch from 6.8 but I just discovered this while
trying to add 6.12 support for bmips on OpenWrt (from 6.6):
https://github.com/openwrt/openwrt/pull/18746

The issue is that low level ops always return 0 on v4.0 controllers
and v2.1/v2.2 controllers don't even have the low level registers
defined:
https://github.com/torvalds/linux/blob/3ce9925823c7d6bb0e6eb951bf2db0e9e182582d/drivers/mtd/nand/raw/brcmnand/brcmnand.c#L357
https://github.com/torvalds/linux/blob/3ce9925823c7d6bb0e6eb951bf2db0e9e182582d/drivers/mtd/nand/raw/brcmnand/brcmnand.c#L371

I guess that restoring the legacy functions isn't going to happen, but
is it possible to restore < v5.0 compatibility on the new exec_op
implementation?

Best regards,
Álvaro.

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

* Re: mtd: rawnand: brcmnand: exec_op patch broke < v5.0 controllers
  2025-05-11  9:42 ` Álvaro Fernández Rojas
@ 2025-05-12 14:38   ` Florian Fainelli
  -1 siblings, 0 replies; 4+ messages in thread
From: Florian Fainelli @ 2025-05-12 14:38 UTC (permalink / raw)
  To: Álvaro Fernández Rojas, dregan, Miquel Raynal,
	bcm-kernel-feedback-list, MTD Maling List,
	Rafał Miłecki, Brian Norris, dan.beygelman,
	William Zhang, frieder.schrempf, Linux Kernel Mailing List,
	Vignesh R, Richard Weinberger, bbrezillon, Kamal Dasu, liao jaime,
	kilobyte, Jonas Gorski, dgcbueu



On 5/11/2025 11:42 AM, Álvaro Fernández Rojas wrote:
> Hi David,
> 
> I've just realized that your exec_op implementation patch broke
> support of v2.1, v2.2 and v4.0 controllers.
> https://github.com/torvalds/linux/commit/3c8260ce76634291aed877032a41e373884d69e4
> https://patchwork.ozlabs.org/project/linux-mtd/patch/20231125012438.15191-4-dregan@broadcom.com/
> I know it's an old patch from 6.8 but I just discovered this while
> trying to add 6.12 support for bmips on OpenWrt (from 6.6):
> https://github.com/openwrt/openwrt/pull/18746
> 
> The issue is that low level ops always return 0 on v4.0 controllers
> and v2.1/v2.2 controllers don't even have the low level registers
> defined:
> https://github.com/torvalds/linux/blob/3ce9925823c7d6bb0e6eb951bf2db0e9e182582d/drivers/mtd/nand/raw/brcmnand/brcmnand.c#L357
> https://github.com/torvalds/linux/blob/3ce9925823c7d6bb0e6eb951bf2db0e9e182582d/drivers/mtd/nand/raw/brcmnand/brcmnand.c#L371
> 
> I guess that restoring the legacy functions isn't going to happen, but
> is it possible to restore < v5.0 compatibility on the new exec_op
> implementation?

Unfortunately, I don't think we have any other choice unless we want to 
have a functional NAND driver for these older chips. Would you be 
willing to do that? Thanks
-- 
Florian


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

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

* Re: mtd: rawnand: brcmnand: exec_op patch broke < v5.0 controllers
@ 2025-05-12 14:38   ` Florian Fainelli
  0 siblings, 0 replies; 4+ messages in thread
From: Florian Fainelli @ 2025-05-12 14:38 UTC (permalink / raw)
  To: Álvaro Fernández Rojas, dregan, Miquel Raynal,
	bcm-kernel-feedback-list, MTD Maling List,
	Rafał Miłecki, Brian Norris, dan.beygelman,
	William Zhang, frieder.schrempf, Linux Kernel Mailing List,
	Vignesh R, Richard Weinberger, bbrezillon, Kamal Dasu, liao jaime,
	kilobyte, Jonas Gorski, dgcbueu



On 5/11/2025 11:42 AM, Álvaro Fernández Rojas wrote:
> Hi David,
> 
> I've just realized that your exec_op implementation patch broke
> support of v2.1, v2.2 and v4.0 controllers.
> https://github.com/torvalds/linux/commit/3c8260ce76634291aed877032a41e373884d69e4
> https://patchwork.ozlabs.org/project/linux-mtd/patch/20231125012438.15191-4-dregan@broadcom.com/
> I know it's an old patch from 6.8 but I just discovered this while
> trying to add 6.12 support for bmips on OpenWrt (from 6.6):
> https://github.com/openwrt/openwrt/pull/18746
> 
> The issue is that low level ops always return 0 on v4.0 controllers
> and v2.1/v2.2 controllers don't even have the low level registers
> defined:
> https://github.com/torvalds/linux/blob/3ce9925823c7d6bb0e6eb951bf2db0e9e182582d/drivers/mtd/nand/raw/brcmnand/brcmnand.c#L357
> https://github.com/torvalds/linux/blob/3ce9925823c7d6bb0e6eb951bf2db0e9e182582d/drivers/mtd/nand/raw/brcmnand/brcmnand.c#L371
> 
> I guess that restoring the legacy functions isn't going to happen, but
> is it possible to restore < v5.0 compatibility on the new exec_op
> implementation?

Unfortunately, I don't think we have any other choice unless we want to 
have a functional NAND driver for these older chips. Would you be 
willing to do that? Thanks
-- 
Florian


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

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

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-11  9:42 mtd: rawnand: brcmnand: exec_op patch broke < v5.0 controllers Álvaro Fernández Rojas
2025-05-11  9:42 ` Álvaro Fernández Rojas
2025-05-12 14:38 ` Florian Fainelli
2025-05-12 14:38   ` Florian Fainelli

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.