public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Prabhakar Kushwaha <prabhakar@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 7/10] driver/mtd/spi:Read 8KB data chunk during u-boot load in SPL
Date: Thu, 3 Apr 2014 09:20:17 +0530	[thread overview]
Message-ID: <533CDA79.2010507@freescale.com> (raw)
In-Reply-To: <1396480222.32034.65.camel@snotra.buserror.net>


On 4/3/2014 4:40 AM, Scott Wood wrote:
> On Wed, 2014-04-02 at 08:34 +0530, Prabhakar Kushwaha wrote:
>> On 4/2/2014 3:32 AM, Scott Wood wrote:
>>> On Mon, 2014-03-31 at 15:34 +0530, Prabhakar Kushwaha wrote:
>>>> SPI driver perform its operation(read/write) on 64KB buffer chunk for data
>>>> greater than 64KB. This buffer chunk is allocated from system heap.
>>>>
>>>> During SPL boot, 768KB of data is read from SPI flash.
>>>> Here, heap size may not be sufficient enough to full-fill 64KB buffer
>>>> requirement of SPI driver. So break down u-boot read operation at 8KB of chunk.
>>>>
>>>> Also, fix a warning i.e. "unused variable buf" during CONFIG_FSL_CORENET
>>>>
>>>> Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
>>>> ---
>>>>    drivers/mtd/spi/fsl_espi_spl.c |   15 ++++++++++++---
>>>>    1 file changed, 12 insertions(+), 3 deletions(-)
>>>>
>>>> diff --git a/drivers/mtd/spi/fsl_espi_spl.c b/drivers/mtd/spi/fsl_espi_spl.c
>>>> index e5ac79b..a55d741 100644
>>>> --- a/drivers/mtd/spi/fsl_espi_spl.c
>>>> +++ b/drivers/mtd/spi/fsl_espi_spl.c
>>>> @@ -20,8 +20,10 @@
>>>>    void spi_boot(void)
>>>>    {
>>>>    	void (*uboot)(void) __noreturn;
>>>> -	u32 offset, code_len;
>>>> +	u32 offset, code_len, copy_len = 0;
>>>> +#ifndef CONFIG_FSL_CORENET
>>>>    	unsigned char *buf = NULL;
>>>> +#endif
>>>>    	struct spi_flash *flash;
>>>>    
>>>>    	flash = spi_flash_probe(CONFIG_ENV_SPI_BUS, CONFIG_ENV_SPI_CS,
>>>> @@ -56,8 +58,15 @@ void spi_boot(void)
>>>>    	code_len = code_len - CONFIG_SPL_MAX_SIZE;
>>>>    #endif
>>>>    	/* copy code to DDR */
>>>> -	spi_flash_read(flash, offset, code_len,
>>>> -		       (void *)CONFIG_SYS_SPI_FLASH_U_BOOT_DST);
>>>> +	printf("Loading second stage boot loader ");
>>>> +	while (copy_len <= code_len) {
>>>> +		spi_flash_read(flash, offset + copy_len, 0x2000,
>>>> +			       (void *)(CONFIG_SYS_SPI_FLASH_U_BOOT_DST
>>>> +			       + copy_len));
>>>> +		copy_len = copy_len + 0x2000;
>>>> +		putc('.');
>>>> +	}
>>> How long does this take?  If it's long enough to warrant a progress
>>> meter, that ought to be fixed first.
>>>
>>>
>> It take 20 sec to boot.  it is long enough.  This issue has already been
>> reported.
> It wasn't mentioned in this patch submission...

I will add this  information..

>> Problem is reading 1 MB from SPI flash.  It take almost 20s in on u-boot
>> prompt from any boot.
>>
>> I agree, we should first fix it.
>> But This patch should not be stopped to get apply because of issue
>> somewhere else. That issue can be fixed separately in other patch.
> But this patch seems to assume the bug hasn't been fixed -- it still has
> a progress meter, and it still breaks the SPI read into 8K chunks (not
> sure if that part would change as part of the fix).
>

I will make sure of removing this progress meter once issue is fixed.

Regards,
Prabhakar

      reply	other threads:[~2014-04-03  3:50 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-31 10:04 [U-Boot] [PATCH 7/10] driver/mtd/spi:Read 8KB data chunk during u-boot load in SPL Prabhakar Kushwaha
2014-04-01 22:02 ` Scott Wood
2014-04-02  3:04   ` Prabhakar Kushwaha
2014-04-02 23:10     ` Scott Wood
2014-04-03  3:50       ` Prabhakar Kushwaha [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=533CDA79.2010507@freescale.com \
    --to=prabhakar@freescale.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox