summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2014-04-15 03:54:45 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:09:40 -0400
commitf66cb9093d3ec74f18cc52ee44de88c9501e2cca (patch)
tree5fba19336bb3f5a94e0cd49c51a8223578267d1f /drivers/gpu/nvgpu
parent7a27ca81d23b5d1220e0659d4673913124cf68f7 (diff)
gpu: nvgpu: Separate gm20b configuration
Separate gm20b platform data from gk20a data. Change-Id: Ie90ebc9e06ba94dfe852dfe07c163cd00fd90a9c Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/396376 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Arto Merilainen <amerilainen@nvidia.com> Reviewed-by: Bo Yan <byan@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.c2
-rw-r--r--drivers/gpu/nvgpu/gk20a/platform_gk20a.h1
-rw-r--r--drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c25
3 files changed, 27 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c
index 4e06e139..864d6229 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.c
@@ -929,7 +929,7 @@ static struct of_device_id tegra_gk20a_of_match[] = {
929 { .compatible = "nvidia,tegra124-gk20a", 929 { .compatible = "nvidia,tegra124-gk20a",
930 .data = &gk20a_tegra_platform }, 930 .data = &gk20a_tegra_platform },
931 { .compatible = "nvidia,tegra210-gm20b", 931 { .compatible = "nvidia,tegra210-gm20b",
932 .data = &gk20a_tegra_platform }, 932 .data = &gm20b_tegra_platform },
933#endif 933#endif
934 { .compatible = "nvidia,generic-gk20a", 934 { .compatible = "nvidia,generic-gk20a",
935 .data = &gk20a_generic_platform }, 935 .data = &gk20a_generic_platform },
diff --git a/drivers/gpu/nvgpu/gk20a/platform_gk20a.h b/drivers/gpu/nvgpu/gk20a/platform_gk20a.h
index 90333eef..d9d86b63 100644
--- a/drivers/gpu/nvgpu/gk20a/platform_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/platform_gk20a.h
@@ -121,6 +121,7 @@ static inline struct gk20a_platform *gk20a_get_platform(
121extern struct gk20a_platform gk20a_generic_platform; 121extern struct gk20a_platform gk20a_generic_platform;
122#ifdef CONFIG_TEGRA_GK20A 122#ifdef CONFIG_TEGRA_GK20A
123extern struct gk20a_platform gk20a_tegra_platform; 123extern struct gk20a_platform gk20a_tegra_platform;
124extern struct gk20a_platform gm20b_tegra_platform;
124#endif 125#endif
125 126
126static inline bool gk20a_platform_has_syncpoints(struct platform_device *dev) 127static inline bool gk20a_platform_has_syncpoints(struct platform_device *dev)
diff --git a/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c b/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c
index ea49a124..05aec1a7 100644
--- a/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c
+++ b/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c
@@ -519,6 +519,31 @@ struct gk20a_platform gk20a_tegra_platform = {
519 .dump_platform_dependencies = gk20a_tegra_debug_dump, 519 .dump_platform_dependencies = gk20a_tegra_debug_dump,
520}; 520};
521 521
522struct gk20a_platform gm20b_tegra_platform = {
523 .has_syncpoints = true,
524
525 /* power management configuration */
526 .railgate_delay = 500,
527 .clockgate_delay = 50,
528
529 .probe = gk20a_tegra_probe,
530 .late_probe = gk20a_tegra_late_probe,
531
532 /* power management callbacks */
533 .suspend = gk20a_tegra_suspend,
534
535 /* frequency scaling configuration */
536 .prescale = gk20a_tegra_prescale,
537 .postscale = gk20a_tegra_postscale,
538 .devfreq_governor = "nvhost_podgov",
539 .qos_id = PM_QOS_GPU_FREQ_MIN,
540
541 .channel_busy = gk20a_tegra_channel_busy,
542 .channel_idle = gk20a_tegra_channel_idle,
543 .secure_alloc = gk20a_tegra_secure_alloc,
544 .dump_platform_dependencies = gk20a_tegra_debug_dump,
545};
546
522struct platform_device tegra_gk20a_device = { 547struct platform_device tegra_gk20a_device = {
523 .name = "gk20a", 548 .name = "gk20a",
524 .resource = gk20a_tegra_resources, 549 .resource = gk20a_tegra_resources,