summaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2017-10-30 09:53:17 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-11-02 08:10:59 -0400
commit0aa4cea63b906401df1bece74cef4a566054cf59 (patch)
tree3e44c0e472d4872d4b47c201a657e11149042540 /drivers/gpu
parent00b255cf43a2f85d4d9a0378c4a85e7a20e6adc8 (diff)
gpu: nvgpu: use struct gk20a for create_gr_sysfs
API gr_gp10b_create_sysfs() and GR HAL create_gr_sysfs() right now receive linux specific struct device But since this function is called from/declared in common code, we need to remove linux dependency from it Hence update the API and GR HAL to receive struct gk20a pointer instead of device pointer Jira NVGPU-259 Change-Id: I7effa16407d47a2ab5f9562ec4a4dec975a32d6c Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1588464 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/nvgpu/common/linux/platform_gp10b_tegra.c6
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h2
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_gk20a.c2
-rw-r--r--drivers/gpu/nvgpu/gp10b/gr_gp10b.h2
4 files changed, 7 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/platform_gp10b_tegra.c b/drivers/gpu/nvgpu/common/linux/platform_gp10b_tegra.c
index fb8686c2..1f7a7694 100644
--- a/drivers/gpu/nvgpu/common/linux/platform_gp10b_tegra.c
+++ b/drivers/gpu/nvgpu/common/linux/platform_gp10b_tegra.c
@@ -31,6 +31,8 @@
31#include <nvgpu/hashtable.h> 31#include <nvgpu/hashtable.h>
32#include <nvgpu/nvhost.h> 32#include <nvgpu/nvhost.h>
33 33
34#include "os_linux.h"
35
34#include "clk.h" 36#include "clk.h"
35 37
36#include "gk20a/platform_gk20a.h" 38#include "gk20a/platform_gk20a.h"
@@ -610,10 +612,10 @@ void gp10b_ecc_stat_remove(struct device *dev,
610 nvgpu_kfree(g, dev_attr_array); 612 nvgpu_kfree(g, dev_attr_array);
611} 613}
612 614
613void gr_gp10b_create_sysfs(struct device *dev) 615void gr_gp10b_create_sysfs(struct gk20a *g)
614{ 616{
615 int error = 0; 617 int error = 0;
616 struct gk20a *g = get_gk20a(dev); 618 struct device *dev = dev_from_gk20a(g);
617 619
618 /* This stat creation function is called on GR init. GR can get 620 /* This stat creation function is called on GR init. GR can get
619 initialized multiple times but we only need to create the ECC 621 initialized multiple times but we only need to create the ECC
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index 20e0450e..7e7d9688 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -356,7 +356,7 @@ struct gpu_ops {
356 u32 gpc_exception); 356 u32 gpc_exception);
357 void (*enable_gpc_exceptions)(struct gk20a *g); 357 void (*enable_gpc_exceptions)(struct gk20a *g);
358 void (*enable_exceptions)(struct gk20a *g); 358 void (*enable_exceptions)(struct gk20a *g);
359 void (*create_gr_sysfs)(struct device *dev); 359 void (*create_gr_sysfs)(struct gk20a *g);
360 u32 (*get_lrf_tex_ltc_dram_override)(struct gk20a *g); 360 u32 (*get_lrf_tex_ltc_dram_override)(struct gk20a *g);
361 int (*record_sm_error_state)(struct gk20a *g, 361 int (*record_sm_error_state)(struct gk20a *g,
362 u32 gpc, u32 tpc); 362 u32 gpc, u32 tpc);
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
index a95368c3..e30c595e 100644
--- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
@@ -4865,7 +4865,7 @@ static int gk20a_init_gr_setup_sw(struct gk20a *g)
4865 gr->sw_ready = true; 4865 gr->sw_ready = true;
4866 4866
4867 if (g->ops.gr.create_gr_sysfs) 4867 if (g->ops.gr.create_gr_sysfs)
4868 g->ops.gr.create_gr_sysfs(dev_from_gk20a(g)); 4868 g->ops.gr.create_gr_sysfs(g);
4869 4869
4870 gk20a_dbg_fn("done"); 4870 gk20a_dbg_fn("done");
4871 return 0; 4871 return 0;
diff --git a/drivers/gpu/nvgpu/gp10b/gr_gp10b.h b/drivers/gpu/nvgpu/gp10b/gr_gp10b.h
index a537f147..45ac5305 100644
--- a/drivers/gpu/nvgpu/gp10b/gr_gp10b.h
+++ b/drivers/gpu/nvgpu/gp10b/gr_gp10b.h
@@ -56,7 +56,7 @@ enum {
56int gr_gp10b_init_fs_state(struct gk20a *g); 56int gr_gp10b_init_fs_state(struct gk20a *g);
57int gr_gp10b_alloc_buffer(struct vm_gk20a *vm, size_t size, 57int gr_gp10b_alloc_buffer(struct vm_gk20a *vm, size_t size,
58 struct nvgpu_mem *mem); 58 struct nvgpu_mem *mem);
59void gr_gp10b_create_sysfs(struct device *dev); 59void gr_gp10b_create_sysfs(struct gk20a *g);
60int gr_gp10b_handle_fecs_error(struct gk20a *g, 60int gr_gp10b_handle_fecs_error(struct gk20a *g,
61 struct channel_gk20a *__ch, 61 struct channel_gk20a *__ch,
62 struct gr_gk20a_isr_data *isr_data); 62 struct gr_gk20a_isr_data *isr_data);