msm: kgsl: Debugfs entity to switch on/off userspace FT policy control
When debugfs entity "ft_user_control" is set, it enables userspace to
control GPU fault tolerance policy. By default it is disabled.
Change-Id: Ia93ccf6d9595f6e7cda71863f9067819aaa0a68d
Signed-off-by: Tarun Karra <tkarra@codeaurora.org>
diff --git a/drivers/gpu/msm/adreno.c b/drivers/gpu/msm/adreno.c
index ea595b2..5861c71 100644
--- a/drivers/gpu/msm/adreno.c
+++ b/drivers/gpu/msm/adreno.c
@@ -2231,6 +2231,9 @@
case KGSL_PROP_FAULT_TOLERANCE: {
struct kgsl_ft_config ftd;
+ if (adreno_dev->ft_user_control == 0)
+ break;
+
if (sizebytes != sizeof(ftd))
break;
diff --git a/drivers/gpu/msm/adreno.h b/drivers/gpu/msm/adreno.h
index 4b593d5..8a57b95 100644
--- a/drivers/gpu/msm/adreno.h
+++ b/drivers/gpu/msm/adreno.h
@@ -103,6 +103,7 @@
unsigned int ib_check_level;
unsigned int fast_hang_detect;
unsigned int ft_policy;
+ unsigned int ft_user_control;
unsigned int long_ib_detect;
unsigned int long_ib;
unsigned int long_ib_ts;
diff --git a/drivers/gpu/msm/adreno_debugfs.c b/drivers/gpu/msm/adreno_debugfs.c
index 5acf5c4..890c8a1 100644
--- a/drivers/gpu/msm/adreno_debugfs.c
+++ b/drivers/gpu/msm/adreno_debugfs.c
@@ -64,6 +64,11 @@
adreno_dev->fast_hang_detect = 1;
debugfs_create_u32("fast_hang_detect", 0644, device->d_debugfs,
&adreno_dev->fast_hang_detect);
+
+ /* Top level switch to enable/disable userspace FT control */
+ adreno_dev->ft_user_control = 0;
+ debugfs_create_u32("ft_user_control", 0644, device->d_debugfs,
+ &adreno_dev->ft_user_control);
/*
* FT policy can be set to any of the options below.
* KGSL_FT_DISABLE -> BIT(0) Set to disable FT