Browse Source

Tegra: memctrl_v2: program Video Memory carveout size in MBs

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>
pull/875/head
Varun Wadekar 9 years ago
parent
commit
3b52fc1f82
  1. 8
      plat/nvidia/tegra/common/drivers/memctrl/memctrl_v2.c

8
plat/nvidia/tegra/common/drivers/memctrl/memctrl_v2.c

@ -45,7 +45,7 @@
/* Video Memory base and size (live values) */ /* Video Memory base and size (live values) */
static uint64_t video_mem_base; 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 */ /* array to hold stream_id override config register offsets */
const static uint32_t streamid_overrides[] = { const static uint32_t streamid_overrides[] = {
@ -598,7 +598,7 @@ void tegra_memctrl_restore_settings(void)
(uint32_t)video_mem_base); (uint32_t)video_mem_base);
tegra_mc_write_32(MC_VIDEO_PROTECT_BASE_HI, tegra_mc_write_32(MC_VIDEO_PROTECT_BASE_HI,
(uint32_t)(video_mem_base >> 32)); (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 * 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_LO, (uint32_t)phys_base);
tegra_mc_write_32(MC_VIDEO_PROTECT_BASE_HI, tegra_mc_write_32(MC_VIDEO_PROTECT_BASE_HI,
(uint32_t)(phys_base >> 32)); (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 */ /* store new values */
video_mem_base = phys_base; 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 * MCE propogates the VideoMem configuration values across the

Loading…
Cancel
Save