From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Babic Date: Fri, 10 Feb 2012 12:02:03 +0100 Subject: [U-Boot] Enabling Cache in SPL - how to speed up booting from SPL Message-ID: <4F34F92B.3010404@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi, because we are fast able to boot the kernel directly from SPL, I am experimenting now how we can speed up the process. Mainly my focus is how to make copy from storage (=NAND) to RAM faster. There are two approaches I can see: using DMA in NAND driver, or/and enabling cache. I have not yet patches (I hacked the code dirtly), but I have some results I cannot understand. First of all, DMA. DMA for OMAP is mainlined now with Simon's patches, enabling DMA in nand_spl_simple.c as sent by Simon does not work for me, but I have adapted the patch to my platform (twister board, mainlined, with TI AM3517). Here the results measuring between start of the copy and before giving the control to the kernel (kernel size is 2188100): Seconds ----------------------------------------------------------------- No cache, no DMA 1.700 DMA in NAND driver 1.190 Enabling Cache 2.120 With enabled DMA I won on my platform ~600mSec. However, enabling cache is worse than disabling, and this let me really confused. I have not done any special things to enable cache, and I reused code already provided. I have only set to an arbitrary address in RAM (but 64KB aligned) gd->tbl, and then I called enable_caches(). I can see that mmu_setup() is called, and at the end icache_status() and dcache_status() return both that cache is enabled. But copying from NAND takes longer enabling cache, and this does not really make sense. Does anybody have an hint what I am missing ? Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de =====================================================================