Tegra: memctrl_v2: program Video Memory carveout size in MBs
authorVarun Wadekar <vwadekar@nvidia.com>
Mon, 25 Apr 2016 16:01:46 +0000 (09:01 -0700)
committerVarun Wadekar <vwadekar@nvidia.com>
Thu, 23 Mar 2017 22:23:30 +0000 (15:23 -0700)
This patch fixes the programming logic for the Video memory carveout's
size. The Memory Controller expects the size in terms of MBs instead
of bytes.

Change-Id: Ia8261b737448bae9a435fe21ab336126785d4279
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
plat/nvidia/tegra/common/drivers/memctrl/memctrl_v2.c

index f41e49d96851fed3a6a56cb5c56d999119147dd8..2d22a586f724a4a00400572db0b1114208f422b5 100644 (file)
@@ -45,7 +45,7 @@
 
 /* Video Memory base and size (live values) */
 static uint64_t video_mem_base;
-static uint64_t video_mem_size;
+static uint64_t video_mem_size_mb;
 
 /* array to hold stream_id override config register offsets */
 const static uint32_t streamid_overrides[] = {
@@ -598,7 +598,7 @@ void tegra_memctrl_restore_settings(void)
                                  (uint32_t)video_mem_base);
                tegra_mc_write_32(MC_VIDEO_PROTECT_BASE_HI,
                                  (uint32_t)(video_mem_base >> 32));
-               tegra_mc_write_32(MC_VIDEO_PROTECT_SIZE_MB, video_mem_size);
+               tegra_mc_write_32(MC_VIDEO_PROTECT_SIZE_MB, video_mem_size_mb);
 
                /*
                 * MCE propogates the VideoMem configuration values across the
@@ -706,11 +706,11 @@ void tegra_memctrl_videomem_setup(uint64_t phys_base, uint32_t size_in_bytes)
        tegra_mc_write_32(MC_VIDEO_PROTECT_BASE_LO, (uint32_t)phys_base);
        tegra_mc_write_32(MC_VIDEO_PROTECT_BASE_HI,
                          (uint32_t)(phys_base >> 32));
-       tegra_mc_write_32(MC_VIDEO_PROTECT_SIZE_MB, size_in_bytes);
+       tegra_mc_write_32(MC_VIDEO_PROTECT_SIZE_MB, size_in_bytes >> 20);
 
        /* store new values */
        video_mem_base = phys_base;
-       video_mem_size = size_in_bytes >> 20;
+       video_mem_size_mb = size_in_bytes >> 20;
 
        /*
         * MCE propogates the VideoMem configuration values across the