gpu: nvgpu: Move gk20a.c to os/linux

gk20a.c is used only in Linux build. It's in theory common code, but
in practice implements OS specific policies. Also implement
os/posix/gk20a.c to implement gk20a_init_gpu_characteristics(),
gk20a_get() and gk20a_put() which are called from common code.

JIRA NVGPU-596

Change-Id: I6a6079ca6d4c6a225f0dd0e1cd7c439333a704bf
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1944884
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Terje Bergstrom
2018-11-07 08:26:24 -08:00
committed by mobile promotions
parent dccf97a2ca
commit 88e374d5eb
4 changed files with 45 additions and 2 deletions

View File

@@ -79,6 +79,7 @@ nvgpu-y += common/bus/bus_gk20a.o \
# Linux specific parts of nvgpu.
nvgpu-y += \
os/linux/gk20a.o \
os/linux/os_ops.o \
os/linux/os_ops_gm20b.o \
os/linux/os_ops_gp10b.o \
@@ -266,7 +267,6 @@ nvgpu-y += \
common/ecc.o \
common/ce2.o \
common/debugger.o \
gk20a/gk20a.o \
gk20a/ce2_gk20a.o \
gk20a/fifo_gk20a.o \
gk20a/regops_gk20a.o \

View File

@@ -45,6 +45,7 @@ srcs := os/posix/nvgpu.c \
os/posix/lock.c \
os/posix/stubs.c \
os/posix/posix-fault-injection.c \
os/posix/gk20a.c \
common/mm/nvgpu_allocator.c \
common/mm/bitmap_allocator.c \
common/mm/buddy_allocator.c \
@@ -174,7 +175,6 @@ srcs := os/posix/nvgpu.c \
pmgr/pwrpolicy.c \
lpwr/lpwr.c \
lpwr/rppg.c \
gk20a/gk20a.c \
common/ptimer/ptimer_gk20a.c \
gk20a/ce2_gk20a.c \
gk20a/fifo_gk20a.c \

View File

@@ -0,0 +1,43 @@
/*
* Copyright (c) 2018, 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.
*/
#include <nvgpu/gk20a.h>
#include <nvgpu/enabled.h>
int gk20a_init_gpu_characteristics(struct gk20a *g)
{
BUG();
return 0;
}
struct gk20a * __must_check gk20a_get(struct gk20a *g)
{
BUG();
return g;
}
void gk20a_put(struct gk20a *g)
{
BUG();
}