summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2016-03-29 19:02:34 -0400
committerTerje Bergstrom <tbergstrom@nvidia.com>2016-04-08 12:42:41 -0400
commite8bac374c0ed24f05bf389e1e8b5aca47f61bd3a (patch)
tree36b6e111f8706c0560ee552bc9d6e15b87fc9621 /drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
parent2382a8433fddaee3baecff6ae941944850787ab7 (diff)
gpu: nvgpu: Use device instead of platform_device
Use struct device instead of struct platform_device wherever possible. This allows adding other bus types later. Change-Id: I1657287a68d85a542cdbdd8a00d1902c3d6e00ed Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/1120466
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c31
1 files changed, 14 insertions, 17 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
index d087d89e..321cebb2 100644
--- a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
@@ -65,7 +65,6 @@ static int gk20a_dbg_gpu_do_dev_open(struct inode *inode,
65 struct dbg_session_gk20a *dbg_session; 65 struct dbg_session_gk20a *dbg_session;
66 struct gk20a *g; 66 struct gk20a *g;
67 67
68 struct platform_device *pdev;
69 struct device *dev; 68 struct device *dev;
70 69
71 int err; 70 int err;
@@ -76,8 +75,7 @@ static int gk20a_dbg_gpu_do_dev_open(struct inode *inode,
76 else 75 else
77 g = container_of(inode->i_cdev, 76 g = container_of(inode->i_cdev,
78 struct gk20a, prof.cdev); 77 struct gk20a, prof.cdev);
79 pdev = g->dev; 78 dev = g->dev;
80 dev = &pdev->dev;
81 79
82 gk20a_dbg(gpu_dbg_fn | gpu_dbg_gpu_dbg, "dbg session: %s", dev_name(dev)); 80 gk20a_dbg(gpu_dbg_fn | gpu_dbg_gpu_dbg, "dbg session: %s", dev_name(dev));
83 81
@@ -86,7 +84,6 @@ static int gk20a_dbg_gpu_do_dev_open(struct inode *inode,
86 return err; 84 return err;
87 85
88 filp->private_data = dbg_session; 86 filp->private_data = dbg_session;
89 dbg_session->pdev = pdev;
90 dbg_session->dev = dev; 87 dbg_session->dev = dev;
91 dbg_session->g = g; 88 dbg_session->g = g;
92 dbg_session->is_profiler = is_profiler; 89 dbg_session->is_profiler = is_profiler;
@@ -95,7 +92,7 @@ static int gk20a_dbg_gpu_do_dev_open(struct inode *inode,
95 /* For vgpu, all power-gating features are currently disabled 92 /* For vgpu, all power-gating features are currently disabled
96 * in the server. Set is_pg_disable to true to reflect this 93 * in the server. Set is_pg_disable to true to reflect this
97 * on the client side. */ 94 * on the client side. */
98 if (gk20a_gpu_is_virtual(pdev)) 95 if (gk20a_gpu_is_virtual(dev))
99 dbg_session->is_pg_disabled = true; 96 dbg_session->is_pg_disabled = true;
100 97
101 INIT_LIST_HEAD(&dbg_session->dbg_s_list_node); 98 INIT_LIST_HEAD(&dbg_session->dbg_s_list_node);
@@ -486,7 +483,7 @@ static int nvgpu_dbg_gpu_ioctl_timeout(struct dbg_session_gk20a *dbg_s,
486 struct nvgpu_dbg_gpu_timeout_args *args) 483 struct nvgpu_dbg_gpu_timeout_args *args)
487{ 484{
488 int err; 485 int err;
489 struct gk20a *g = get_gk20a(dbg_s->pdev); 486 struct gk20a *g = get_gk20a(dbg_s->dev);
490 487
491 gk20a_dbg_fn("powergate mode = %d", args->enable); 488 gk20a_dbg_fn("powergate mode = %d", args->enable);
492 489
@@ -501,7 +498,7 @@ static void nvgpu_dbg_gpu_ioctl_get_timeout(struct dbg_session_gk20a *dbg_s,
501 struct nvgpu_dbg_gpu_timeout_args *args) 498 struct nvgpu_dbg_gpu_timeout_args *args)
502{ 499{
503 int status; 500 int status;
504 struct gk20a *g = get_gk20a(dbg_s->pdev); 501 struct gk20a *g = get_gk20a(dbg_s->dev);
505 502
506 mutex_lock(&g->dbg_sessions_lock); 503 mutex_lock(&g->dbg_sessions_lock);
507 status = g->timeouts_enabled; 504 status = g->timeouts_enabled;
@@ -532,7 +529,7 @@ long gk20a_dbg_gpu_dev_ioctl(struct file *filp, unsigned int cmd,
532 unsigned long arg) 529 unsigned long arg)
533{ 530{
534 struct dbg_session_gk20a *dbg_s = filp->private_data; 531 struct dbg_session_gk20a *dbg_s = filp->private_data;
535 struct gk20a *g = get_gk20a(dbg_s->pdev); 532 struct gk20a *g = get_gk20a(dbg_s->dev);
536 u8 buf[NVGPU_DBG_GPU_IOCTL_MAX_ARG_SIZE]; 533 u8 buf[NVGPU_DBG_GPU_IOCTL_MAX_ARG_SIZE];
537 int err = 0; 534 int err = 0;
538 535
@@ -672,7 +669,7 @@ static int nvgpu_ioctl_channel_reg_ops(struct dbg_session_gk20a *dbg_s,
672 bool is_pg_disabled = false; 669 bool is_pg_disabled = false;
673 670
674 struct device *dev = dbg_s->dev; 671 struct device *dev = dbg_s->dev;
675 struct gk20a *g = get_gk20a(dbg_s->pdev); 672 struct gk20a *g = get_gk20a(dbg_s->dev);
676 struct nvgpu_dbg_gpu_reg_op *ops; 673 struct nvgpu_dbg_gpu_reg_op *ops;
677 u64 ops_size = sizeof(ops[0]) * args->num_ops; 674 u64 ops_size = sizeof(ops[0]) * args->num_ops;
678 675
@@ -689,7 +686,7 @@ static int nvgpu_ioctl_channel_reg_ops(struct dbg_session_gk20a *dbg_s,
689 } 686 }
690 687
691 /* be sure that ctx info is in place */ 688 /* be sure that ctx info is in place */
692 if (!gk20a_gpu_is_virtual(dbg_s->pdev) && 689 if (!gk20a_gpu_is_virtual(dbg_s->dev) &&
693 !gr_context_info_available(dbg_s, &g->gr)) { 690 !gr_context_info_available(dbg_s, &g->gr)) {
694 gk20a_err(dev, "gr context data not available\n"); 691 gk20a_err(dev, "gr context data not available\n");
695 return -ENODEV; 692 return -ENODEV;
@@ -757,7 +754,7 @@ static int dbg_set_powergate(struct dbg_session_gk20a *dbg_s,
757 __u32 powermode) 754 __u32 powermode)
758{ 755{
759 int err = 0; 756 int err = 0;
760 struct gk20a *g = get_gk20a(dbg_s->pdev); 757 struct gk20a *g = get_gk20a(dbg_s->dev);
761 758
762 /* This function must be called with g->dbg_sessions_lock held */ 759 /* This function must be called with g->dbg_sessions_lock held */
763 760
@@ -786,7 +783,7 @@ static int dbg_set_powergate(struct dbg_session_gk20a *dbg_s,
786 if (err) 783 if (err)
787 return err; 784 return err;
788 785
789 err = gk20a_busy(dbg_s->pdev); 786 err = gk20a_busy(dbg_s->dev);
790 if (err) 787 if (err)
791 return -EPERM; 788 return -EPERM;
792 789
@@ -838,7 +835,7 @@ static int dbg_set_powergate(struct dbg_session_gk20a *dbg_s,
838 gk20a_pmu_enable_elpg(g); 835 gk20a_pmu_enable_elpg(g);
839 836
840 gk20a_dbg(gpu_dbg_gpu_dbg | gpu_dbg_fn, "module idle"); 837 gk20a_dbg(gpu_dbg_gpu_dbg | gpu_dbg_fn, "module idle");
841 gk20a_idle(dbg_s->pdev); 838 gk20a_idle(dbg_s->dev);
842 gk20a_idle(g->dev); 839 gk20a_idle(g->dev);
843 } 840 }
844 841
@@ -862,7 +859,7 @@ static int nvgpu_ioctl_powergate_gk20a(struct dbg_session_gk20a *dbg_s,
862 struct nvgpu_dbg_gpu_powergate_args *args) 859 struct nvgpu_dbg_gpu_powergate_args *args)
863{ 860{
864 int err; 861 int err;
865 struct gk20a *g = get_gk20a(dbg_s->pdev); 862 struct gk20a *g = get_gk20a(dbg_s->dev);
866 gk20a_dbg_fn("%s powergate mode = %d", 863 gk20a_dbg_fn("%s powergate mode = %d",
867 dev_name(dbg_s->dev), args->mode); 864 dev_name(dbg_s->dev), args->mode);
868 865
@@ -876,7 +873,7 @@ static int nvgpu_dbg_gpu_ioctl_smpc_ctxsw_mode(struct dbg_session_gk20a *dbg_s,
876 struct nvgpu_dbg_gpu_smpc_ctxsw_mode_args *args) 873 struct nvgpu_dbg_gpu_smpc_ctxsw_mode_args *args)
877{ 874{
878 int err; 875 int err;
879 struct gk20a *g = get_gk20a(dbg_s->pdev); 876 struct gk20a *g = get_gk20a(dbg_s->dev);
880 struct channel_gk20a *ch_gk20a; 877 struct channel_gk20a *ch_gk20a;
881 878
882 gk20a_dbg_fn("%s smpc ctxsw mode = %d", 879 gk20a_dbg_fn("%s smpc ctxsw mode = %d",
@@ -912,7 +909,7 @@ static int nvgpu_dbg_gpu_ioctl_hwpm_ctxsw_mode(struct dbg_session_gk20a *dbg_s,
912 struct nvgpu_dbg_gpu_hwpm_ctxsw_mode_args *args) 909 struct nvgpu_dbg_gpu_hwpm_ctxsw_mode_args *args)
913{ 910{
914 int err; 911 int err;
915 struct gk20a *g = get_gk20a(dbg_s->pdev); 912 struct gk20a *g = get_gk20a(dbg_s->dev);
916 struct channel_gk20a *ch_gk20a; 913 struct channel_gk20a *ch_gk20a;
917 914
918 gk20a_dbg_fn("%s pm ctxsw mode = %d", 915 gk20a_dbg_fn("%s pm ctxsw mode = %d",
@@ -948,7 +945,7 @@ static int nvgpu_dbg_gpu_ioctl_suspend_resume_sm(
948 struct dbg_session_gk20a *dbg_s, 945 struct dbg_session_gk20a *dbg_s,
949 struct nvgpu_dbg_gpu_suspend_resume_all_sms_args *args) 946 struct nvgpu_dbg_gpu_suspend_resume_all_sms_args *args)
950{ 947{
951 struct gk20a *g = get_gk20a(dbg_s->pdev); 948 struct gk20a *g = get_gk20a(dbg_s->dev);
952 struct channel_gk20a *ch = dbg_s->ch; 949 struct channel_gk20a *ch = dbg_s->ch;
953 bool ch_is_curr_ctx; 950 bool ch_is_curr_ctx;
954 int err = 0, action = args->mode; 951 int err = 0, action = args->mode;