Have fsl_elbc_nand controllers subpage write support?

Hello Scott!
In past you disabled nand subpage write support for freescale eLBC and IFC U-Boot nand drivers in following patch: https://lore.kernel.org/u-boot/20121102234432.GA18129@buserror.net/
But in Linux kernel you disabled it only in freescale IFC nand driver: https://lore.kernel.org/linux-mtd/20130410223437.GA26900@home.buserror.net/
letting kernel's freescale eLBC driver to have enabled subpage write support.
I would like to ask, has freescale eLBC nand controller support for subpage writes? Or not and it should be disabled also in kernel?
Or has somebody else these details?
The main issue is that U-Boot nand and UBI support for boards with eLBC controllers is compatible with Linux kernel nand and UBI support because these two drivers calculate UBI geometry differently. UBI header offset is calculated from nand subpage size and nand subpage size obviously depends on the fact if subpage write is supported or not.
I would like to fix this issue, but I do not know if wrong information is in U-Boot driver or in Linux kernel driver.

On Sunday 07 August 2022 14:00:27 Pali Rohár wrote:
Hello Scott!
In past you disabled nand subpage write support for freescale eLBC and IFC U-Boot nand drivers in following patch: https://lore.kernel.org/u-boot/20121102234432.GA18129@buserror.net/
But in Linux kernel you disabled it only in freescale IFC nand driver: https://lore.kernel.org/linux-mtd/20130410223437.GA26900@home.buserror.net/
letting kernel's freescale eLBC driver to have enabled subpage write support.
I would like to ask, has freescale eLBC nand controller support for subpage writes? Or not and it should be disabled also in kernel?
Or has somebody else these details?
Now I found following commit http://git.kernel.org/torvalds/c/f034d87def51 which seems to be fixing/emulating subpage write support.
The main issue is that U-Boot nand and UBI support for boards with eLBC controllers is compatible with Linux kernel nand and UBI support because these two drivers calculate UBI geometry differently. UBI header offset is calculated from nand subpage size and nand subpage size obviously depends on the fact if subpage write is supported or not.
I would like to fix this issue, but I do not know if wrong information is in U-Boot driver or in Linux kernel driver.

Hello!
On Sunday 07 August 2022 16:13:00 Pali Rohár wrote:
On Sunday 07 August 2022 14:00:27 Pali Rohár wrote:
Hello Scott!
In past you disabled nand subpage write support for freescale eLBC and IFC U-Boot nand drivers in following patch: https://lore.kernel.org/u-boot/20121102234432.GA18129@buserror.net/
But in Linux kernel you disabled it only in freescale IFC nand driver: https://lore.kernel.org/linux-mtd/20130410223437.GA26900@home.buserror.net/
letting kernel's freescale eLBC driver to have enabled subpage write support.
I would like to ask, has freescale eLBC nand controller support for subpage writes? Or not and it should be disabled also in kernel?
Or has somebody else these details?
Now I found following commit http://git.kernel.org/torvalds/c/f034d87def51 which seems to be fixing/emulating subpage write support.
If there is not any objections I would send patch to U-boot eLBC nand controller driver which would remove that NAND_NO_SUBPAGE_WRITE too. As those subpage write functions are present also in U-Boot driver.
Any comments?
The main issue is that U-Boot nand and UBI support for boards with eLBC controllers is compatible with Linux kernel nand and UBI support because these two drivers calculate UBI geometry differently. UBI header offset is calculated from nand subpage size and nand subpage size obviously depends on the fact if subpage write is supported or not.
I would like to fix this issue, but I do not know if wrong information is in U-Boot driver or in Linux kernel driver.

On Saturday 13 August 2022 12:36:37 Pali Rohár wrote:
Hello!
On Sunday 07 August 2022 16:13:00 Pali Rohár wrote:
On Sunday 07 August 2022 14:00:27 Pali Rohár wrote:
Hello Scott!
In past you disabled nand subpage write support for freescale eLBC and IFC U-Boot nand drivers in following patch: https://lore.kernel.org/u-boot/20121102234432.GA18129@buserror.net/
But in Linux kernel you disabled it only in freescale IFC nand driver: https://lore.kernel.org/linux-mtd/20130410223437.GA26900@home.buserror.net/
letting kernel's freescale eLBC driver to have enabled subpage write support.
I would like to ask, has freescale eLBC nand controller support for subpage writes? Or not and it should be disabled also in kernel?
Or has somebody else these details?
Now I found following commit http://git.kernel.org/torvalds/c/f034d87def51 which seems to be fixing/emulating subpage write support.
If there is not any objections I would send patch to U-boot eLBC nand controller driver which would remove that NAND_NO_SUBPAGE_WRITE too. As those subpage write functions are present also in U-Boot driver.
Any comments?
No objections, so U-Boot patch is here: https://lore.kernel.org/u-boot/20220815080140.4048-1-pali@kernel.org/T/#u
The main issue is that U-Boot nand and UBI support for boards with eLBC controllers is compatible with Linux kernel nand and UBI support because these two drivers calculate UBI geometry differently. UBI header offset is calculated from nand subpage size and nand subpage size obviously depends on the fact if subpage write is supported or not.
I would like to fix this issue, but I do not know if wrong information is in U-Boot driver or in Linux kernel driver.
participants (1)
-
Pali Rohár