From b7fca01b0e01544c3a66d2e05a8b99bcb621a004 Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Fri, 14 Apr 2017 13:19:04 -0700 Subject: gpu: nvgpu: Scrub gk20a_platform dependencies Remove gk20a_platform dependencies from gk20a.h. This makes gk20a_platform a Linux platform specific data structure. Add #include for platform_gk20a.h in the source files that still depend on Linux. JIRA NVGPU-16 Change-Id: Ib098accd34a1f5066eb8680c387f9b178169f3f0 Signed-off-by: Terje Bergstrom Reviewed-on: http://git-master/r/1463547 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/clk/clk_arb.c | 8 ++++-- drivers/gpu/nvgpu/clk/clk_common.c | 1 + drivers/gpu/nvgpu/clk/clk_mclk.c | 3 +++ drivers/gpu/nvgpu/common/linux/dma.c | 1 + drivers/gpu/nvgpu/common/linux/driver_common.c | 1 + drivers/gpu/nvgpu/common/linux/firmware.c | 1 + drivers/gpu/nvgpu/common/linux/ioctl.c | 1 + drivers/gpu/nvgpu/common/linux/ioctl_as.c | 1 + drivers/gpu/nvgpu/common/linux/ioctl_ctrl.c | 1 + drivers/gpu/nvgpu/common/linux/ioctl_tsg.c | 1 + drivers/gpu/nvgpu/common/linux/module.c | 1 + drivers/gpu/nvgpu/common/linux/timers.c | 1 + drivers/gpu/nvgpu/common/mm/nvgpu_allocator.c | 2 ++ drivers/gpu/nvgpu/gk20a/cde_gk20a.c | 1 + drivers/gpu/nvgpu/gk20a/ce2_gk20a.c | 4 +++ drivers/gpu/nvgpu/gk20a/channel_gk20a.c | 4 --- drivers/gpu/nvgpu/gk20a/ctxsw_trace_gk20a.c | 1 + drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c | 1 + drivers/gpu/nvgpu/gk20a/debug_gk20a.c | 1 + drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.c | 1 + drivers/gpu/nvgpu/gk20a/fifo_gk20a.c | 4 +++ drivers/gpu/nvgpu/gk20a/gk20a.c | 1 + drivers/gpu/nvgpu/gk20a/gk20a.h | 34 -------------------------- drivers/gpu/nvgpu/gk20a/gk20a_scale.c | 1 + drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c | 1 + drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 5 +++- drivers/gpu/nvgpu/gk20a/mm_gk20a.c | 7 +++--- drivers/gpu/nvgpu/gk20a/platform_gk20a.h | 34 ++++++++++++++++++++++++++ drivers/gpu/nvgpu/gk20a/pmu_gk20a.c | 12 ++++----- drivers/gpu/nvgpu/gk20a/sched_gk20a.c | 1 + drivers/gpu/nvgpu/gk20a/sim_gk20a.c | 1 + drivers/gpu/nvgpu/gm206/bios_gm206.c | 1 + drivers/gpu/nvgpu/gm20b/clk_gm20b.c | 1 + drivers/gpu/nvgpu/gp106/clk_gp106.c | 3 +++ drivers/gpu/nvgpu/gp106/therm_gp106.c | 4 ++- drivers/gpu/nvgpu/gp106/xve_gp106.c | 4 +++ drivers/gpu/nvgpu/gp10b/gp10b_sysfs.c | 1 + drivers/gpu/nvgpu/gp10b/mm_gp10b.c | 1 + drivers/gpu/nvgpu/pmgr/pmgr.c | 1 + drivers/gpu/nvgpu/pmgr/pmgrpmu.c | 1 + drivers/gpu/nvgpu/pmgr/pwrpolicy.c | 1 + drivers/gpu/nvgpu/tegra/linux/clk.c | 1 + drivers/gpu/nvgpu/vgpu/vgpu.h | 1 + 43 files changed, 106 insertions(+), 51 deletions(-) (limited to 'drivers/gpu/nvgpu') diff --git a/drivers/gpu/nvgpu/clk/clk_arb.c b/drivers/gpu/nvgpu/clk/clk_arb.c index 15439817..4400f3bb 100644 --- a/drivers/gpu/nvgpu/clk/clk_arb.c +++ b/drivers/gpu/nvgpu/clk/clk_arb.c @@ -26,10 +26,15 @@ #include #include #include +#include #include "gk20a/gk20a.h" #include "clk/clk_arb.h" +#ifdef CONFIG_DEBUG_FS +#include "gk20a/platform_gk20a.h" +#endif + #define MAX_F_POINTS 256 #define DEFAULT_EVENT_NUMBER 32 @@ -1482,8 +1487,7 @@ static long nvgpu_clk_arb_ioctl_event_dev(struct file *filp, unsigned int cmd, (struct nvgpu_gpu_set_event_filter_args *)buf); break; default: - dev_dbg(dev_from_gk20a(g), - "unrecognized event ioctl cmd: 0x%x", cmd); + nvgpu_warn(g, "unrecognized event ioctl cmd: 0x%x", cmd); err = -ENOTTY; } diff --git a/drivers/gpu/nvgpu/clk/clk_common.c b/drivers/gpu/nvgpu/clk/clk_common.c index 3230ded0..0704ba2b 100644 --- a/drivers/gpu/nvgpu/clk/clk_common.c +++ b/drivers/gpu/nvgpu/clk/clk_common.c @@ -17,6 +17,7 @@ #include #include "gk20a/gk20a.h" +#include "gk20a/platform_gk20a.h" struct clk *gk20a_clk_get(struct gk20a *g) { diff --git a/drivers/gpu/nvgpu/clk/clk_mclk.c b/drivers/gpu/nvgpu/clk/clk_mclk.c index cf04c98c..3996c0e1 100644 --- a/drivers/gpu/nvgpu/clk/clk_mclk.c +++ b/drivers/gpu/nvgpu/clk/clk_mclk.c @@ -18,6 +18,9 @@ #include "gk20a/gk20a.h" #include "gk20a/pmu_gk20a.h" +#ifdef CONFIG_DEBUG_FS +#include "gk20a/platform_gk20a.h" +#endif #include #include diff --git a/drivers/gpu/nvgpu/common/linux/dma.c b/drivers/gpu/nvgpu/common/linux/dma.c index d3d51f18..53f3a35e 100644 --- a/drivers/gpu/nvgpu/common/linux/dma.c +++ b/drivers/gpu/nvgpu/common/linux/dma.c @@ -25,6 +25,7 @@ #include #include "gk20a/gk20a.h" +#include "gk20a/platform_gk20a.h" #if defined(CONFIG_GK20A_VIDMEM) static u64 __nvgpu_dma_alloc(struct nvgpu_allocator *allocator, dma_addr_t at, diff --git a/drivers/gpu/nvgpu/common/linux/driver_common.c b/drivers/gpu/nvgpu/common/linux/driver_common.c index 8855ce1f..0d29223f 100644 --- a/drivers/gpu/nvgpu/common/linux/driver_common.c +++ b/drivers/gpu/nvgpu/common/linux/driver_common.c @@ -23,6 +23,7 @@ #include "gk20a/gk20a_scale.h" #include "gk20a/gk20a.h" +#include "gk20a/platform_gk20a.h" #include "module.h" #define EMC3D_DEFAULT_RATIO 750 diff --git a/drivers/gpu/nvgpu/common/linux/firmware.c b/drivers/gpu/nvgpu/common/linux/firmware.c index 43728f05..bc4e876a 100644 --- a/drivers/gpu/nvgpu/common/linux/firmware.c +++ b/drivers/gpu/nvgpu/common/linux/firmware.c @@ -21,6 +21,7 @@ #include #include "gk20a/gk20a.h" +#include "gk20a/platform_gk20a.h" static const struct firmware *do_request_firmware(struct device *dev, const char *prefix, const char *fw_name, int flags) diff --git a/drivers/gpu/nvgpu/common/linux/ioctl.c b/drivers/gpu/nvgpu/common/linux/ioctl.c index 0e88e91e..5a2753a5 100644 --- a/drivers/gpu/nvgpu/common/linux/ioctl.c +++ b/drivers/gpu/nvgpu/common/linux/ioctl.c @@ -21,6 +21,7 @@ #include #include "gk20a/gk20a.h" +#include "gk20a/platform_gk20a.h" #include "gk20a/dbg_gpu_gk20a.h" #include "gk20a/ctxsw_trace_gk20a.h" #include "ioctl_channel.h" diff --git a/drivers/gpu/nvgpu/common/linux/ioctl_as.c b/drivers/gpu/nvgpu/common/linux/ioctl_as.c index 31d99d26..4bbcedda 100644 --- a/drivers/gpu/nvgpu/common/linux/ioctl_as.c +++ b/drivers/gpu/nvgpu/common/linux/ioctl_as.c @@ -26,6 +26,7 @@ #include #include "gk20a/gk20a.h" +#include "gk20a/platform_gk20a.h" #include "ioctl_as.h" static int gk20a_as_ioctl_bind_channel( diff --git a/drivers/gpu/nvgpu/common/linux/ioctl_ctrl.c b/drivers/gpu/nvgpu/common/linux/ioctl_ctrl.c index 17090291..8d95dd35 100644 --- a/drivers/gpu/nvgpu/common/linux/ioctl_ctrl.c +++ b/drivers/gpu/nvgpu/common/linux/ioctl_ctrl.c @@ -28,6 +28,7 @@ #include "ioctl_ctrl.h" #include "ioctl_tsg.h" #include "gk20a/gk20a.h" +#include "gk20a/platform_gk20a.h" #include "gk20a/fence_gk20a.h" #include diff --git a/drivers/gpu/nvgpu/common/linux/ioctl_tsg.c b/drivers/gpu/nvgpu/common/linux/ioctl_tsg.c index e74ae2d7..e67965e1 100644 --- a/drivers/gpu/nvgpu/common/linux/ioctl_tsg.c +++ b/drivers/gpu/nvgpu/common/linux/ioctl_tsg.c @@ -26,6 +26,7 @@ #include #include "gk20a/gk20a.h" +#include "gk20a/platform_gk20a.h" #include "gk20a/tsg_gk20a.h" #include "ioctl_tsg.h" #include "ioctl_channel.h" diff --git a/drivers/gpu/nvgpu/common/linux/module.c b/drivers/gpu/nvgpu/common/linux/module.c index c73b4940..ab99bef0 100644 --- a/drivers/gpu/nvgpu/common/linux/module.c +++ b/drivers/gpu/nvgpu/common/linux/module.c @@ -30,6 +30,7 @@ #include #include "gk20a/gk20a.h" +#include "gk20a/platform_gk20a.h" #include "vgpu/vgpu.h" #include "gk20a/gk20a_scale.h" #include "gk20a/ctxsw_trace_gk20a.h" diff --git a/drivers/gpu/nvgpu/common/linux/timers.c b/drivers/gpu/nvgpu/common/linux/timers.c index 9fe84b50..efd04557 100644 --- a/drivers/gpu/nvgpu/common/linux/timers.c +++ b/drivers/gpu/nvgpu/common/linux/timers.c @@ -21,6 +21,7 @@ #include #include "gk20a/gk20a.h" +#include "gk20a/platform_gk20a.h" /* * Returns 1 if the platform is pre-Si and should ignore the timeout checking. diff --git a/drivers/gpu/nvgpu/common/mm/nvgpu_allocator.c b/drivers/gpu/nvgpu/common/mm/nvgpu_allocator.c index 115a0904..a3c4e3b6 100644 --- a/drivers/gpu/nvgpu/common/mm/nvgpu_allocator.c +++ b/drivers/gpu/nvgpu/common/mm/nvgpu_allocator.c @@ -20,7 +20,9 @@ #include "gk20a/gk20a.h" #include "gk20a/mm_gk20a.h" +#ifdef CONFIG_DEBUG_FS #include "gk20a/platform_gk20a.h" +#endif u32 nvgpu_alloc_tracing_on; diff --git a/drivers/gpu/nvgpu/gk20a/cde_gk20a.c b/drivers/gpu/nvgpu/gk20a/cde_gk20a.c index 74de7e8e..d5d75be5 100644 --- a/drivers/gpu/nvgpu/gk20a/cde_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/cde_gk20a.c @@ -20,6 +20,7 @@ #include #ifdef CONFIG_DEBUG_FS #include +#include "platform_gk20a.h" #endif #include diff --git a/drivers/gpu/nvgpu/gk20a/ce2_gk20a.c b/drivers/gpu/nvgpu/gk20a/ce2_gk20a.c index 8e3f1754..25d6462d 100644 --- a/drivers/gpu/nvgpu/gk20a/ce2_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/ce2_gk20a.c @@ -33,6 +33,10 @@ #include #include +#ifdef CONFIG_DEBUG_FS +#include "platform_gk20a.h" +#endif + static u32 ce2_nonblockpipe_isr(struct gk20a *g, u32 fifo_intr) { gk20a_dbg(gpu_dbg_intr, "ce2 non-blocking pipe interrupt\n"); diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c index 536ca9f3..31358468 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c @@ -2378,7 +2378,6 @@ int gk20a_submit_channel_gpfifo(struct channel_gk20a *c, struct fifo_profile_gk20a *profile) { struct gk20a *g = c->g; - struct device *d = dev_from_gk20a(g); struct priv_cmd_entry *wait_cmd = NULL; struct priv_cmd_entry *incr_cmd = NULL; struct gk20a_fence *pre_fence = NULL; @@ -2394,13 +2393,10 @@ int gk20a_submit_channel_gpfifo(struct channel_gk20a *c, bool need_deferred_cleanup = false; struct nvgpu_gpfifo __user *user_gpfifo = args ? (struct nvgpu_gpfifo __user *)(uintptr_t)args->gpfifo : NULL; - struct gk20a_platform *platform; if (g->driver_is_dying) return -ENODEV; - platform = gk20a_get_platform(d); - if (c->has_timedout) return -ETIMEDOUT; diff --git a/drivers/gpu/nvgpu/gk20a/ctxsw_trace_gk20a.c b/drivers/gpu/nvgpu/gk20a/ctxsw_trace_gk20a.c index f3b54355..50bcbe51 100644 --- a/drivers/gpu/nvgpu/gk20a/ctxsw_trace_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/ctxsw_trace_gk20a.c @@ -24,6 +24,7 @@ #include "ctxsw_trace_gk20a.h" #include "gk20a.h" +#include "platform_gk20a.h" #include "gr_gk20a.h" #include diff --git a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c index e4bdd8e3..a08eb047 100644 --- a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c @@ -28,6 +28,7 @@ #include #include "gk20a.h" +#include "gk20a/platform_gk20a.h" #include "gr_gk20a.h" #include "dbg_gpu_gk20a.h" #include "regops_gk20a.h" diff --git a/drivers/gpu/nvgpu/gk20a/debug_gk20a.c b/drivers/gpu/nvgpu/gk20a/debug_gk20a.c index f863b056..ac435046 100644 --- a/drivers/gpu/nvgpu/gk20a/debug_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/debug_gk20a.c @@ -25,6 +25,7 @@ #include #include "gk20a.h" +#include "gk20a/platform_gk20a.h" #include "debug_gk20a.h" #include diff --git a/drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.c b/drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.c index c292540f..84083f4b 100644 --- a/drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/fecs_trace_gk20a.c @@ -27,6 +27,7 @@ #include "fecs_trace_gk20a.h" #include "gk20a.h" #include "gr_gk20a.h" +#include "platform_gk20a.h" #include diff --git a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c index d6043df2..8085318d 100644 --- a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c @@ -45,6 +45,10 @@ #include #include +#ifdef CONFIG_DEBUG_FS +#include "platform_gk20a.h" +#endif + #define FECS_METHOD_WFI_RESTORE 0x80000 static int gk20a_fifo_update_runlist_locked(struct gk20a *g, u32 runlist_id, diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index ea03ba98..3d730022 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c @@ -27,6 +27,7 @@ #include #include "gk20a.h" +#include "platform_gk20a.h" #include "channel_sync_gk20a.h" #include "ctxsw_trace_gk20a.h" diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index b5d0572e..af40c969 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h @@ -58,7 +58,6 @@ struct dbg_profiler_object_data; #include "pmu_gk20a.h" #include "priv_ring_gk20a.h" #include "therm_gk20a.h" -#include "platform_gk20a.h" #include "gm20b/acr_gm20b.h" #include "cde_gk20a.h" #include "debug_gk20a.h" @@ -1232,11 +1231,6 @@ static inline unsigned long gk20a_get_gr_idle_timeout(struct gk20a *g) g->gr_idle_timeout_default : MAX_SCHEDULE_TIMEOUT; } -static inline struct gk20a *get_gk20a(struct device *dev) -{ - return gk20a_get_platform(dev)->g; -} - enum BAR0_DEBUG_OPERATION { BARO_ZERO_NOP = 0, OP_END = 'DONE', @@ -1352,17 +1346,6 @@ static inline u32 gk20a_bar1_readl(struct gk20a *g, u32 b) } /* convenience */ -static inline struct device *dev_from_gk20a(struct gk20a *g) -{ - return g->dev; -} -static inline struct gk20a *gk20a_from_dev(struct device *dev) -{ - if (!dev) - return NULL; - - return ((struct gk20a_platform *)dev_get_drvdata(dev))->g; -} static inline struct gk20a *gk20a_from_as(struct gk20a_as *as) { return container_of(as, struct gk20a, as); @@ -1418,23 +1401,6 @@ enum { KEPLER_CHANNEL_GPFIFO_C = 0xA26F, }; -static inline bool gk20a_gpu_is_virtual(struct device *dev) -{ - struct gk20a_platform *platform = dev_get_drvdata(dev); - - return platform->virtual_dev; -} - -static inline int support_gk20a_pmu(struct device *dev) -{ - if (IS_ENABLED(CONFIG_GK20A_PMU)) { - /* gPMU is not supported for vgpu */ - return !gk20a_gpu_is_virtual(dev); - } - - return 0; -} - void gk20a_create_sysfs(struct device *dev); void gk20a_remove_sysfs(struct device *dev); diff --git a/drivers/gpu/nvgpu/gk20a/gk20a_scale.c b/drivers/gpu/nvgpu/gk20a/gk20a_scale.c index 8c7a9d80..608b2398 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a_scale.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a_scale.c @@ -26,6 +26,7 @@ #include #include "gk20a.h" +#include "platform_gk20a.h" #include "pmu_gk20a.h" #include "clk_gk20a.h" #include "gk20a_scale.h" diff --git a/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c b/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c index 783ff6fb..ff9e0fc1 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c @@ -31,6 +31,7 @@ #include #include "gk20a.h" +#include "gk20a/platform_gk20a.h" #include "gr_gk20a.h" #include "fifo_gk20a.h" #include "pmu_gk20a.h" diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index 8217a8bf..7bbac8cc 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c @@ -37,9 +37,12 @@ #include "regops_gk20a.h" #include "dbg_gpu_gk20a.h" #include "debug_gk20a.h" -#include "platform_gk20a.h" #include "ctxsw_trace_gk20a.h" +#ifdef CONFIG_DEBUG_FS +#include "platform_gk20a.h" +#endif + #include #include #include diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c index 4d904761..201c2090 100644 --- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c @@ -41,6 +41,7 @@ #include #include "gk20a.h" +#include "platform_gk20a.h" #include "mm_gk20a.h" #include "fence_gk20a.h" #include "kind_gk20a.h" @@ -1262,16 +1263,16 @@ u64 gk20a_vm_alloc_va(struct vm_gk20a *vm, struct nvgpu_allocator *vma = vm->vma[gmmu_pgsz_idx]; u64 offset; u64 gmmu_page_size = vm->gmmu_page_sizes[gmmu_pgsz_idx]; + struct gk20a *g = vm->mm->g; if (gmmu_pgsz_idx >= gmmu_nr_page_sizes) { - dev_warn(dev_from_vm(vm), + nvgpu_warn(g, "invalid page size requested in gk20a vm alloc"); return 0; } if ((gmmu_pgsz_idx == gmmu_page_size_big) && !vm->big_pages) { - dev_warn(dev_from_vm(vm), - "unsupportd page size requested"); + nvgpu_warn(g, "unsupportd page size requested"); return 0; } diff --git a/drivers/gpu/nvgpu/gk20a/platform_gk20a.h b/drivers/gpu/nvgpu/gk20a/platform_gk20a.h index 5dc55b18..4208816f 100644 --- a/drivers/gpu/nvgpu/gk20a/platform_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/platform_gk20a.h @@ -21,6 +21,8 @@ #include +#include "gk20a.h" + #define GK20A_CLKS_MAX 4 struct gk20a; @@ -252,4 +254,36 @@ int gk20a_tegra_busy(struct device *dev); void gk20a_tegra_idle(struct device *dev); void gk20a_tegra_debug_dump(struct device *pdev); +static inline struct gk20a *get_gk20a(struct device *dev) +{ + return gk20a_get_platform(dev)->g; +} +static inline struct device *dev_from_gk20a(struct gk20a *g) +{ + return g->dev; +} +static inline struct gk20a *gk20a_from_dev(struct device *dev) +{ + if (!dev) + return NULL; + + return ((struct gk20a_platform *)dev_get_drvdata(dev))->g; +} +static inline bool gk20a_gpu_is_virtual(struct device *dev) +{ + struct gk20a_platform *platform = dev_get_drvdata(dev); + + return platform->virtual_dev; +} + +static inline int support_gk20a_pmu(struct device *dev) +{ + if (IS_ENABLED(CONFIG_GK20A_PMU)) { + /* gPMU is not supported for vgpu */ + return !gk20a_gpu_is_virtual(dev); + } + + return 0; +} + #endif diff --git a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c index fa0911ab..8b28a71a 100644 --- a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c @@ -16,12 +16,6 @@ * along with this program. If not, see . */ -#include -#ifdef CONFIG_DEBUG_FS -#include -#endif -#include - #include #include #include @@ -41,6 +35,12 @@ #include "nvgpu_gpuid_t19x.h" #endif +#ifdef CONFIG_DEBUG_FS +#include +#include +#include "platform_gk20a.h" +#endif + #define GK20A_PMU_UCODE_IMAGE "gpmu_ucode.bin" #define PMU_MEM_SCRUBBING_TIMEOUT_MAX 1000 diff --git a/drivers/gpu/nvgpu/gk20a/sched_gk20a.c b/drivers/gpu/nvgpu/gk20a/sched_gk20a.c index 54091014..dba0bdb4 100644 --- a/drivers/gpu/nvgpu/gk20a/sched_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/sched_gk20a.c @@ -15,6 +15,7 @@ #include #ifdef CONFIG_DEBUG_FS #include +#include "platform_gk20a.h" #endif #include #include diff --git a/drivers/gpu/nvgpu/gk20a/sim_gk20a.c b/drivers/gpu/nvgpu/gk20a/sim_gk20a.c index 5c11c118..122e66f9 100644 --- a/drivers/gpu/nvgpu/gk20a/sim_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/sim_gk20a.c @@ -19,6 +19,7 @@ #include #include "gk20a.h" +#include "platform_gk20a.h" #include diff --git a/drivers/gpu/nvgpu/gm206/bios_gm206.c b/drivers/gpu/nvgpu/gm206/bios_gm206.c index 058df3c4..0bc78724 100644 --- a/drivers/gpu/nvgpu/gm206/bios_gm206.c +++ b/drivers/gpu/nvgpu/gm206/bios_gm206.c @@ -20,6 +20,7 @@ #include #include "gk20a/gk20a.h" +#include "gk20a/platform_gk20a.h" #include "gm20b/fifo_gm20b.h" #include "bios_gm206.h" diff --git a/drivers/gpu/nvgpu/gm20b/clk_gm20b.c b/drivers/gpu/nvgpu/gm20b/clk_gm20b.c index 96a8a5bc..d1dbf181 100644 --- a/drivers/gpu/nvgpu/gm20b/clk_gm20b.c +++ b/drivers/gpu/nvgpu/gm20b/clk_gm20b.c @@ -29,6 +29,7 @@ #endif #include "gk20a/gk20a.h" +#include "gk20a/platform_gk20a.h" #include "clk_gm20b.h" #include diff --git a/drivers/gpu/nvgpu/gp106/clk_gp106.c b/drivers/gpu/nvgpu/gp106/clk_gp106.c index e4348e73..4d865664 100644 --- a/drivers/gpu/nvgpu/gp106/clk_gp106.c +++ b/drivers/gpu/nvgpu/gp106/clk_gp106.c @@ -23,6 +23,9 @@ #include #include "gk20a/gk20a.h" +#ifdef CONFIG_DEBUG_FS +#include "gk20a/platform_gk20a.h" +#endif #include "clk_gp106.h" #include "clk/clk_arb.h" diff --git a/drivers/gpu/nvgpu/gp106/therm_gp106.c b/drivers/gpu/nvgpu/gp106/therm_gp106.c index 4f616d8e..d473da96 100644 --- a/drivers/gpu/nvgpu/gp106/therm_gp106.c +++ b/drivers/gpu/nvgpu/gp106/therm_gp106.c @@ -12,10 +12,12 @@ */ #include "therm_gp106.h" +#include "therm/thrmpmu.h" + #ifdef CONFIG_DEBUG_FS #include +#include "gk20a/platform_gk20a.h" #endif -#include "therm/thrmpmu.h" #include diff --git a/drivers/gpu/nvgpu/gp106/xve_gp106.c b/drivers/gpu/nvgpu/gp106/xve_gp106.c index 2bd93666..fb0e8a8f 100644 --- a/drivers/gpu/nvgpu/gp106/xve_gp106.c +++ b/drivers/gpu/nvgpu/gp106/xve_gp106.c @@ -23,6 +23,10 @@ #include "gm206/bios_gm206.h" #include "gp106/xve_gp106.h" +#ifdef CONFIG_DEBUG_FS +#include "gk20a/platform_gk20a.h" +#endif + #include #include diff --git a/drivers/gpu/nvgpu/gp10b/gp10b_sysfs.c b/drivers/gpu/nvgpu/gp10b/gp10b_sysfs.c index ee14d00c..1bd95b40 100644 --- a/drivers/gpu/nvgpu/gp10b/gp10b_sysfs.c +++ b/drivers/gpu/nvgpu/gp10b/gp10b_sysfs.c @@ -16,6 +16,7 @@ #include #include "gk20a/gk20a.h" +#include "gk20a/platform_gk20a.h" #include "gp10b_sysfs.h" #include diff --git a/drivers/gpu/nvgpu/gp10b/mm_gp10b.c b/drivers/gpu/nvgpu/gp10b/mm_gp10b.c index c5149f22..6b7f63b3 100644 --- a/drivers/gpu/nvgpu/gp10b/mm_gp10b.c +++ b/drivers/gpu/nvgpu/gp10b/mm_gp10b.c @@ -16,6 +16,7 @@ #include #include "gk20a/gk20a.h" +#include "gk20a/platform_gk20a.h" #include "gm20b/mm_gm20b.h" #include "mm_gp10b.h" #include "rpfb_gp10b.h" diff --git a/drivers/gpu/nvgpu/pmgr/pmgr.c b/drivers/gpu/nvgpu/pmgr/pmgr.c index 41c69dbd..46787724 100644 --- a/drivers/gpu/nvgpu/pmgr/pmgr.c +++ b/drivers/gpu/nvgpu/pmgr/pmgr.c @@ -17,6 +17,7 @@ #ifdef CONFIG_DEBUG_FS #include +#include "gk20a/platform_gk20a.h" #endif int pmgr_pwr_devices_get_power(struct gk20a *g, u32 *val) diff --git a/drivers/gpu/nvgpu/pmgr/pmgrpmu.c b/drivers/gpu/nvgpu/pmgr/pmgrpmu.c index ea812b81..c60c4960 100644 --- a/drivers/gpu/nvgpu/pmgr/pmgrpmu.c +++ b/drivers/gpu/nvgpu/pmgr/pmgrpmu.c @@ -15,6 +15,7 @@ #include #include "gk20a/gk20a.h" +#include "gk20a/platform_gk20a.h" #include "gm206/bios_gm206.h" #include "gk20a/pmu_gk20a.h" diff --git a/drivers/gpu/nvgpu/pmgr/pwrpolicy.c b/drivers/gpu/nvgpu/pmgr/pwrpolicy.c index 56be281d..c7384b6e 100644 --- a/drivers/gpu/nvgpu/pmgr/pwrpolicy.c +++ b/drivers/gpu/nvgpu/pmgr/pwrpolicy.c @@ -15,6 +15,7 @@ #include #include "gk20a/gk20a.h" +#include "gk20a/platform_gk20a.h" #include "pwrpolicy.h" #include "boardobj/boardobjgrp.h" #include "boardobj/boardobjgrp_e32.h" diff --git a/drivers/gpu/nvgpu/tegra/linux/clk.c b/drivers/gpu/nvgpu/tegra/linux/clk.c index 876bac91..a82076c7 100644 --- a/drivers/gpu/nvgpu/tegra/linux/clk.c +++ b/drivers/gpu/nvgpu/tegra/linux/clk.c @@ -20,6 +20,7 @@ #include "clk.h" #include "gk20a/gk20a.h" +#include "gk20a/platform_gk20a.h" static unsigned long nvgpu_linux_clk_get_rate(struct gk20a *g, u32 api_domain) { diff --git a/drivers/gpu/nvgpu/vgpu/vgpu.h b/drivers/gpu/nvgpu/vgpu/vgpu.h index ac261979..ec04c6f7 100644 --- a/drivers/gpu/nvgpu/vgpu/vgpu.h +++ b/drivers/gpu/nvgpu/vgpu/vgpu.h @@ -19,6 +19,7 @@ #include #include #include "gk20a/gk20a.h" +#include "gk20a/platform_gk20a.h" #include -- cgit v1.2.2