Changing 16-bit read access to 32-bit to improve the performance in prefetch
support.
Signed-off-by: Vimal Singh <[EMAIL PROTECTED]>
---
drivers/mtd/nand/omap2.c | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)
Index: omapkernel/drivers/mtd/nand/omap2.c
===================================================================
--- omapkernel.orig/drivers/mtd/nand/omap2.c 2008-11-06 18:33:49.000000000
+0530
+++ omapkernel/drivers/mtd/nand/omap2.c 2008-11-06 18:36:32.000000000 +0530
@@ -375,27 +375,27 @@
struct omap_nand_info *info = container_of(mtd,
struct omap_nand_info, mtd);
uint32_t prefetch_status = 0, read_count = 0;
- u16 *p = (u16 *)buf;
+ u32 *p = (u32 *)buf;
if ((use_dma && len <= mtd->oobsize) || (!use_dma)) {
/* take care of subpage reads */
- if (len % 2 != 0) {
+ for (; len % 4 != 0; ) {
*buf++ = __raw_readb(info->nand.IO_ADDR_R);
- p = (u16 *) buf;
len--;
}
+ p = (u32 *) buf;
/* configure and start prefetch transfer */
gpmc_prefetch_start(info->gpmc_cs, 0x0, len, 0x0);
do {
prefetch_status = gpmc_prefetch_status();
- read_count = ((prefetch_status >> 24) & 0x7F) >> 1;
- __raw_readsw(info->nand_pref_fifo_add, p,
+ read_count = ((prefetch_status >> 24) & 0x7F) >> 2;
+ __raw_readsl(info->nand_pref_fifo_add, p,
read_count);
p += read_count;
- len -= read_count << 1;
+ len -= read_count << 2;
} while (len);
/* disable and stop the PFPW engine */
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html