On 3/19/19 10:46 AM, Ley Foon Tan wrote: > On Tue, Mar 19, 2019 at 5:39 PM Marek Vasut <ma...@denx.de> wrote: >> >> On 3/19/19 4:26 AM, Ley Foon Tan wrote: >>> On Tue, Mar 12, 2019 at 7:03 PM Marek Vasut <ma...@denx.de> wrote: >>>> >>>> On 3/12/19 9:31 AM, Ley Foon Tan wrote: >>>>> Move SDRAM size check to SDRAM driver. sdram_calculate_size() >>>>> is called in SDRAM initialization already, avoid calling >>>>> twice in size check function. >>>>> >>>>> Signed-off-by: Ley Foon Tan <ley.foon....@intel.com> >>>>> --- >>>>> arch/arm/mach-socfpga/spl_s10.c | 11 ----------- >>>>> drivers/ddr/altera/sdram_s10.c | 15 +++++++++++++++ >>>>> 2 files changed, 15 insertions(+), 11 deletions(-) >>>>> >>>>> diff --git a/arch/arm/mach-socfpga/spl_s10.c >>>>> b/arch/arm/mach-socfpga/spl_s10.c >>>>> index a3db20a819..a141ffe82a 100644 >>>>> --- a/arch/arm/mach-socfpga/spl_s10.c >>>>> +++ b/arch/arm/mach-socfpga/spl_s10.c >>>>> @@ -181,17 +181,6 @@ void board_init_f(ulong dummy) >>>>> hang(); >>>>> } >>>>> >>>>> - gd->ram_size = sdram_calculate_size(); >>>>> - printf("DDR: %d MiB\n", (int)(gd->ram_size >> 20)); >>>>> - >>>>> - /* Sanity check ensure correct SDRAM size specified */ >>>>> - debug("DDR: Running SDRAM size sanity check\n"); >>>>> - if (get_ram_size(0, gd->ram_size) != gd->ram_size) { >>>>> - puts("DDR: SDRAM size check failed!\n"); >>>>> - hang(); >>>>> - } >>>>> - debug("DDR: SDRAM size check passed!\n"); >>>>> - >>>>> mbox_init(); >>>>> >>>>> #ifdef CONFIG_CADENCE_QSPI >>>>> diff --git a/drivers/ddr/altera/sdram_s10.c >>>>> b/drivers/ddr/altera/sdram_s10.c >>>>> index a48567c109..8895813440 100644 >>>>> --- a/drivers/ddr/altera/sdram_s10.c >>>>> +++ b/drivers/ddr/altera/sdram_s10.c >>>>> @@ -134,6 +134,17 @@ static int poll_hmc_clock_status(void) >>>>> SYSMGR_HMC_CLK_STATUS_MSK, true, 1000, >>>>> false); >>>>> } >>>>> >>>>> +static void sdram_size_check(void) >>>>> +{ >>>>> + /* Sanity check ensure correct SDRAM size specified */ >>>>> + debug("DDR: Running SDRAM size sanity check\n"); >>>>> + if (get_ram_size(0, gd->ram_size) != gd->ram_size) { >>>>> + puts("DDR: SDRAM size check failed!\n"); >>>>> + hang(); >>>>> + } >>>>> + debug("DDR: SDRAM size check passed!\n"); >>>>> +} >>>>> + >>>>> /** >>>>> * sdram_mmr_init_full() - Function to initialize SDRAM MMR >>>>> * >>>>> @@ -339,6 +350,8 @@ int sdram_mmr_init_full(unsigned int unused) >>>>> else >>>>> gd->ram_size = size; >>>>> >>>>> + printf("DDR: %d MiB\n", (int)(gd->ram_size >> 20)); >>>> >>>> Is the type cast needed? >>> Yes, otherwise there is warning. >> >> Maybe the warning is justified and needs to be fixed instead of hidden ? >> > > drivers/ddr/altera/sdram_s10.c:461:16: warning: format ‘%d’ expects > argument of type ‘int’, but argument 2 has type ‘phys_size_t {aka > volatile long long unsigned int}’ [-Wformat=] > printf("DDR: %d MiB\n", gd->ram_size >> 20); > ~^ ~~~~~~~~~~~~~~~~~~
That's %lld then. -- Best regards, Marek Vasut _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot