summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/mm_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/mm_gk20a.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
index 6de7425b..16ff8ee8 100644
--- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
@@ -1023,10 +1023,11 @@ static int alloc_gmmu_pages(struct vm_gk20a *vm, u32 order,
1023 u32 num_pages = 1 << order; 1023 u32 num_pages = 1 << order;
1024 u32 len = num_pages * PAGE_SIZE; 1024 u32 len = num_pages * PAGE_SIZE;
1025 int err; 1025 int err;
1026 struct gk20a_platform *platform = dev_get_drvdata(g->dev);
1026 1027
1027 gk20a_dbg_fn(""); 1028 gk20a_dbg_fn("");
1028 1029
1029 if (tegra_platform_is_linsim()) 1030 if (platform->is_fmodel)
1030 return alloc_gmmu_phys_pages(vm, order, entry); 1031 return alloc_gmmu_phys_pages(vm, order, entry);
1031 1032
1032 /* 1033 /*
@@ -1052,13 +1053,14 @@ void free_gmmu_pages(struct vm_gk20a *vm,
1052 struct gk20a_mm_entry *entry) 1053 struct gk20a_mm_entry *entry)
1053{ 1054{
1054 struct gk20a *g = gk20a_from_vm(vm); 1055 struct gk20a *g = gk20a_from_vm(vm);
1056 struct gk20a_platform *platform = dev_get_drvdata(g->dev);
1055 1057
1056 gk20a_dbg_fn(""); 1058 gk20a_dbg_fn("");
1057 1059
1058 if (!entry->mem.size) 1060 if (!entry->mem.size)
1059 return; 1061 return;
1060 1062
1061 if (tegra_platform_is_linsim()) { 1063 if (platform->is_fmodel) {
1062 free_gmmu_phys_pages(vm, entry); 1064 free_gmmu_phys_pages(vm, entry);
1063 return; 1065 return;
1064 } 1066 }
@@ -1076,9 +1078,11 @@ void free_gmmu_pages(struct vm_gk20a *vm,
1076 1078
1077int map_gmmu_pages(struct gk20a *g, struct gk20a_mm_entry *entry) 1079int map_gmmu_pages(struct gk20a *g, struct gk20a_mm_entry *entry)
1078{ 1080{
1081 struct gk20a_platform *platform = dev_get_drvdata(g->dev);
1082
1079 gk20a_dbg_fn(""); 1083 gk20a_dbg_fn("");
1080 1084
1081 if (tegra_platform_is_linsim()) 1085 if (platform->is_fmodel)
1082 return map_gmmu_phys_pages(entry); 1086 return map_gmmu_phys_pages(entry);
1083 1087
1084 if (IS_ENABLED(CONFIG_ARM64)) { 1088 if (IS_ENABLED(CONFIG_ARM64)) {
@@ -1100,9 +1104,11 @@ int map_gmmu_pages(struct gk20a *g, struct gk20a_mm_entry *entry)
1100 1104
1101void unmap_gmmu_pages(struct gk20a *g, struct gk20a_mm_entry *entry) 1105void unmap_gmmu_pages(struct gk20a *g, struct gk20a_mm_entry *entry)
1102{ 1106{
1107 struct gk20a_platform *platform = dev_get_drvdata(g->dev);
1108
1103 gk20a_dbg_fn(""); 1109 gk20a_dbg_fn("");
1104 1110
1105 if (tegra_platform_is_linsim()) { 1111 if (platform->is_fmodel) {
1106 unmap_gmmu_phys_pages(entry); 1112 unmap_gmmu_phys_pages(entry);
1107 return; 1113 return;
1108 } 1114 }