From 9705c86b98871770d7f6d6f94f2b30ff94106f39 Mon Sep 17 00:00:00 2001 From: Philip Elcan Date: Mon, 10 Jun 2019 17:52:19 -0400 Subject: [PATCH] gpu: nvgpu: init: move functions from gk20a.h to own header This moves the nvgpu.common.init function prototypes from gk20a.h to a new unit-specific header nvgpu_init.h JIRA NVGPU-2385 Change-Id: I48c0b0e02a8064be0eda89f26cf55189ffd55803 Signed-off-by: Philip Elcan Reviewed-on: https://git-master.nvidia.com/r/2133845 Reviewed-by: mobile promotions Tested-by: mobile promotions --- arch/nvgpu-common.yaml | 3 +- drivers/gpu/nvgpu/common/init/nvgpu_init.c | 1 + drivers/gpu/nvgpu/common/mm/as.c | 1 + drivers/gpu/nvgpu/common/pmu/fw/fw.c | 1 + drivers/gpu/nvgpu/common/pmu/ipc/pmu_cmd.c | 1 + drivers/gpu/nvgpu/common/pmu/ipc/pmu_msg.c | 1 + .../gpu/nvgpu/common/vgpu/init/init_vgpu.c | 1 + drivers/gpu/nvgpu/hal/init/hal_gm20b.c | 1 + drivers/gpu/nvgpu/hal/init/hal_gp10b.c | 1 + drivers/gpu/nvgpu/hal/init/hal_gv11b.c | 1 + drivers/gpu/nvgpu/hal/init/hal_tu104.c | 1 + drivers/gpu/nvgpu/include/nvgpu/gk20a.h | 15 ------- drivers/gpu/nvgpu/include/nvgpu/nvgpu_init.h | 41 +++++++++++++++++++ drivers/gpu/nvgpu/os/linux/debug.c | 1 + drivers/gpu/nvgpu/os/linux/dmabuf_vidmem.c | 1 + drivers/gpu/nvgpu/os/linux/fecs_trace_linux.c | 1 + drivers/gpu/nvgpu/os/linux/ioctl_channel.c | 1 + drivers/gpu/nvgpu/os/linux/ioctl_ctrl.c | 1 + drivers/gpu/nvgpu/os/linux/ioctl_dbg.c | 1 + drivers/gpu/nvgpu/os/linux/ioctl_tsg.c | 1 + drivers/gpu/nvgpu/os/linux/linux-io.c | 1 + drivers/gpu/nvgpu/os/linux/module.c | 1 + drivers/gpu/nvgpu/os/linux/pci.c | 1 + drivers/gpu/nvgpu/os/linux/sched.c | 1 + drivers/gpu/nvgpu/os/linux/vgpu/vgpu_linux.c | 1 + 25 files changed, 65 insertions(+), 16 deletions(-) create mode 100644 drivers/gpu/nvgpu/include/nvgpu/nvgpu_init.h diff --git a/arch/nvgpu-common.yaml b/arch/nvgpu-common.yaml index 60add3e5a..90362fb8d 100644 --- a/arch/nvgpu-common.yaml +++ b/arch/nvgpu-common.yaml @@ -439,7 +439,8 @@ init: children: nvgpu: safe: yes - sources: [ common/init/nvgpu_init.c ] + sources: [ common/init/nvgpu_init.c, + include/nvgpu/nvgpu_init.h ] mm: owner: Alex W diff --git a/drivers/gpu/nvgpu/common/init/nvgpu_init.c b/drivers/gpu/nvgpu/common/init/nvgpu_init.c index d4fbb52a4..a07294923 100644 --- a/drivers/gpu/nvgpu/common/init/nvgpu_init.c +++ b/drivers/gpu/nvgpu/common/init/nvgpu_init.c @@ -46,6 +46,7 @@ #include #include #include +#include #ifdef CONFIG_NVGPU_TRACE #include diff --git a/drivers/gpu/nvgpu/common/mm/as.c b/drivers/gpu/nvgpu/common/mm/as.c index bdaadb60f..f3ab30c08 100644 --- a/drivers/gpu/nvgpu/common/mm/as.c +++ b/drivers/gpu/nvgpu/common/mm/as.c @@ -31,6 +31,7 @@ #include #include #include +#include /* dumb allocator... */ static int generate_as_share_id(struct gk20a_as *as) diff --git a/drivers/gpu/nvgpu/common/pmu/fw/fw.c b/drivers/gpu/nvgpu/common/pmu/fw/fw.c index 861c0312a..fe21f1587 100644 --- a/drivers/gpu/nvgpu/common/pmu/fw/fw.c +++ b/drivers/gpu/nvgpu/common/pmu/fw/fw.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/gpu/nvgpu/common/pmu/ipc/pmu_cmd.c b/drivers/gpu/nvgpu/common/pmu/ipc/pmu_cmd.c index c51845840..6d52c049c 100644 --- a/drivers/gpu/nvgpu/common/pmu/ipc/pmu_cmd.c +++ b/drivers/gpu/nvgpu/common/pmu/ipc/pmu_cmd.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/gpu/nvgpu/common/pmu/ipc/pmu_msg.c b/drivers/gpu/nvgpu/common/pmu/ipc/pmu_msg.c index f139ee3cf..c1b8e7961 100644 --- a/drivers/gpu/nvgpu/common/pmu/ipc/pmu_msg.c +++ b/drivers/gpu/nvgpu/common/pmu/ipc/pmu_msg.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/gpu/nvgpu/common/vgpu/init/init_vgpu.c b/drivers/gpu/nvgpu/common/vgpu/init/init_vgpu.c index 57341e314..b87952b72 100644 --- a/drivers/gpu/nvgpu/common/vgpu/init/init_vgpu.c +++ b/drivers/gpu/nvgpu/common/vgpu/init/init_vgpu.c @@ -35,6 +35,7 @@ #include #include #include +#include #include "init_vgpu.h" #include "init_hal_vgpu.h" diff --git a/drivers/gpu/nvgpu/hal/init/hal_gm20b.c b/drivers/gpu/nvgpu/hal/init/hal_gm20b.c index 4f5b474d0..913db13c3 100644 --- a/drivers/gpu/nvgpu/hal/init/hal_gm20b.c +++ b/drivers/gpu/nvgpu/hal/init/hal_gm20b.c @@ -44,6 +44,7 @@ #include #endif #include +#include #include "hal/mm/mm_gk20a.h" #include "hal/mm/mm_gm20b.h" diff --git a/drivers/gpu/nvgpu/hal/init/hal_gp10b.c b/drivers/gpu/nvgpu/hal/init/hal_gp10b.c index 3d5c72e33..31c5a21af 100644 --- a/drivers/gpu/nvgpu/hal/init/hal_gp10b.c +++ b/drivers/gpu/nvgpu/hal/init/hal_gp10b.c @@ -44,6 +44,7 @@ #ifdef CONFIG_NVGPU_LS_PMU #include #endif +#include #include "hal/mm/mm_gk20a.h" #include "hal/mm/mm_gm20b.h" diff --git a/drivers/gpu/nvgpu/hal/init/hal_gv11b.c b/drivers/gpu/nvgpu/hal/init/hal_gv11b.c index 1f19d4064..653d7afbd 100644 --- a/drivers/gpu/nvgpu/hal/init/hal_gv11b.c +++ b/drivers/gpu/nvgpu/hal/init/hal_gv11b.c @@ -165,6 +165,7 @@ #include #include #include +#include #include diff --git a/drivers/gpu/nvgpu/hal/init/hal_tu104.c b/drivers/gpu/nvgpu/hal/init/hal_tu104.c index f372b5587..3527bc709 100644 --- a/drivers/gpu/nvgpu/hal/init/hal_tu104.c +++ b/drivers/gpu/nvgpu/hal/init/hal_tu104.c @@ -204,6 +204,7 @@ #include #include #include +#include #include diff --git a/drivers/gpu/nvgpu/include/nvgpu/gk20a.h b/drivers/gpu/nvgpu/include/nvgpu/gk20a.h index 5c7e590e5..4e0c14354 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/gk20a.h +++ b/drivers/gpu/nvgpu/include/nvgpu/gk20a.h @@ -2225,10 +2225,6 @@ static inline u32 nvgpu_get_poll_timeout(struct gk20a *g) #define GK20A_NONSTALL_OPS_WAKEUP_SEMAPHORE BIT32(0) #define GK20A_NONSTALL_OPS_POST_EVENTS BIT32(1) -/* register accessors */ -void nvgpu_check_gpu_state(struct gk20a *g); -void gk20a_warn_on_no_regs(void); - bool is_nvgpu_gpu_state_valid(struct gk20a *g); #define GK20A_BAR0_IORESOURCE_MEM 0U @@ -2244,9 +2240,6 @@ int gk20a_do_idle_impl(struct gk20a *g, bool force_reset); int gk20a_do_unidle_impl(struct gk20a *g); #endif -int nvgpu_can_busy(struct gk20a *g); -int gk20a_wait_for_idle(struct gk20a *g); - #define NVGPU_GPU_ARCHITECTURE_SHIFT 4U /* constructs unique and compact GPUID from nvgpu_gpu_characteristics @@ -2261,16 +2254,8 @@ int gk20a_wait_for_idle(struct gk20a *g); #define NVGPU_GPUID_GV100 0x00000140U #define NVGPU_GPUID_TU104 0x00000164U -void gk20a_init_gpu_characteristics(struct gk20a *g); - -int gk20a_prepare_poweroff(struct gk20a *g); -int gk20a_finalize_poweron(struct gk20a *g); - void nvgpu_wait_for_deferred_interrupts(struct gk20a *g); -struct gk20a * __must_check gk20a_get(struct gk20a *g); -void gk20a_put(struct gk20a *g); - bool nvgpu_has_syncpoints(struct gk20a *g); #endif /* GK20A_H */ diff --git a/drivers/gpu/nvgpu/include/nvgpu/nvgpu_init.h b/drivers/gpu/nvgpu/include/nvgpu/nvgpu_init.h new file mode 100644 index 000000000..1b342979b --- /dev/null +++ b/drivers/gpu/nvgpu/include/nvgpu/nvgpu_init.h @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +#ifndef NVGPU_INIT_H +#define NVGPU_INIT_H + +int gk20a_finalize_poweron(struct gk20a *g); +int gk20a_prepare_poweroff(struct gk20a *g); + +int nvgpu_can_busy(struct gk20a *g); +int gk20a_wait_for_idle(struct gk20a *g); + +struct gk20a * __must_check gk20a_get(struct gk20a *g); +void gk20a_put(struct gk20a *g); + +/* register accessors */ +void nvgpu_check_gpu_state(struct gk20a *g); +void gk20a_warn_on_no_regs(void); + +void gk20a_init_gpu_characteristics(struct gk20a *g); + +#endif /* NVGPU_INIT_H */ diff --git a/drivers/gpu/nvgpu/os/linux/debug.c b/drivers/gpu/nvgpu/os/linux/debug.c index 6a3fcb58d..20fc25fba 100644 --- a/drivers/gpu/nvgpu/os/linux/debug.c +++ b/drivers/gpu/nvgpu/os/linux/debug.c @@ -29,6 +29,7 @@ #include #include +#include #include #include diff --git a/drivers/gpu/nvgpu/os/linux/dmabuf_vidmem.c b/drivers/gpu/nvgpu/os/linux/dmabuf_vidmem.c index 6ec899b2d..19f009c2f 100644 --- a/drivers/gpu/nvgpu/os/linux/dmabuf_vidmem.c +++ b/drivers/gpu/nvgpu/os/linux/dmabuf_vidmem.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include diff --git a/drivers/gpu/nvgpu/os/linux/fecs_trace_linux.c b/drivers/gpu/nvgpu/os/linux/fecs_trace_linux.c index b48e45a92..5ef7a8bba 100644 --- a/drivers/gpu/nvgpu/os/linux/fecs_trace_linux.c +++ b/drivers/gpu/nvgpu/os/linux/fecs_trace_linux.c @@ -30,6 +30,7 @@ #include #include #include +#include #include "platform_gk20a.h" #include "os_linux.h" diff --git a/drivers/gpu/nvgpu/os/linux/ioctl_channel.c b/drivers/gpu/nvgpu/os/linux/ioctl_channel.c index 1762f0e22..68f958256 100644 --- a/drivers/gpu/nvgpu/os/linux/ioctl_channel.c +++ b/drivers/gpu/nvgpu/os/linux/ioctl_channel.c @@ -47,6 +47,7 @@ #include #include #include +#include #include "platform_gk20a.h" #include "ioctl_channel.h" diff --git a/drivers/gpu/nvgpu/os/linux/ioctl_ctrl.c b/drivers/gpu/nvgpu/os/linux/ioctl_ctrl.c index 831475ff8..1dc93bdb8 100644 --- a/drivers/gpu/nvgpu/os/linux/ioctl_ctrl.c +++ b/drivers/gpu/nvgpu/os/linux/ioctl_ctrl.c @@ -48,6 +48,7 @@ #include #include #include +#include #include "ioctl_ctrl.h" #include "ioctl_dbg.h" diff --git a/drivers/gpu/nvgpu/os/linux/ioctl_dbg.c b/drivers/gpu/nvgpu/os/linux/ioctl_dbg.c index 477869d61..f1b035935 100644 --- a/drivers/gpu/nvgpu/os/linux/ioctl_dbg.c +++ b/drivers/gpu/nvgpu/os/linux/ioctl_dbg.c @@ -40,6 +40,7 @@ #include #include #include +#include #include diff --git a/drivers/gpu/nvgpu/os/linux/ioctl_tsg.c b/drivers/gpu/nvgpu/os/linux/ioctl_tsg.c index 0a5f1e70c..da5f353b4 100644 --- a/drivers/gpu/nvgpu/os/linux/ioctl_tsg.c +++ b/drivers/gpu/nvgpu/os/linux/ioctl_tsg.c @@ -32,6 +32,7 @@ #include #include #include +#include #include "platform_gk20a.h" #include "ioctl_tsg.h" diff --git a/drivers/gpu/nvgpu/os/linux/linux-io.c b/drivers/gpu/nvgpu/os/linux/linux-io.c index 415fae2a1..27d9822c1 100644 --- a/drivers/gpu/nvgpu/os/linux/linux-io.c +++ b/drivers/gpu/nvgpu/os/linux/linux-io.c @@ -14,6 +14,7 @@ #include #include #include +#include #include "os_linux.h" diff --git a/drivers/gpu/nvgpu/os/linux/module.c b/drivers/gpu/nvgpu/os/linux/module.c index 27011793c..4809e018f 100644 --- a/drivers/gpu/nvgpu/os/linux/module.c +++ b/drivers/gpu/nvgpu/os/linux/module.c @@ -55,6 +55,7 @@ #include #include #include +#include #include "platform_gk20a.h" #include "sysfs.h" diff --git a/drivers/gpu/nvgpu/os/linux/pci.c b/drivers/gpu/nvgpu/os/linux/pci.c index c7c6fdf77..849fd48d7 100644 --- a/drivers/gpu/nvgpu/os/linux/pci.c +++ b/drivers/gpu/nvgpu/os/linux/pci.c @@ -30,6 +30,7 @@ #include #include #include +#include #include "nvlink.h" #include "module.h" diff --git a/drivers/gpu/nvgpu/os/linux/sched.c b/drivers/gpu/nvgpu/os/linux/sched.c index 49244571f..573b813b5 100644 --- a/drivers/gpu/nvgpu/os/linux/sched.c +++ b/drivers/gpu/nvgpu/os/linux/sched.c @@ -26,6 +26,7 @@ #include #include #include +#include #include "sched.h" #include "os_linux.h" diff --git a/drivers/gpu/nvgpu/os/linux/vgpu/vgpu_linux.c b/drivers/gpu/nvgpu/os/linux/vgpu/vgpu_linux.c index 370d0c695..24864757d 100644 --- a/drivers/gpu/nvgpu/os/linux/vgpu/vgpu_linux.c +++ b/drivers/gpu/nvgpu/os/linux/vgpu/vgpu_linux.c @@ -35,6 +35,7 @@ #include #include #include +#include #include