Re: [U-Boot] [PATCH v3 0/5] mtd: nand: omap: optimize and clean-up of OMAP NAND driver
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 09/02/2013 10:56 AM, Gupta, Pekon wrote: On 08/29/2013 01:26 PM, Gupta, Pekon wrote: [snip] I think we should move the selected message to a debug(). Second part of string nand: selected OMAP_ECC_BCH8_CODE_HW was specifically added in board_nand_init() because currently there is no way to identify the ECC scheme being used in u-boot. Unless digging into source code and reviewing board file. And many time end-users face ECC scheme mis-match between u-boot and linux when flashing kernel and file-system from u-boot. Thus this print helps in identifying the ECC scheme being used from logs. So, please keep this print nand: selected ecc-scheme .. ? I'd rather not as we should have left the mis-match problems in the past. We don't generally offer commands to switch ECC schemes as everyone is using the same now. When we do need to offer switching for legacy reasons that's when we should say what we're on. I think we should not deprecate the 'ecc_switching_utility', bcoz there are multiple scenarios even in newer devices where it is useful.. Example-1: using built-in NAND devices [snip] The ROM already needs to handle this mode and simply go with on die ECC and we need to mirror this behaviour. Example-2: upgrading ECC on legacy devices There are many users with devices in production, who would like to upgrade to newer ECC schemes (like BCH16), only when these drivers are stable. Such users depend on u-boot to switch newer ECC schemes (like BCH16) and then re-flash upgraded kernel and file-systems on remote machines. In such cases also 'ecc_switching_utility' is helpful. But they've got a problem today, which is that the ROM demands BCH16 already, so they have to use BCH16 or not be booting from NAND. Though I don't want to be stubborn here.. But if your plan is to completely remove 'ecc_switching_utility' support then I would move back to V2 version of this patch, where ecc scheme is selected by #CONFIGS, so that only that code footprint gets optimized. Please let me know, which way to go forward.. - [Patch V2 xx] where ECC selection is via #CONFIGS - [Patch V3 xx] where ECC selection can be done via software (ecc_switching_utility) Incase you opt for [V3], my humble request is to keep above prints and not to convert them into 'debug' (please) :-) We need to do run-time detection of what ecc mode is to be used. We don't want to expose the 'nandecc' type command we have on OMAP3 without a real case (and I don't count ones that can be constructed as an example on beaglebone + capes, but I do count real hardware designs). - -- Tom -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJSJyzJAAoJENk4IS6UOR1WfiQP/Rwr5Gcqvg4RP6Rp7ppN0HSm suzbjCTgsWxY9SeSEO1L4GiGWRxZSAKkdE/KSYTPRPfjrdev+i6poZfoI6JlMK64 d/HnI37yAV4dOYA3tQImyXfZi+8teWKqm4vXyRsQqq9tJFmGppX4iRV9G8OVBUJv lZVEw+OpW2Fktq+jcMskwGz3TKYmMTDh4GlcQnX3BHltkOGe1lkCMmQoxxyAYkfO /O1gvwrvUhzkjgkRIG18rlHW34qMZqflAIfHNjSxXLpeuDYkCi6EsCJHTpelQuYG 3+9fAGY4zSleR+e29QfrgyuOSwR3s+ElZ1VmNRl7e0TeE9yb20frZCJhfYAq1vYu wjeKJcfkscPRYaGTUc7jhyyMgK2hrCk9kVCOdRfUrJe+ElaqlhU1/ugOADQky8bN QxqGwhSpPT8tLKBrUaIqix3DOMdt1yQXos+qhaFba73zMO+gwAtEHVWQELQIASLD K3mAcs3vfDzMvLke95xPNLA7KP09O9LV892ND+5v8/6UVDUQX2IyEjTjLKDeG7Ae P9OgE90UlbgxC7vEbtt1rxDLrhLr57EECigKjFhFsfFdSMkj+FEnyxb0Dmp+5JRY s0QxaRAz4nvpFW1KcTY2fhIaqiYEgLEMRcgcwiQeVxqezQAtRFlK9xAX7DmCjw5K zgzrEslpmfYxi3+DcF4Y =K7aI -END PGP SIGNATURE- ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v3 0/5] mtd: nand: omap: optimize and clean-up of OMAP NAND driver
*changes in v3* [PATCH 1/5] (complete change) - ecc-scheme is selection is controller by s/w, not CONFIG_NAND_xx - added omap_select_ecc_scheme(), as common function to handle all ecc-scheme related configurations for both board_nand_init() omap_nand_switch_ecc(). - removed un-used defines from asm/arch-am33xx/omap_gpmc.h - updated doc/REAME.nand [PATCH 2/5] removed un-used defines from asm/omap_gpmc.h [PATCH 3/5] removed omap_calculate_ecc_bch_sw() and omap_calculate_ecc() and merged their logic into omap_calculate_ecc_bch() [PATCH 4/5] updated return error-code in-case of invalid conditions [PATCH 5/5] (new) for board/ti/am335x/README *changes in v2* - added documentation for CONFIG_NAND_OMAP_xx in doc/README.nand - added CONFIG_BCH along with CONFIG_NAND_OMAP_ECC_BCH8_CODE_HW_DETECTION_SW to include software library lib/bch.c - fixed board_nand_init() and omap_enable_hwecc() *original v1* This patch series updates BCH8_ECC schemes in mtd/nand/omap_gpmc.c driver - adds scalability for higher ECC schemes in future. - removes CONFIG_AM335x and it makes it generic for all platforms. - optimizes read_data paths Pekon Gupta (5): [PATCH 1/5] mtd: nand: omap: enable BCH ECC scheme using ELM for generic platform [PATCH 2/5] mtd: nand: omap: optimize chip-ecc.hwctl() for H/W ECC schemes [PATCH 3/5] mtd: nand: omap: optimize chip-ecc.calculate() for H/W ECC schemes [PATCH 4/5] mtd: nand: omap: optimized chip-ecc.correct() for H/W ECC schemes [PATCH 5/5] board/ti/am335x/README: update for NAND boot arch/arm/include/asm/arch-am33xx/omap_gpmc.h | 48 +- arch/arm/include/asm/omap_gpmc.h | 7 - board/ti/am335x/README | 59 +- doc/README.nand | 13 + drivers/mtd/nand/omap_gpmc.c | 796 +++ include/configs/am335x_evm.h | 2 + 6 files changed, 383 insertions(+), 542 deletions(-) -- 1.8.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 0/5] mtd: nand: omap: optimize and clean-up of OMAP NAND driver
On Thu, Aug 29, 2013 at 04:26:40PM +0530, Pekon Gupta wrote: *changes in v3* [PATCH 1/5] (complete change) - ecc-scheme is selection is controller by s/w, not CONFIG_NAND_xx - added omap_select_ecc_scheme(), as common function to handle all ecc-scheme related configurations for both board_nand_init() omap_nand_switch_ecc(). - removed un-used defines from asm/arch-am33xx/omap_gpmc.h - updated doc/REAME.nand [PATCH 2/5] removed un-used defines from asm/omap_gpmc.h [PATCH 3/5] removed omap_calculate_ecc_bch_sw() and omap_calculate_ecc() and merged their logic into omap_calculate_ecc_bch() [PATCH 4/5] updated return error-code in-case of invalid conditions [PATCH 5/5] (new) for board/ti/am335x/README Note that with the series applied, we see: NAND: nand: selected OMAP_ECC_BCH8_CODE_HW 256 MiB I think we should move the selected message to a debug(). That said, I'm seeing a nice performance increase, both with and without the dcache patch also applied, so yay! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v3 0/5] mtd: nand: omap: optimize and clean-up of OMAP NAND driver
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 08/29/2013 01:26 PM, Gupta, Pekon wrote: On Thu, Aug 29, 2013 at 04:26:40PM +0530, Pekon Gupta wrote: *changes in v3* [PATCH 1/5] (complete change) - ecc-scheme is selection is controller by s/w, not CONFIG_NAND_xx - added omap_select_ecc_scheme(), as common function to handle all ecc-scheme related configurations for both board_nand_init() omap_nand_switch_ecc(). - removed un-used defines from asm/arch-am33xx/omap_gpmc.h - updated doc/REAME.nand [PATCH 2/5] removed un-used defines from asm/omap_gpmc.h [PATCH 3/5] removed omap_calculate_ecc_bch_sw() and omap_calculate_ecc() and merged their logic into omap_calculate_ecc_bch() [PATCH 4/5] updated return error-code in-case of invalid conditions [PATCH 5/5] (new) for board/ti/am335x/README Note that with the series applied, we see: NAND: nand: selected OMAP_ECC_BCH8_CODE_HW 256 MiB The first part of string NAND:is coming from arch/arm/lib/board.c:582 puts(NAND: ); I'm not sure why it was added, seems legacy code.. And same is copied to all other arch/xx/lib/board.c However as this print is not giving much of info, so can this be removed ? NAND + size is useful information. I think we should move the selected message to a debug(). Second part of string nand: selected OMAP_ECC_BCH8_CODE_HW was specifically added in board_nand_init() because currently there is no way to identify the ECC scheme being used in u-boot. Unless digging into source code and reviewing board file. And many time end-users face ECC scheme mis-match between u-boot and linux when flashing kernel and file-system from u-boot. Thus this print helps in identifying the ECC scheme being used from logs. So, please keep this print nand: selected ecc-scheme .. ? I'd rather not as we should have left the mis-match problems in the past. We don't generally offer commands to switch ECC schemes as everyone is using the same now. When we do need to offer switching for legacy reasons that's when we should say what we're on. - -- Tom -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJSH4ksAAoJENk4IS6UOR1W208QAJkXCvdm1gsIB7vjL8zf4Yi8 CGNm7B2d5K1kubP21LzClgf52T5ImMFlqXpvJJ/BPjwEnanPS6zXeBrzc1zRZZft Y8Q6VlnPl094zDof9TdEoa51L6XmRqc8zRcdELvJLatrw0fd2htuJrXdUgi46a3M MeukhTHWT0IkbOixFuI22eiaN8YC5api5ljZvMcNJMXXkCbcgb0C743BPiRHasFI nslOhfJShU/XhNuhtOqKnN6oen5nuzYi7O2DFPS55ipkiz+ekKon8pVU587WXtTW ML5Hb+8tutgkZwhMXG0tWKaLv7Bhk9zKPmfLAyqJrdOulGeIRxRRVBrI0Vi9kcJ4 a6dO2g3+zOyNkZ//ejIjFvVNRBCK1+eSPxY0KxNATIghn4IuGLC2tGB1BUap2+hR odBZzgETLcomyzpLnVOCMl+FVCPaAE0qKsqdz3h6O+qPYY+bSIFyzTJNioj7d2ws LADJoR5FM+rTo8/mQrsQwbGT2sMPENeeLYrjSkKRMBLQonItp5SOyZPMPUwp42sx Ih6tmvZkQM4sWt2okAZltOhbtzx8uPmKDKsE8UIZKB4uF4okP86SjsidguUhj2g6 NmutHKNiwcz4Pppe9IhigusgL9TrVMTSq4yefzOeLY2iKnouqog1RCevdly2BQaZ iqbOYt1DuccSoIzat68h =aNQx -END PGP SIGNATURE- ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot