summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/nvgpu/gk20a/pmu_gk20a.h3
-rw-r--r--drivers/gpu/nvgpu/gm20b/gr_gm20b.c6
-rw-r--r--drivers/gpu/nvgpu/gm20b/gr_gm20b.h5
-rw-r--r--drivers/gpu/nvgpu/gm20b/hal_gm20b.c4
4 files changed, 18 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h
index 6ec0067b..2cb56639 100644
--- a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.h
@@ -21,6 +21,7 @@
21#ifndef __PMU_GK20A_H__ 21#ifndef __PMU_GK20A_H__
22#define __PMU_GK20A_H__ 22#define __PMU_GK20A_H__
23 23
24#include <linux/version.h>
24#include "pmu_api.h" 25#include "pmu_api.h"
25#include "pmu_common.h" 26#include "pmu_common.h"
26#include "pmuif/gpmuifboardobj.h" 27#include "pmuif/gpmuifboardobj.h"
@@ -55,7 +56,9 @@
55#define APP_VERSION_0 16856675 56#define APP_VERSION_0 16856675
56 57
57/*Fuse defines*/ 58/*Fuse defines*/
59#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 4, 0)
58#define FUSE_GCPLEX_CONFIG_FUSE_0 0x2C8 60#define FUSE_GCPLEX_CONFIG_FUSE_0 0x2C8
61#endif
59#define PMU_MODE_MISMATCH_STATUS_MAILBOX_R 6 62#define PMU_MODE_MISMATCH_STATUS_MAILBOX_R 6
60#define PMU_MODE_MISMATCH_STATUS_VAL 0xDEADDEAD 63#define PMU_MODE_MISMATCH_STATUS_VAL 0xDEADDEAD
61 64
diff --git a/drivers/gpu/nvgpu/gm20b/gr_gm20b.c b/drivers/gpu/nvgpu/gm20b/gr_gm20b.c
index 7903af79..23144275 100644
--- a/drivers/gpu/nvgpu/gm20b/gr_gm20b.c
+++ b/drivers/gpu/nvgpu/gm20b/gr_gm20b.c
@@ -18,6 +18,7 @@
18#include <linux/io.h> 18#include <linux/io.h>
19#include <linux/tegra-fuse.h> 19#include <linux/tegra-fuse.h>
20#include <linux/vmalloc.h> 20#include <linux/vmalloc.h>
21#include <linux/version.h>
21 22
22#include <dt-bindings/soc/gm20b-fuse.h> 23#include <dt-bindings/soc/gm20b-fuse.h>
23 24
@@ -513,8 +514,13 @@ static void gr_gm20b_set_gpc_tpc_mask(struct gk20a *g, u32 gpc_index)
513 tegra_clk_writel(CLK_RST_CONTROLLER_MISC_CLK_ENB_0_ALL_VISIBLE, 514 tegra_clk_writel(CLK_RST_CONTROLLER_MISC_CLK_ENB_0_ALL_VISIBLE,
514 CLK_RST_CONTROLLER_MISC_CLK_ENB_0); 515 CLK_RST_CONTROLLER_MISC_CLK_ENB_0);
515 516
517#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 4, 0)
516 tegra_fuse_writel(0x1, FUSE_FUSEBYPASS_0); 518 tegra_fuse_writel(0x1, FUSE_FUSEBYPASS_0);
517 tegra_fuse_writel(0x0, FUSE_WRITE_ACCESS_SW_0); 519 tegra_fuse_writel(0x0, FUSE_WRITE_ACCESS_SW_0);
520#else
521 tegra_fuse_control_write(0x1, FUSE_FUSEBYPASS_0);
522 tegra_fuse_control_write(0x0, FUSE_WRITE_ACCESS_SW_0);
523#endif
518 524
519 if (g->gr.gpc_tpc_mask[gpc_index] == 0x1) { 525 if (g->gr.gpc_tpc_mask[gpc_index] == 0x1) {
520 tegra_fuse_writel(0x0, FUSE_OPT_GPU_TPC0_DISABLE_0); 526 tegra_fuse_writel(0x0, FUSE_OPT_GPU_TPC0_DISABLE_0);
diff --git a/drivers/gpu/nvgpu/gm20b/gr_gm20b.h b/drivers/gpu/nvgpu/gm20b/gr_gm20b.h
index fc52f223..fd24d105 100644
--- a/drivers/gpu/nvgpu/gm20b/gr_gm20b.h
+++ b/drivers/gpu/nvgpu/gm20b/gr_gm20b.h
@@ -15,6 +15,9 @@
15 15
16#ifndef _NVHOST_GM20B_GR_MMU_H 16#ifndef _NVHOST_GM20B_GR_MMU_H
17#define _NVHOST_GM20B_GR_MMU_H 17#define _NVHOST_GM20B_GR_MMU_H
18
19#include <linux/version.h>
20
18struct gk20a; 21struct gk20a;
19 22
20enum { 23enum {
@@ -31,10 +34,12 @@ enum {
31#define CLK_RST_CONTROLLER_MISC_CLK_ENB_0 0x48 34#define CLK_RST_CONTROLLER_MISC_CLK_ENB_0 0x48
32#define CLK_RST_CONTROLLER_MISC_CLK_ENB_0_ALL_VISIBLE BIT(28) 35#define CLK_RST_CONTROLLER_MISC_CLK_ENB_0_ALL_VISIBLE BIT(28)
33 36
37#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 4, 0)
34#define FUSE_FUSEBYPASS_0 0x24 38#define FUSE_FUSEBYPASS_0 0x24
35#define FUSE_WRITE_ACCESS_SW_0 0x30 39#define FUSE_WRITE_ACCESS_SW_0 0x30
36#define FUSE_OPT_GPU_TPC0_DISABLE_0 0x30C 40#define FUSE_OPT_GPU_TPC0_DISABLE_0 0x30C
37#define FUSE_OPT_GPU_TPC1_DISABLE_0 0x33C 41#define FUSE_OPT_GPU_TPC1_DISABLE_0 0x33C
42#endif
38 43
39#define NVB197_SET_ALPHA_CIRCULAR_BUFFER_SIZE 0x02dc 44#define NVB197_SET_ALPHA_CIRCULAR_BUFFER_SIZE 0x02dc
40#define NVB197_SET_CIRCULAR_BUFFER_SIZE 0x1280 45#define NVB197_SET_CIRCULAR_BUFFER_SIZE 0x1280
diff --git a/drivers/gpu/nvgpu/gm20b/hal_gm20b.c b/drivers/gpu/nvgpu/gm20b/hal_gm20b.c
index 1c601894..966d33d7 100644
--- a/drivers/gpu/nvgpu/gm20b/hal_gm20b.c
+++ b/drivers/gpu/nvgpu/gm20b/hal_gm20b.c
@@ -14,6 +14,7 @@
14 */ 14 */
15 15
16#include <linux/types.h> 16#include <linux/types.h>
17#include <linux/version.h>
17 18
18#include "gk20a/gk20a.h" 19#include "gk20a/gk20a.h"
19 20
@@ -38,7 +39,10 @@
38#include "gk20a/dbg_gpu_gk20a.h" 39#include "gk20a/dbg_gpu_gk20a.h"
39#include "gk20a/css_gr_gk20a.h" 40#include "gk20a/css_gr_gk20a.h"
40 41
42#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 4, 0)
41#define FUSE_OPT_PRIV_SEC_DIS_0 0x264 43#define FUSE_OPT_PRIV_SEC_DIS_0 0x264
44#endif
45
42#define PRIV_SECURITY_DISABLE 0x01 46#define PRIV_SECURITY_DISABLE 0x01
43 47
44static struct gpu_ops gm20b_ops = { 48static struct gpu_ops gm20b_ops = {