From 0c40a3e034cd9450859dfe713c4d1ca134b77b7e Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Sat, 14 Oct 2017 07:53:06 -0700 Subject: gpu: nvgpu: Initialize usermode regs for Volta dGPU Initialize usermode registers also for Volta GPU behind PCIe. Change-Id: Id621a74838839e4d98dfd0828c1ea5a0d54baa2d Signed-off-by: Terje Bergstrom Reviewed-on: https://git-master.nvidia.com/r/1579121 Reviewed-by: David Martinez Nieto Tested-by: David Martinez Nieto GVS: Gerrit_Virtual_Submit Reviewed-by: Seshendra Gadagottu --- drivers/gpu/nvgpu/Makefile | 1 + drivers/gpu/nvgpu/common/linux/pci_t19x.c | 24 ++++++++++++++++++++++++ drivers/gpu/nvgpu/include/nvgpu/linux/pci_t19x.h | 23 +++++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 drivers/gpu/nvgpu/common/linux/pci_t19x.c create mode 100644 drivers/gpu/nvgpu/include/nvgpu/linux/pci_t19x.h (limited to 'drivers/gpu') diff --git a/drivers/gpu/nvgpu/Makefile b/drivers/gpu/nvgpu/Makefile index cc304df6..bd703d4b 100644 --- a/drivers/gpu/nvgpu/Makefile +++ b/drivers/gpu/nvgpu/Makefile @@ -5,6 +5,7 @@ nvgpu-y += \ $(nvgpu-t19x)/common/linux/ioctl_tsg_t19x.o \ $(nvgpu-t19x)/common/linux/io_t19x.o \ $(nvgpu-t19x)/common/linux/module_t19x.o \ + $(nvgpu-t19x)/common/linux/pci_t19x.o \ $(nvgpu-t19x)/gv11b/gv11b.o \ $(nvgpu-t19x)/gv11b/mc_gv11b.o \ $(nvgpu-t19x)/gv11b/ltc_gv11b.o \ diff --git a/drivers/gpu/nvgpu/common/linux/pci_t19x.c b/drivers/gpu/nvgpu/common/linux/pci_t19x.c new file mode 100644 index 00000000..54efd68e --- /dev/null +++ b/drivers/gpu/nvgpu/common/linux/pci_t19x.c @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2017, 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 + +#include + +#include "common/linux/os_linux.h" + +void t19x_nvgpu_pci_init_support(struct nvgpu_os_linux *l) +{ + l->t19x.usermode_regs = l->regs + usermode_cfg0_r(); + l->t19x.usermode_regs_saved = l->t19x.usermode_regs; +} diff --git a/drivers/gpu/nvgpu/include/nvgpu/linux/pci_t19x.h b/drivers/gpu/nvgpu/include/nvgpu/linux/pci_t19x.h new file mode 100644 index 00000000..c94176cc --- /dev/null +++ b/drivers/gpu/nvgpu/include/nvgpu/linux/pci_t19x.h @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2017, 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 . + */ +#ifndef __NVGPU_PCI_T19X_H__ +#define __NVGPU_PCI_T19X_H__ + +struct nvgpu_os_linux; + +void t19x_nvgpu_pci_init_support(struct nvgpu_os_linux *l); + +#endif -- cgit v1.2.2