[U-Boot] [PATCH v2 0/2] OMAP/GPMC: speed up NAND read access

Gupta, Pekon pekon at ti.com
Fri Jul 25 12:31:53 CEST 2014


Hi Daniel,

>From: Gupta, Pekon
>
>Hi Daniel,
>
>>From: Daniel Mack [mailto:zonque at gmail.com]
>>
>>Resending this since I got no replies on the first version.
>>I also fixed up the commit log of #1.
>>
>I plan to test this, but there is still a long pending list of patches which
>for me to test in kernel and u-boot. So it might take bit time.
>But really thanks much for this feature addition.
>
>Just a minor feedback, if you like it...
>GPMC controller support various transfer modes
>- POLLED: <default mode>
>- PREFETCH_POLLED : <as added in this patch>
>- PREFETCH_IRQ: <not implemented/required>
>- PREFETCH_DMA: <not implemented/required>
>
>(1) Will it be okay to use following config names, this would be synonymous
>to the xfer-modes DT binding used in kernel ?
>CONFIG_NAND_OMAP_XFER_MODE_POLLED
>CONFIG_NAND_OMAP_XFER_MODE_PREFETCH_POLLED
>
>(2) It would be good if you can make "PREFETCH_POLLED" mode as "default"
>And instead make "POLLED" mode selectable.
>#ifdef CONFIG_NAND_OMAP_XFER_MODE_POLLED
>	/* old behavior */
>#else  /*
>	/* default PREFETCH_POLLED mode */
>#endif
>
>However, let me first test your patch, and these minor nit-picks
>(if required) can be done later.
>
>Thanks..
>with regards, pekon
>>------------
>>
>>I spent some time looking into boot times of AM335x platforms. One big
>>improvement I made came with adding support for GPMC prefetch mode,
>>which gave a speed-up of NAND reads of roughly factor 2.
>>This is what patch #1 does.
>>
>>Note that this is currently limited to read operations in 8-bit mode, but
>>I believe it could be easily extended to 16-bit operations if anyone has
>>hardware to test it on. Using the engine for write mode speed
>>improvements should also be doable, but I didn't spend time on it yet.
>>That can be added as a separate patch later.
>>
>>Patch #2 decreases the GPMC memory map window size from 256MiB to 16MiB.
>>Admittedly, I'm not quite sure about the reason, but a read from
>>offset 0 in this memory area will freeze U-Boot instantly if the size
>>is configured to 256MiB. As contents of the FIFO are accessed in a
>>pseudo-mode from offset 0 anyway, it doesn't really matter.
>>
>>What I also did to further speed up my boot was to tweak the GPMC
>>parameters for the NAND chip on our boards, but that's not part of this
>>patch set, and probably deserves a little more cleanup.
>>
>>Test results and feedback very welcome.
>>
>>Thanks,
>>Daniel
>>
>>
>>Daniel Mack (2):
>>  mtd: OMAP: Enable GPMC prefetch mode
>>  ARM: omap-common: gpmp: decrease memory region size to 16MiB
>>
>> arch/arm/cpu/armv7/omap-common/mem-common.c |   2 +-
>> doc/README.nand                             |   5 ++
>> drivers/mtd/nand/omap_gpmc.c                | 115 +++++++++++++++++++++++++++-
>> include/linux/mtd/omap_gpmc.h               |   6 +-
>> 4 files changed, 124 insertions(+), 4 deletions(-)
>>
>>--
>>1.9.3

My apologies, sorry I'm unable to test this patch-set.
But as I have already reviewed it. And apart from minor comments for rest of things
Reviewed-by: Pekon Gupta <pekon at ti.com>


with regards, pekon


More information about the U-Boot mailing list