mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-23 18:16:01 +03:00
gpu: nvgpu: gv11b: sm priv reg related changes
Included all basic ops for gv11b and updated sm related functions to include new priv register addresses. Bug 1735757 Change-Id: Ie48651f918ee97fba00487111e4b28d6c95747f5 Signed-off-by: Seshendra Gadagottu <sgadagottu@nvidia.com> Reviewed-on: http://git-master/r/1126961 GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
This commit is contained in:
committed by
Terje Bergstrom
parent
07cd80ab09
commit
c84ddceda6
@@ -1,8 +1,18 @@
|
||||
nvgpu-t19x := ../../../../kernel-nvgpu-t19x/drivers/gpu/nvgpu
|
||||
|
||||
nvgpu-y += \
|
||||
$(nvgpu-t19x)/gv11b/gv11b.o \
|
||||
$(nvgpu-t19x)/gv11b/mc_gv11b.o \
|
||||
$(nvgpu-t19x)/gv11b/ltc_gv11b.o \
|
||||
$(nvgpu-t19x)/gv11b/hal_gv11b.o \
|
||||
$(nvgpu-t19x)/gv11b/gr_gv11b.o
|
||||
$(nvgpu-t19x)/gv11b/gr_gv11b.o \
|
||||
$(nvgpu-t19x)/gv11b/fecs_trace_gv11b.o \
|
||||
$(nvgpu-t19x)/gv11b/fb_gv11b.o \
|
||||
$(nvgpu-t19x)/gv11b/fifo_gv11b.o \
|
||||
$(nvgpu-t19x)/gv11b/mm_gv11b.o \
|
||||
$(nvgpu-t19x)/gv11b/ce2_gv11b.o \
|
||||
$(nvgpu-t19x)/gv11b/gr_ctx_gv11b.o \
|
||||
$(nvgpu-t19x)/gv11b/pmu_gv11b.o \
|
||||
$(nvgpu-t19x)/gv11b/therm_gv11b.o
|
||||
|
||||
nvgpu-$(CONFIG_TEGRA_GK20A) += $(nvgpu-t19x)/gv11b/platform_gv11b_tegra.o
|
||||
|
||||
28
drivers/gpu/nvgpu/gv11b/ce2_gv11b.c
Normal file
28
drivers/gpu/nvgpu/gv11b/ce2_gv11b.c
Normal file
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* GV11B Graphics Copy Engine (gr host)
|
||||
*
|
||||
* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#include "gk20a/gk20a.h" /* FERMI and MAXWELL classes defined here */
|
||||
#include "hw_ce2_gv11b.h"
|
||||
#include "gp10b/ce2_gp10b.h"
|
||||
#include "ce2_gv11b.h"
|
||||
|
||||
void gv11b_init_ce2(struct gpu_ops *gops)
|
||||
{
|
||||
gp10b_init_ce2(gops);
|
||||
}
|
||||
27
drivers/gpu/nvgpu/gv11b/ce2_gv11b.h
Normal file
27
drivers/gpu/nvgpu/gv11b/ce2_gv11b.h
Normal file
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
*
|
||||
* GV11B graphics copy engine
|
||||
*
|
||||
* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
#ifndef __CE2_GV11B_H__
|
||||
#define __CE2_GV11B_H__
|
||||
|
||||
struct gpu_ops;
|
||||
|
||||
void gv11b_init_ce2(struct gpu_ops *gops);
|
||||
|
||||
#endif /*__CE2_GV11B_H__*/
|
||||
28
drivers/gpu/nvgpu/gv11b/fb_gv11b.c
Normal file
28
drivers/gpu/nvgpu/gv11b/fb_gv11b.c
Normal file
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* GV11B FB
|
||||
*
|
||||
* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*/
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#include "gk20a/gk20a.h"
|
||||
#include "gp10b/fb_gp10b.h"
|
||||
#include "gv11b/fb_gv11b.h"
|
||||
#include "gk20a/kind_gk20a.h"
|
||||
|
||||
#include "hw_gmmu_gv11b.h"
|
||||
|
||||
void gv11b_init_fb(struct gpu_ops *gops)
|
||||
{
|
||||
gp10b_init_fb(gops);
|
||||
}
|
||||
21
drivers/gpu/nvgpu/gv11b/fb_gv11b.h
Normal file
21
drivers/gpu/nvgpu/gv11b/fb_gv11b.h
Normal file
@@ -0,0 +1,21 @@
|
||||
/*
|
||||
* GV11B FB
|
||||
*
|
||||
* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*/
|
||||
|
||||
#ifndef _NVGPU_GV11B_FB
|
||||
#define _NVGPU_GV11B_FB
|
||||
struct gpu_ops;
|
||||
|
||||
void gv11b_init_fb(struct gpu_ops *gops);
|
||||
#endif
|
||||
30
drivers/gpu/nvgpu/gv11b/fecs_trace_gv11b.c
Normal file
30
drivers/gpu/nvgpu/gv11b/fecs_trace_gv11b.c
Normal file
@@ -0,0 +1,30 @@
|
||||
/*
|
||||
* GV11B GPU FECS traces
|
||||
*
|
||||
* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*/
|
||||
|
||||
#include "gp10b/fecs_trace_gp10b.h"
|
||||
#include "gv11b/fecs_trace_gv11b.h"
|
||||
|
||||
#ifdef CONFIG_GK20A_CTXSW_TRACE
|
||||
int gv11b_init_fecs_trace_ops(struct gpu_ops *ops)
|
||||
{
|
||||
gp10b_init_fecs_trace_ops(ops);
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
int gv11b_init_fecs_trace_ops(struct gpu_ops *ops)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif /* CONFIG_GK20A_CTXSW_TRACE */
|
||||
23
drivers/gpu/nvgpu/gv11b/fecs_trace_gv11b.h
Normal file
23
drivers/gpu/nvgpu/gv11b/fecs_trace_gv11b.h
Normal file
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* GV11B GPU FECS traces
|
||||
*
|
||||
* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*/
|
||||
|
||||
#ifndef _NVGPU_FECS_TRACE_GV11B_H_
|
||||
#define _NVGPU_FECS_TRACE_GV11B_H_
|
||||
|
||||
struct gpu_ops;
|
||||
|
||||
int gv11b_init_fecs_trace_ops(struct gpu_ops *);
|
||||
|
||||
#endif
|
||||
28
drivers/gpu/nvgpu/gv11b/fifo_gv11b.c
Normal file
28
drivers/gpu/nvgpu/gv11b/fifo_gv11b.c
Normal file
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* GV11B fifo
|
||||
*
|
||||
* Copyright (c) 2015-2016, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*/
|
||||
|
||||
#include <linux/delay.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
#include "gk20a/gk20a.h"
|
||||
#include "gp10b/fifo_gp10b.h"
|
||||
#include "hw_pbdma_gv11b.h"
|
||||
#include "fifo_gv11b.h"
|
||||
#include "hw_fifo_gv11b.h"
|
||||
|
||||
void gv11b_init_fifo(struct gpu_ops *gops)
|
||||
{
|
||||
gp10b_init_fifo(gops);
|
||||
}
|
||||
20
drivers/gpu/nvgpu/gv11b/fifo_gv11b.h
Normal file
20
drivers/gpu/nvgpu/gv11b/fifo_gv11b.h
Normal file
@@ -0,0 +1,20 @@
|
||||
/*
|
||||
* GV11B Fifo
|
||||
*
|
||||
* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*/
|
||||
|
||||
#ifndef FIFO_GV11B_H
|
||||
#define FIFO_GV11B_H
|
||||
struct gpu_ops;
|
||||
void gv11b_init_fifo(struct gpu_ops *gops);
|
||||
#endif
|
||||
72
drivers/gpu/nvgpu/gv11b/gr_ctx_gv11b.c
Normal file
72
drivers/gpu/nvgpu/gv11b/gr_ctx_gv11b.c
Normal file
@@ -0,0 +1,72 @@
|
||||
/*
|
||||
*
|
||||
* GV11B Graphics Context
|
||||
*
|
||||
* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#include "gk20a/gk20a.h"
|
||||
#include "gr_ctx_gv11b.h"
|
||||
|
||||
static int gr_gv11b_get_netlist_name(int index, char *name)
|
||||
{
|
||||
switch (index) {
|
||||
#ifdef GV11B_NETLIST_IMAGE_FW_NAME
|
||||
case NETLIST_FINAL:
|
||||
sprintf(name, GV11B_NETLIST_IMAGE_FW_NAME);
|
||||
return 0;
|
||||
#endif
|
||||
#ifdef GK20A_NETLIST_IMAGE_A
|
||||
case NETLIST_SLOT_A:
|
||||
sprintf(name, GK20A_NETLIST_IMAGE_A);
|
||||
return 0;
|
||||
#endif
|
||||
#ifdef GK20A_NETLIST_IMAGE_B
|
||||
case NETLIST_SLOT_B:
|
||||
sprintf(name, GK20A_NETLIST_IMAGE_B);
|
||||
return 0;
|
||||
#endif
|
||||
#ifdef GK20A_NETLIST_IMAGE_C
|
||||
case NETLIST_SLOT_C:
|
||||
sprintf(name, GK20A_NETLIST_IMAGE_C);
|
||||
return 0;
|
||||
#endif
|
||||
#ifdef GK20A_NETLIST_IMAGE_D
|
||||
case NETLIST_SLOT_D:
|
||||
sprintf(name, GK20A_NETLIST_IMAGE_D);
|
||||
return 0;
|
||||
#endif
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
static bool gr_gv11b_is_firmware_defined(void)
|
||||
{
|
||||
#ifdef GV11B_NETLIST_IMAGE_FW_NAME
|
||||
return true;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
void gv11b_init_gr_ctx(struct gpu_ops *gops) {
|
||||
gops->gr_ctx.get_netlist_name = gr_gv11b_get_netlist_name;
|
||||
gops->gr_ctx.is_fw_defined = gr_gv11b_is_firmware_defined;
|
||||
gops->gr_ctx.use_dma_for_fw_bootstrap = false;
|
||||
}
|
||||
28
drivers/gpu/nvgpu/gv11b/gr_ctx_gv11b.h
Normal file
28
drivers/gpu/nvgpu/gv11b/gr_ctx_gv11b.h
Normal file
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* GV11B Graphics Context
|
||||
*
|
||||
* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __GR_CTX_GV11B_H__
|
||||
#define __GR_CTX_GV11B_H__
|
||||
|
||||
#include "gk20a/gr_ctx_gk20a.h"
|
||||
|
||||
/* production netlist, one and only one from below */
|
||||
#define GV11B_NETLIST_IMAGE_FW_NAME GK20A_NETLIST_IMAGE_A
|
||||
|
||||
void gv11b_init_gr_ctx(struct gpu_ops *gops);
|
||||
|
||||
#endif /*__GR_CTX_GV11B_H__*/
|
||||
File diff suppressed because it is too large
Load Diff
25
drivers/gpu/nvgpu/gv11b/gv11b.c
Normal file
25
drivers/gpu/nvgpu/gv11b/gv11b.c
Normal file
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
* GV11B Graphics
|
||||
*
|
||||
* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "gk20a/gk20a.h"
|
||||
|
||||
int gv11b_init_gpu_characteristics(struct gk20a *g)
|
||||
{
|
||||
gk20a_init_gpu_characteristics(g);
|
||||
return 0;
|
||||
}
|
||||
26
drivers/gpu/nvgpu/gv11b/gv11b.h
Normal file
26
drivers/gpu/nvgpu/gv11b/gv11b.h
Normal file
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* GV11B Graphics
|
||||
*
|
||||
* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef GV11B_H
|
||||
#define GV11B_H
|
||||
|
||||
#include "gk20a/gk20a.h"
|
||||
|
||||
int gv11b_init_gpu_characteristics(struct gk20a *g);
|
||||
|
||||
#endif /* GV11B_H */
|
||||
@@ -22,6 +22,14 @@
|
||||
|
||||
#include "gv11b/gr_gv11b.h"
|
||||
#include "gv11b/mc_gv11b.h"
|
||||
#include "gv11b/ltc_gv11b.h"
|
||||
#include "gv11b/fecs_trace_gv11b.h"
|
||||
#include "gv11b/gv11b.h"
|
||||
#include "gv11b/ce2_gv11b.h"
|
||||
#include "gv11b/gr_ctx_gv11b.h"
|
||||
#include "gv11b/mm_gv11b.h"
|
||||
#include "gv11b/pmu_gv11b.h"
|
||||
#include "gv11b/therm_gv11b.h"
|
||||
|
||||
#include "gm20b/gr_gm20b.h"
|
||||
|
||||
@@ -30,9 +38,22 @@ int gv11b_init_hal(struct gk20a *g)
|
||||
struct gpu_ops *gops = &g->ops;
|
||||
struct nvgpu_gpu_characteristics *c = &g->gpu_characteristics;
|
||||
|
||||
/* boot in non-secure modes for time beeing */
|
||||
gops->privsecurity = 0;
|
||||
gops->securegpccs = 0;
|
||||
|
||||
gv11b_init_mc(gops);
|
||||
gv11b_init_ltc(gops);
|
||||
gv11b_init_gr(gops);
|
||||
gv11b_init_fecs_trace_ops(gops);
|
||||
gv11b_init_ce2(gops);
|
||||
gv11b_init_mm(gops);
|
||||
gv11b_init_gr_ctx(gops);
|
||||
gv11b_init_pmu_ops(gops);
|
||||
gk20a_init_debug_ops(gops);
|
||||
gv11b_init_therm_ops(gops);
|
||||
gops->name = "gv11b";
|
||||
gops->chip_init_gpu_characteristics = gv11b_init_gpu_characteristics;
|
||||
|
||||
c->twod_class = FERMI_TWOD_A;
|
||||
c->threed_class = VOLTA_A;
|
||||
|
||||
@@ -72,7 +72,7 @@ static inline u32 gmmu_new_pde_aperture_video_memory_f(void)
|
||||
}
|
||||
static inline u32 gmmu_new_pde_address_sys_f(u32 v)
|
||||
{
|
||||
return (v & 0xffffff) << 8;
|
||||
return (v & 0xfffffff) << 8;
|
||||
}
|
||||
static inline u32 gmmu_new_pde_address_sys_w(void)
|
||||
{
|
||||
@@ -164,7 +164,7 @@ static inline u32 gmmu_new_dual_pde_vol_big_false_f(void)
|
||||
}
|
||||
static inline u32 gmmu_new_dual_pde_address_small_sys_f(u32 v)
|
||||
{
|
||||
return (v & 0xffffff) << 8;
|
||||
return (v & 0xfffffff) << 8;
|
||||
}
|
||||
static inline u32 gmmu_new_dual_pde_address_small_sys_w(void)
|
||||
{
|
||||
@@ -212,7 +212,7 @@ static inline u32 gmmu_new_pte_privilege_false_f(void)
|
||||
}
|
||||
static inline u32 gmmu_new_pte_address_sys_f(u32 v)
|
||||
{
|
||||
return (v & 0xffffff) << 8;
|
||||
return (v & 0xfffffff) << 8;
|
||||
}
|
||||
static inline u32 gmmu_new_pte_address_sys_w(void)
|
||||
{
|
||||
|
||||
26
drivers/gpu/nvgpu/gv11b/ltc_gv11b.c
Normal file
26
drivers/gpu/nvgpu/gv11b/ltc_gv11b.c
Normal file
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* GV11B LTC
|
||||
*
|
||||
* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*/
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#include "gk20a/gk20a.h"
|
||||
#include "gp10b/ltc_gp10b.h"
|
||||
#include "gv11b/ltc_gv11b.h"
|
||||
#include "hw_ltc_gv11b.h"
|
||||
|
||||
void gv11b_init_ltc(struct gpu_ops *gops)
|
||||
{
|
||||
gp10b_init_ltc(gops);
|
||||
}
|
||||
19
drivers/gpu/nvgpu/gv11b/ltc_gv11b.h
Normal file
19
drivers/gpu/nvgpu/gv11b/ltc_gv11b.h
Normal file
@@ -0,0 +1,19 @@
|
||||
/*
|
||||
* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*/
|
||||
|
||||
#ifndef LTC_GV11B_H
|
||||
#define LTC_GV11B_H
|
||||
struct gk20a;
|
||||
|
||||
void gv11b_init_ltc(struct gpu_ops *gops);
|
||||
#endif
|
||||
25
drivers/gpu/nvgpu/gv11b/mm_gv11b.c
Normal file
25
drivers/gpu/nvgpu/gv11b/mm_gv11b.c
Normal file
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
* GV11B MMU
|
||||
*
|
||||
* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*/
|
||||
|
||||
#include <linux/pm_runtime.h>
|
||||
#include <linux/dma-mapping.h>
|
||||
#include "gk20a/gk20a.h"
|
||||
#include "gp10b/mm_gp10b.h"
|
||||
#include "mm_gv11b.h"
|
||||
|
||||
void gv11b_init_mm(struct gpu_ops *gops)
|
||||
{
|
||||
gp10b_init_mm(gops);
|
||||
}
|
||||
21
drivers/gpu/nvgpu/gv11b/mm_gv11b.h
Normal file
21
drivers/gpu/nvgpu/gv11b/mm_gv11b.h
Normal file
@@ -0,0 +1,21 @@
|
||||
/*
|
||||
* GV11B MM
|
||||
* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*/
|
||||
|
||||
#ifndef MM_GV11B_H
|
||||
#define MM_GV11B_H
|
||||
|
||||
struct gpu_ops;
|
||||
|
||||
void gv11b_init_mm(struct gpu_ops *gops);
|
||||
#endif
|
||||
27
drivers/gpu/nvgpu/gv11b/pmu_gv11b.c
Normal file
27
drivers/gpu/nvgpu/gv11b/pmu_gv11b.c
Normal file
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
* GV11B PMU
|
||||
*
|
||||
* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*/
|
||||
|
||||
#include <linux/delay.h> /* for udelay */
|
||||
#include <linux/tegra-fuse.h>
|
||||
#include "gk20a/gk20a.h"
|
||||
#include "gp10b/pmu_gp10b.h"
|
||||
|
||||
#include "pmu_gv11b.h"
|
||||
#include "hw_pwr_gv11b.h"
|
||||
|
||||
void gv11b_init_pmu_ops(struct gpu_ops *gops)
|
||||
{
|
||||
gp10b_init_pmu_ops(gops);
|
||||
}
|
||||
21
drivers/gpu/nvgpu/gv11b/pmu_gv11b.h
Normal file
21
drivers/gpu/nvgpu/gv11b/pmu_gv11b.h
Normal file
@@ -0,0 +1,21 @@
|
||||
/*
|
||||
* GV11B PMU
|
||||
*
|
||||
* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*/
|
||||
|
||||
#ifndef __PMU_GV11B_H_
|
||||
#define __PMU_GV11B_H_
|
||||
|
||||
void gv11b_init_pmu_ops(struct gpu_ops *gops);
|
||||
|
||||
#endif /*__PMU_GV11B_H_*/
|
||||
25
drivers/gpu/nvgpu/gv11b/therm_gv11b.c
Normal file
25
drivers/gpu/nvgpu/gv11b/therm_gv11b.c
Normal file
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
*
|
||||
* GV11B Therm
|
||||
*
|
||||
* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*/
|
||||
|
||||
#include "gk20a/gk20a.h"
|
||||
#include "gp10b/therm_gp10b.h"
|
||||
#include "hw_therm_gv11b.h"
|
||||
#include "therm_gv11b.h"
|
||||
|
||||
void gv11b_init_therm_ops(struct gpu_ops *gops)
|
||||
{
|
||||
gp10b_init_therm_ops(gops);
|
||||
}
|
||||
19
drivers/gpu/nvgpu/gv11b/therm_gv11b.h
Normal file
19
drivers/gpu/nvgpu/gv11b/therm_gv11b.h
Normal file
@@ -0,0 +1,19 @@
|
||||
/*
|
||||
* Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*/
|
||||
#ifndef THERM_GV11B_H
|
||||
#define THERM_GV11B_H
|
||||
|
||||
struct gpu_ops;
|
||||
void gv11b_init_therm_ops(struct gpu_ops *gops);
|
||||
|
||||
#endif /* THERM_GV11B_H */
|
||||
Reference in New Issue
Block a user