summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2017-05-17 05:33:33 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-05-24 07:55:53 -0400
commitfa68aa53efc5048247e975820e3d1207f54ed550 (patch)
tree5141d976ba95bd9928e53ed89999a4b8b203f11d
parent6d2d3a3d9345661bc14af06a8b4462495205b743 (diff)
gpu: nvgpu: add common fuse APIs
Add a new file common/linux/fuse.c for common fuse operations with below APIs nvgpu_tegra_fuse_read() nvgpu_tegra_fuse_write() nvgpu_tegra_get_gpu_speedo_id() Export the APIs in header <nvgpu/fuse.h> Jira NVGPU-49 Jira NVGPU-75 Change-Id: I5b0b0772584a5d408b23e629df9c5f73ecc05f6b Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/1483860 GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
-rw-r--r--drivers/gpu/nvgpu/Makefile.nvgpu1
-rw-r--r--drivers/gpu/nvgpu/common/linux/fuse.c31
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/fuse.h21
3 files changed, 53 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/Makefile.nvgpu b/drivers/gpu/nvgpu/Makefile.nvgpu
index 6bbf49a5..8bb64af7 100644
--- a/drivers/gpu/nvgpu/Makefile.nvgpu
+++ b/drivers/gpu/nvgpu/Makefile.nvgpu
@@ -36,6 +36,7 @@ nvgpu-y := \
36 common/linux/nvgpu_mem.o \ 36 common/linux/nvgpu_mem.o \
37 common/linux/dma.o \ 37 common/linux/dma.o \
38 common/linux/soc.o \ 38 common/linux/soc.o \
39 common/linux/fuse.o \
39 common/linux/driver_common.o \ 40 common/linux/driver_common.o \
40 common/linux/firmware.o \ 41 common/linux/firmware.o \
41 common/linux/thread.o \ 42 common/linux/thread.o \
diff --git a/drivers/gpu/nvgpu/common/linux/fuse.c b/drivers/gpu/nvgpu/common/linux/fuse.c
new file mode 100644
index 00000000..5c832a2a
--- /dev/null
+++ b/drivers/gpu/nvgpu/common/linux/fuse.c
@@ -0,0 +1,31 @@
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
14#include <soc/tegra/fuse.h>
15
16#include <nvgpu/fuse.h>
17
18int nvgpu_tegra_fuse_read(unsigned long offset, u32 *value)
19{
20 return tegra_fuse_readl(offset, value);
21}
22
23void nvgpu_tegra_fuse_write(u32 value, unsigned long offset)
24{
25 tegra_fuse_control_write(value, offset);
26}
27
28int nvgpu_tegra_get_gpu_speedo_id(void)
29{
30 return tegra_sku_info.gpu_speedo_id;
31}
diff --git a/drivers/gpu/nvgpu/include/nvgpu/fuse.h b/drivers/gpu/nvgpu/include/nvgpu/fuse.h
new file mode 100644
index 00000000..1e306b2d
--- /dev/null
+++ b/drivers/gpu/nvgpu/include/nvgpu/fuse.h
@@ -0,0 +1,21 @@
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#ifndef __NVGPU_FUSE_H__
14#define __NVGPU_FUSE_H__
15
16int nvgpu_tegra_fuse_read(unsigned long offset, u32 *value);
17void nvgpu_tegra_fuse_write(u32 value, unsigned long offset);
18
19int nvgpu_tegra_get_gpu_speedo_id(void);
20
21#endif