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

Reply via email to