summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
diff options
context:
space:
mode:
authorSeema Khowala <seemaj@nvidia.com>2016-07-08 19:12:44 -0400
committerSeshendra Gadagottu <sgadagottu@nvidia.com>2016-07-27 17:32:54 -0400
commitd64e2015147c4dc48c0d3b8d6ee612dd8addf04c (patch)
tree68753a49ca7da2264ff007c675b1dfa32f6da3bd /drivers/gpu/nvgpu/gk20a/mm_gk20a.c
parent9ca4c6b596fe50c652907193bb167ee29c208b4b (diff)
gpu: nvgpu: add check for is_fmodel
is_fmodel flag will be set in gk20a_probe(). Updated code for is_fmodel check, instead of check for supported simulated platforms. Bug 1735760 Change-Id: I7cbac2196130fe5ce4c1a910504879e6948c13da Signed-off-by: Seema Khowala <seemaj@nvidia.com> Reviewed-on: http://git-master/r/1177869 Reviewed-by: Seshendra Gadagottu <sgadagottu@nvidia.com> Tested-by: Seshendra Gadagottu <sgadagottu@nvidia.com> Reviewed-by: Adeel Raza <araza@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User
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 }