summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Lee <geolee@google.com>2021-03-24 16:16:05 -0700
committerGeorge Lee <geolee@google.com>2021-03-31 09:47:23 -0700
commit1f96ca164e2b661fbe1407333015ad1eec343995 (patch)
treeffeb0f30557932b36acddfae5c14ee69b7bb5893
parent2be4b1e51a13039aed1f3b9b2544f75d2df2ea6b (diff)
downloadedgetpu-1f96ca164e2b661fbe1407333015ad1eec343995.tar.gz
bcl: initialize tpu clock divider ratio
Bug: 183412759 Signed-off-by: George Lee <geolee@google.com> Change-Id: I55ee8cbaebdbdb329d451ee7c683eab453a89022
-rw-r--r--drivers/edgetpu/abrolhos-pm.c7
-rw-r--r--drivers/edgetpu/edgetpu-internal.h3
2 files changed, 10 insertions, 0 deletions
diff --git a/drivers/edgetpu/abrolhos-pm.c b/drivers/edgetpu/abrolhos-pm.c
index 61f9bd8..0b0903b 100644
--- a/drivers/edgetpu/abrolhos-pm.c
+++ b/drivers/edgetpu/abrolhos-pm.c
@@ -24,6 +24,7 @@
#include "soc/google/exynos_pm_qos.h"
#include "soc/google/bts.h"
+#include "soc/google/bcl.h"
#include "edgetpu-pm.c"
@@ -465,6 +466,12 @@ static int abrolhos_power_up(struct edgetpu_pm *etpm)
if (ret)
abrolhos_power_down(etpm);
+ else {
+ if (!etdev->bcl_dev)
+ etdev->bcl_dev = gs101_retrieve_bcl_handle();
+ if (etdev->bcl_dev)
+ gs101_init_tpu_ratio(etdev->bcl_dev);
+ }
return ret;
}
diff --git a/drivers/edgetpu/edgetpu-internal.h b/drivers/edgetpu/edgetpu-internal.h
index 80691b0..511823c 100644
--- a/drivers/edgetpu/edgetpu-internal.h
+++ b/drivers/edgetpu/edgetpu-internal.h
@@ -35,6 +35,8 @@
#include "edgetpu-thermal.h"
#include "edgetpu-usage-stats.h"
+#include "soc/google/bcl.h"
+
#define etdev_err(etdev, fmt, ...) dev_err((etdev)->etcdev, fmt, ##__VA_ARGS__)
#define etdev_warn(etdev, fmt, ...) \
dev_warn((etdev)->etcdev, fmt, ##__VA_ARGS__)
@@ -199,6 +201,7 @@ struct edgetpu_dev {
/* debug dump handlers */
edgetpu_debug_dump_handlers *debug_dump_handlers;
struct work_struct debug_dump_work;
+ struct gs101_bcl_dev *bcl_dev;
};
extern const struct file_operations edgetpu_fops;