summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/tegra/linux/platform_gk20a_tegra.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2017-04-14 16:11:18 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-04-19 16:24:30 -0400
commit6df49a63ca5f9d77a6d7d6c7dbaaa0fba1b707ca (patch)
treeb50c57b2759fb4a20390880ea5b5d874d324d046 /drivers/gpu/nvgpu/tegra/linux/platform_gk20a_tegra.c
parent15e9b433f3a33f4d68582d8eeabfcfd32db8c340 (diff)
gpu: nvgpu: Move is_fmodel to struct gk20a
Copy is_fmodel to struct gk20a at probe time, and access it from gk20a instead of platform_gk20a. JIRA NVGPU-16 Change-Id: Ib8d793ea2b02b62da3bfdbb6372d9927658b7ec6 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/1463540 Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> GVS: Gerrit_Virtual_Submit
Diffstat (limited to 'drivers/gpu/nvgpu/tegra/linux/platform_gk20a_tegra.c')
-rw-r--r--drivers/gpu/nvgpu/tegra/linux/platform_gk20a_tegra.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/drivers/gpu/nvgpu/tegra/linux/platform_gk20a_tegra.c b/drivers/gpu/nvgpu/tegra/linux/platform_gk20a_tegra.c
index 4f799a82..3e2a0adf 100644
--- a/drivers/gpu/nvgpu/tegra/linux/platform_gk20a_tegra.c
+++ b/drivers/gpu/nvgpu/tegra/linux/platform_gk20a_tegra.c
@@ -112,12 +112,13 @@ static void gk20a_tegra_secure_page_destroy(struct device *dev,
112int gk20a_tegra_secure_page_alloc(struct device *dev) 112int gk20a_tegra_secure_page_alloc(struct device *dev)
113{ 113{
114 struct gk20a_platform *platform = dev_get_drvdata(dev); 114 struct gk20a_platform *platform = dev_get_drvdata(dev);
115 struct gk20a *g = get_gk20a(dev);
115 struct secure_page_buffer *secure_buffer = &platform->secure_buffer; 116 struct secure_page_buffer *secure_buffer = &platform->secure_buffer;
116 DEFINE_DMA_ATTRS(attrs); 117 DEFINE_DMA_ATTRS(attrs);
117 dma_addr_t iova; 118 dma_addr_t iova;
118 size_t size = PAGE_SIZE; 119 size_t size = PAGE_SIZE;
119 120
120 if (platform->is_fmodel) 121 if (g->is_fmodel)
121 return -EINVAL; 122 return -EINVAL;
122 123
123 (void)dma_alloc_attrs(&tegra_vpr_dev, size, &iova, 124 (void)dma_alloc_attrs(&tegra_vpr_dev, size, &iova,
@@ -389,10 +390,11 @@ done:
389 390
390static int gk20a_tegra_railgate(struct device *dev) 391static int gk20a_tegra_railgate(struct device *dev)
391{ 392{
393 struct gk20a *g = get_gk20a(dev);
392 struct gk20a_platform *platform = dev_get_drvdata(dev); 394 struct gk20a_platform *platform = dev_get_drvdata(dev);
393 int ret = 0; 395 int ret = 0;
394 396
395 if (platform->is_fmodel || 397 if (g->is_fmodel ||
396 !tegra_dvfs_is_rail_up(platform->gpu_rail)) 398 !tegra_dvfs_is_rail_up(platform->gpu_rail))
397 return 0; 399 return 0;
398 400
@@ -442,11 +444,12 @@ err_power_off:
442 444
443static int gk20a_tegra_unrailgate(struct device *dev) 445static int gk20a_tegra_unrailgate(struct device *dev)
444{ 446{
447 struct gk20a *g = get_gk20a(dev);
445 struct gk20a_platform *platform = dev_get_drvdata(dev); 448 struct gk20a_platform *platform = dev_get_drvdata(dev);
446 int ret = 0; 449 int ret = 0;
447 bool first = false; 450 bool first = false;
448 451
449 if (platform->is_fmodel) 452 if (g->is_fmodel)
450 return 0; 453 return 0;
451 454
452 if (!platform->gpu_rail) { 455 if (!platform->gpu_rail) {
@@ -517,10 +520,11 @@ err_clk_on:
517 520
518static bool gk20a_tegra_is_railgated(struct device *dev) 521static bool gk20a_tegra_is_railgated(struct device *dev)
519{ 522{
523 struct gk20a *g = get_gk20a(dev);
520 struct gk20a_platform *platform = dev_get_drvdata(dev); 524 struct gk20a_platform *platform = dev_get_drvdata(dev);
521 bool ret = false; 525 bool ret = false;
522 526
523 if (!platform->is_fmodel) 527 if (!g->is_fmodel)
524 ret = !tegra_dvfs_is_rail_up(platform->gpu_rail); 528 ret = !tegra_dvfs_is_rail_up(platform->gpu_rail);
525 529
526 return ret; 530 return ret;
@@ -534,10 +538,11 @@ static bool gk20a_tegra_is_railgated(struct device *dev)
534 538
535static int gm20b_tegra_railgate(struct device *dev) 539static int gm20b_tegra_railgate(struct device *dev)
536{ 540{
541 struct gk20a *g = get_gk20a(dev);
537 struct gk20a_platform *platform = dev_get_drvdata(dev); 542 struct gk20a_platform *platform = dev_get_drvdata(dev);
538 int ret = 0; 543 int ret = 0;
539 544
540 if (platform->is_fmodel || 545 if (g->is_fmodel ||
541 !tegra_dvfs_is_rail_up(platform->gpu_rail)) 546 !tegra_dvfs_is_rail_up(platform->gpu_rail))
542 return 0; 547 return 0;
543 548
@@ -601,7 +606,7 @@ static int gm20b_tegra_unrailgate(struct device *dev)
601 int ret = 0; 606 int ret = 0;
602 bool first = false; 607 bool first = false;
603 608
604 if (platform->is_fmodel) 609 if (g->is_fmodel)
605 return 0; 610 return 0;
606 611
607#ifdef CONFIG_TEGRA_CLK_FRAMEWORK 612#ifdef CONFIG_TEGRA_CLK_FRAMEWORK