Commit 1152b4b4e0c0e6525e01835dd96a22c30be7e96b

Con Kolivas 2012-04-14T00:18:00

Re-initialising ADL simply made the driver fail since it is corruption over time within the windows driver that's responsible. Revert "Attempt to re-initialise ADL should a device that previously reported fanspeed stops reporting it." This reverts commit d4c513030f6d6da4cb54c0d1499d332a3987c376.

diff --git a/adl.c b/adl.c
index 04e4868..13dd06b 100644
--- a/adl.c
+++ b/adl.c
@@ -639,8 +639,6 @@ static inline int __gpu_fanspeed(struct gpu_adl *ga)
 	return ga->lpFanSpeedValue.iFanSpeed;
 }
 
-static void reinit_adl(void);
-
 int gpu_fanspeed(int gpu)
 {
 	struct gpu_adl *ga;
@@ -669,8 +667,6 @@ static int __gpu_fanpercent(struct gpu_adl *ga)
 	return ga->lpFanSpeedValue.iFanSpeed;
 }
 
-
-
 int gpu_fanpercent(int gpu)
 {
 	struct gpu_adl *ga;
@@ -683,11 +679,6 @@ int gpu_fanpercent(int gpu)
 	lock_adl();
 	ret = __gpu_fanpercent(ga);
 	unlock_adl();
-	if (unlikely(ga->has_fanspeed && ret == -1)) {
-		applog(LOG_WARNING, "GPU %d stopped reporting fanspeed", gpu);
-		applog(LOG_WARNING, "Will attempt to re-initialise ADL");
-		reinit_adl();
-	}
 	return ret;
 }
 
@@ -1368,7 +1359,7 @@ void clear_adl(int nDevs)
 	free_adl();
 }
 
-static void reinit_adl(void)
+void reinit_adl(void)
 {
 	bool ret;
 	lock_adl();
@@ -1377,8 +1368,7 @@ static void reinit_adl(void)
 	if (!ret) {
 		adl_active = false;
 		applog(LOG_WARNING, "Attempt to re-initialise ADL has failed, disabling");
-	} else
-		applog(LOG_WARNING, "ADL re-initialisation complete");
+	}
 	unlock_adl();
 }
 #endif /* HAVE_ADL */
diff --git a/adl.h b/adl.h
index f48c420..363741c 100644
--- a/adl.h
+++ b/adl.h
@@ -19,10 +19,12 @@ bool gpu_stats(int gpu, float *temp, int *engineclock, int *memclock, float *vdd
 void change_gpusettings(int gpu);
 void gpu_autotune(int gpu, enum dev_enable *denable);
 void clear_adl(int nDevs);
+void reinit_adl(void);
 #else /* HAVE_ADL */
 #define adl_active (0)
 static inline void init_adl(int nDevs) {}
 static inline void change_gpusettings(int gpu) { }
 static inline void clear_adl(int nDevs) {}
+static inline void reinit_adl(void) {}
 #endif
 #endif