gpu: nvgpu: split vidmem_is_vidmem

As the vidmem_is_vidmem flag has got two separate meanings in one bit,
split it in two bits into the enabled() API:

Add NVGPU_MM_HONORS_APERTURE bit, which is the same as vidmem_is_vidmem
with its original meaning, and use it to test which aperture bits to
write to hardware.

Add NVGPU_MM_UNIFIED_MEMORY bit, which has the opposite meaning: that
the GPU shares the SoC memory. When this flag is false, the GPU has its
own local video memory.

Jira NVGPU-86

Change-Id: I2d0bed3b1ede5a712be99323d3035b154bb23c3a
Signed-off-by: Konsta Holtta <kholtta@nvidia.com>
Reviewed-on: http://git-master/r/1496080
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Konsta Holtta
2017-06-05 17:40:44 +03:00
committed by mobile promotions
parent 26487b82df
commit 80197d2c9d
11 changed files with 33 additions and 25 deletions

View File

@@ -934,8 +934,6 @@ static int gk20a_tegra_probe(struct device *dev)
if (tegra_get_chip_id() == TEGRA132)
platform->soc_name = "tegra13x";
platform->g->mm.vidmem_is_vidmem = platform->vidmem_is_vidmem;
gk20a_tegra_get_clocks(dev);
nvgpu_linux_init_clk_support(platform->g);
gk20a_tegra_init_secure_alloc(platform->g);
@@ -1051,7 +1049,7 @@ struct gk20a_platform gk20a_tegra_platform = {
.soc_name = "tegra12x",
.vidmem_is_vidmem = false,
.unified_memory = true,
};
struct gk20a_platform gm20b_tegra_platform = {
@@ -1123,5 +1121,5 @@ struct gk20a_platform gm20b_tegra_platform = {
.soc_name = "tegra21x",
.vidmem_is_vidmem = false,
.unified_memory = true,
};

View File

@@ -161,8 +161,6 @@ static int gp10b_tegra_probe(struct device *dev)
platform->g->gr.t18x.ctx_vars.force_preemption_gfxp = false;
platform->g->gr.t18x.ctx_vars.force_preemption_cilp = false;
platform->g->mm.vidmem_is_vidmem = platform->vidmem_is_vidmem;
gp10b_tegra_get_clocks(dev);
nvgpu_linux_init_clk_support(platform->g);
gk20a_tegra_init_secure_alloc(platform->g);
@@ -436,7 +434,7 @@ struct gk20a_platform gp10b_tegra_platform = {
.soc_name = "tegra18x",
.vidmem_is_vidmem = false,
.unified_memory = true,
};