diff options
author | Konsta Holtta <kholtta@nvidia.com> | 2014-10-02 08:09:20 -0400 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-03-18 15:11:36 -0400 |
commit | 2870a4bcecf93133141aee9f4d9007f0df22cfa8 (patch) | |
tree | 4494762e8b0710dc37b318b8d3915f547a0d10af /drivers/gpu/nvgpu/gk20a | |
parent | 17e4b7ff3f48aca2d258f246a1eef4ed32dd53a2 (diff) |
gpu: nvgpu: Add no-op stubs for vgpu
Implement empty or -ENOSYS functions for vgpu if
CONFIG_TEGRA_GR_VIRTUALIZATION is not enabled, and remove ifdefs around
the calling code.
Change-Id: Idc75c9bc486d661786bc222bd9e0380aa7766e78
Signed-off-by: Konsta Holtta <kholtta@nvidia.com>
Reviewed-on: http://git-master/r/552898
Reviewed-by: Aingara Paramakuru <aparamakuru@nvidia.com>
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/ctrl_gk20a.c | 4 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.c | 39 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/platform_gk20a.h | 2 |
3 files changed, 14 insertions, 31 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/ctrl_gk20a.c b/drivers/gpu/nvgpu/gk20a/ctrl_gk20a.c index cd70d7c3..ca587d00 100644 --- a/drivers/gpu/nvgpu/gk20a/ctrl_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/ctrl_gk20a.c | |||
@@ -161,9 +161,7 @@ long gk20a_ctrl_dev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg | |||
161 | struct zbc_entry *zbc_val; | 161 | struct zbc_entry *zbc_val; |
162 | struct zbc_query_params *zbc_tbl; | 162 | struct zbc_query_params *zbc_tbl; |
163 | int i, err = 0; | 163 | int i, err = 0; |
164 | #ifdef CONFIG_TEGRA_GR_VIRTUALIZATION | ||
165 | struct gk20a_platform *platform = platform_get_drvdata(dev); | 164 | struct gk20a_platform *platform = platform_get_drvdata(dev); |
166 | #endif | ||
167 | 165 | ||
168 | gk20a_dbg_fn(""); | 166 | gk20a_dbg_fn(""); |
169 | 167 | ||
@@ -225,10 +223,8 @@ long gk20a_ctrl_dev_ioctl(struct file *filp, unsigned int cmd, unsigned long arg | |||
225 | case NVGPU_GPU_IOCTL_ZBC_SET_TABLE: | 223 | case NVGPU_GPU_IOCTL_ZBC_SET_TABLE: |
226 | set_table_args = (struct nvgpu_gpu_zbc_set_table_args *)buf; | 224 | set_table_args = (struct nvgpu_gpu_zbc_set_table_args *)buf; |
227 | 225 | ||
228 | #ifdef CONFIG_TEGRA_GR_VIRTUALIZATION | ||
229 | if (platform->virtual_dev) | 226 | if (platform->virtual_dev) |
230 | return -ENOMEM; | 227 | return -ENOMEM; |
231 | #endif | ||
232 | 228 | ||
233 | zbc_val = kzalloc(sizeof(struct zbc_entry), GFP_KERNEL); | 229 | zbc_val = kzalloc(sizeof(struct zbc_entry), GFP_KERNEL); |
234 | if (zbc_val == NULL) | 230 | if (zbc_val == NULL) |
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index ae108875..b0e8b476 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c | |||
@@ -59,9 +59,7 @@ | |||
59 | #include "gk20a_scale.h" | 59 | #include "gk20a_scale.h" |
60 | #include "dbg_gpu_gk20a.h" | 60 | #include "dbg_gpu_gk20a.h" |
61 | #include "hal.h" | 61 | #include "hal.h" |
62 | #ifdef CONFIG_TEGRA_GR_VIRTUALIZATION | ||
63 | #include "vgpu/vgpu.h" | 62 | #include "vgpu/vgpu.h" |
64 | #endif | ||
65 | 63 | ||
66 | #define CREATE_TRACE_POINTS | 64 | #define CREATE_TRACE_POINTS |
67 | #include <trace/events/gk20a.h> | 65 | #include <trace/events/gk20a.h> |
@@ -739,21 +737,17 @@ static int gk20a_init_support(struct platform_device *dev) | |||
739 | static int gk20a_init_client(struct platform_device *dev) | 737 | static int gk20a_init_client(struct platform_device *dev) |
740 | { | 738 | { |
741 | struct gk20a *g = get_gk20a(dev); | 739 | struct gk20a *g = get_gk20a(dev); |
740 | struct gk20a_platform *platform = gk20a_get_platform(dev); | ||
742 | int err; | 741 | int err; |
743 | 742 | ||
744 | gk20a_dbg_fn(""); | 743 | gk20a_dbg_fn(""); |
745 | 744 | ||
746 | #ifdef CONFIG_TEGRA_GR_VIRTUALIZATION | 745 | if (platform->virtual_dev) { |
747 | { | 746 | err = vgpu_pm_finalize_poweron(&dev->dev); |
748 | struct gk20a_platform *platform = gk20a_get_platform(dev); | 747 | if (err) |
749 | 748 | return err; | |
750 | if (platform->virtual_dev) { | ||
751 | err = vgpu_pm_finalize_poweron(&dev->dev); | ||
752 | if (err) | ||
753 | return err; | ||
754 | } | ||
755 | } | 749 | } |
756 | #endif | 750 | |
757 | #ifndef CONFIG_PM_RUNTIME | 751 | #ifndef CONFIG_PM_RUNTIME |
758 | gk20a_pm_finalize_poweron(&dev->dev); | 752 | gk20a_pm_finalize_poweron(&dev->dev); |
759 | #endif | 753 | #endif |
@@ -769,17 +763,15 @@ static int gk20a_init_client(struct platform_device *dev) | |||
769 | 763 | ||
770 | static void gk20a_deinit_client(struct platform_device *dev) | 764 | static void gk20a_deinit_client(struct platform_device *dev) |
771 | { | 765 | { |
766 | struct gk20a_platform *platform = gk20a_get_platform(dev); | ||
767 | |||
772 | gk20a_dbg_fn(""); | 768 | gk20a_dbg_fn(""); |
773 | #ifdef CONFIG_TEGRA_GR_VIRTUALIZATION | ||
774 | { | ||
775 | struct gk20a_platform *platform = gk20a_get_platform(dev); | ||
776 | 769 | ||
777 | if (platform->virtual_dev) { | 770 | if (platform->virtual_dev) { |
778 | vgpu_pm_prepare_poweroff(&dev->dev); | 771 | vgpu_pm_prepare_poweroff(&dev->dev); |
779 | return; | 772 | return; |
780 | } | ||
781 | } | 773 | } |
782 | #endif | 774 | |
783 | #ifndef CONFIG_PM_RUNTIME | 775 | #ifndef CONFIG_PM_RUNTIME |
784 | gk20a_pm_prepare_poweroff(&dev->dev); | 776 | gk20a_pm_prepare_poweroff(&dev->dev); |
785 | #endif | 777 | #endif |
@@ -1442,10 +1434,8 @@ static int gk20a_probe(struct platform_device *dev) | |||
1442 | 1434 | ||
1443 | platform_set_drvdata(dev, platform); | 1435 | platform_set_drvdata(dev, platform); |
1444 | 1436 | ||
1445 | #ifdef CONFIG_TEGRA_GR_VIRTUALIZATION | ||
1446 | if (platform->virtual_dev) | 1437 | if (platform->virtual_dev) |
1447 | return vgpu_probe(dev); | 1438 | return vgpu_probe(dev); |
1448 | #endif | ||
1449 | 1439 | ||
1450 | gk20a = kzalloc(sizeof(struct gk20a), GFP_KERNEL); | 1440 | gk20a = kzalloc(sizeof(struct gk20a), GFP_KERNEL); |
1451 | if (!gk20a) { | 1441 | if (!gk20a) { |
@@ -1590,15 +1580,12 @@ static int gk20a_probe(struct platform_device *dev) | |||
1590 | static int __exit gk20a_remove(struct platform_device *dev) | 1580 | static int __exit gk20a_remove(struct platform_device *dev) |
1591 | { | 1581 | { |
1592 | struct gk20a *g = get_gk20a(dev); | 1582 | struct gk20a *g = get_gk20a(dev); |
1593 | #ifdef CONFIG_TEGRA_GR_VIRTUALIZATION | ||
1594 | struct gk20a_platform *platform = gk20a_get_platform(dev); | 1583 | struct gk20a_platform *platform = gk20a_get_platform(dev); |
1595 | #endif | 1584 | |
1596 | gk20a_dbg_fn(""); | 1585 | gk20a_dbg_fn(""); |
1597 | 1586 | ||
1598 | #ifdef CONFIG_TEGRA_GR_VIRTUALIZATION | ||
1599 | if (platform->virtual_dev) | 1587 | if (platform->virtual_dev) |
1600 | return vgpu_remove(dev); | 1588 | return vgpu_remove(dev); |
1601 | #endif | ||
1602 | 1589 | ||
1603 | #ifdef CONFIG_INPUT_CFBOOST | 1590 | #ifdef CONFIG_INPUT_CFBOOST |
1604 | if (g->boost_added) | 1591 | if (g->boost_added) |
diff --git a/drivers/gpu/nvgpu/gk20a/platform_gk20a.h b/drivers/gpu/nvgpu/gk20a/platform_gk20a.h index e6ed9898..ce0209fb 100644 --- a/drivers/gpu/nvgpu/gk20a/platform_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/platform_gk20a.h | |||
@@ -152,8 +152,8 @@ struct gk20a_platform { | |||
152 | */ | 152 | */ |
153 | void (*dump_platform_dependencies)(struct platform_device *dev); | 153 | void (*dump_platform_dependencies)(struct platform_device *dev); |
154 | 154 | ||
155 | #ifdef CONFIG_TEGRA_GR_VIRTUALIZATION | ||
156 | bool virtual_dev; | 155 | bool virtual_dev; |
156 | #ifdef CONFIG_TEGRA_GR_VIRTUALIZATION | ||
157 | u64 virt_handle; | 157 | u64 virt_handle; |
158 | struct task_struct *intr_handler; | 158 | struct task_struct *intr_handler; |
159 | #endif | 159 | #endif |