diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c | 31 |
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; |