summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2017-06-02 05:17:20 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-06-08 09:37:17 -0400
commit366386d1898af61eb425aa8b37cfb656ff898c1a (patch)
tree2e950a577c0685da12fa2d4f722430b52c3a4df4
parentc37a7a577a5cf4732a32c7747f244aab19bdeaec (diff)
gpu: nvgpu: add t19x specific nvhost abstraction files
Add new abstraction file common/linux/nvhost_t19x.c for all nvhost APIs exported from linux/nvhost_t194.h This file will be compiled only if config CONFIG_TEGRA_GK20A_NVHOST is set Export the new headers from file <nvgpu/nvhost_t19x.h> Also add dummy private header file nvhost_priv_t19x.h to store definition of private structure nvgpu_nvhost_dev This file should be deleted when nvgpu-t19x repo is merged into common nvhost repo Jira NVGPU-29 Change-Id: I8c08c9242b08cc45f7c99cc400b3e1a720f9439c Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/1493792 Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
-rw-r--r--drivers/gpu/nvgpu/Makefile1
-rw-r--r--drivers/gpu/nvgpu/common/linux/nvhost_priv_t19x.h29
-rw-r--r--drivers/gpu/nvgpu/common/linux/nvhost_t19x.c36
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/nvhost_t19x.h30
4 files changed, 96 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/Makefile b/drivers/gpu/nvgpu/Makefile
index d1b6a67c..244b3ed3 100644
--- a/drivers/gpu/nvgpu/Makefile
+++ b/drivers/gpu/nvgpu/Makefile
@@ -20,3 +20,4 @@ nvgpu-y += \
20 $(nvgpu-t19x)/gv11b/regops_gv11b.o 20 $(nvgpu-t19x)/gv11b/regops_gv11b.o
21 21
22nvgpu-$(CONFIG_TEGRA_GK20A) += $(nvgpu-t19x)/gv11b/platform_gv11b_tegra.o 22nvgpu-$(CONFIG_TEGRA_GK20A) += $(nvgpu-t19x)/gv11b/platform_gv11b_tegra.o
23nvgpu-$(CONFIG_TEGRA_GK20A_NVHOST) += $(nvgpu-t19x)/common/linux/nvhost_t19x.o
diff --git a/drivers/gpu/nvgpu/common/linux/nvhost_priv_t19x.h b/drivers/gpu/nvgpu/common/linux/nvhost_priv_t19x.h
new file mode 100644
index 00000000..7ff6184d
--- /dev/null
+++ b/drivers/gpu/nvgpu/common/linux/nvhost_priv_t19x.h
@@ -0,0 +1,29 @@
1/*
2 * Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms and conditions of the GNU General Public License,
6 * version 2, as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
11 * more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#ifndef __NVGPU_NVHOST_PRIV_T19X_H__
18#define __NVGPU_NVHOST_PRIV_T19X_H__
19
20/*
21 * This file is copy of common/linux/nvhost_priv.h in nvgpu repo
22 * This file should be removed when nvgpu-t19x repo is merged
23 * into common nvgpu repo
24 */
25struct nvgpu_nvhost_dev {
26 struct platform_device *host1x_pdev;
27};
28
29#endif /* __NVGPU_NVHOST_PRIV_T19X_H__ */
diff --git a/drivers/gpu/nvgpu/common/linux/nvhost_t19x.c b/drivers/gpu/nvgpu/common/linux/nvhost_t19x.c
new file mode 100644
index 00000000..0bbb3d72
--- /dev/null
+++ b/drivers/gpu/nvgpu/common/linux/nvhost_t19x.c
@@ -0,0 +1,36 @@
1/*
2 * Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms and conditions of the GNU General Public License,
6 * version 2, as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
11 * more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include <linux/nvhost.h>
18#include <linux/nvhost_t194.h>
19
20#include <nvgpu/nvhost_t19x.h>
21
22#include "nvhost_priv_t19x.h"
23
24int nvgpu_nvhost_syncpt_unit_interface_get_aperture(
25 struct nvgpu_nvhost_dev *nvhost_dev,
26 phys_addr_t *base,
27 size_t *size)
28{
29 return nvhost_syncpt_unit_interface_get_aperture(
30 nvhost_dev->host1x_pdev, base, size);
31}
32
33u32 nvgpu_nvhost_syncpt_unit_interface_get_byte_offset(u32 syncpt_id)
34{
35 return nvhost_syncpt_unit_interface_get_byte_offset(syncpt_id);
36}
diff --git a/drivers/gpu/nvgpu/include/nvgpu/nvhost_t19x.h b/drivers/gpu/nvgpu/include/nvgpu/nvhost_t19x.h
new file mode 100644
index 00000000..c456687b
--- /dev/null
+++ b/drivers/gpu/nvgpu/include/nvgpu/nvhost_t19x.h
@@ -0,0 +1,30 @@
1/*
2 * Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms and conditions of the GNU General Public License,
6 * version 2, as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
11 * more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#ifndef __NVGPU_NVHOST_T19X_H__
18#define __NVGPU_NVHOST_T19X_H__
19
20#ifdef CONFIG_TEGRA_GK20A_NVHOST
21struct nvgpu_nvhost_dev;
22
23int nvgpu_nvhost_syncpt_unit_interface_get_aperture(
24 struct nvgpu_nvhost_dev *nvhost_dev,
25 phys_addr_t *base,
26 size_t *size);
27u32 nvgpu_nvhost_syncpt_unit_interface_get_byte_offset(u32 syncpt_id);
28
29#endif
30#endif /* __NVGPU_NVHOST_T19X_H__ */