diff options
author | George Lee <geolee@google.com> | 2021-03-24 16:16:05 -0700 |
---|---|---|
committer | George Lee <geolee@google.com> | 2021-03-31 09:47:23 -0700 |
commit | 1f96ca164e2b661fbe1407333015ad1eec343995 (patch) | |
tree | ffeb0f30557932b36acddfae5c14ee69b7bb5893 | |
parent | 2be4b1e51a13039aed1f3b9b2544f75d2df2ea6b (diff) | |
download | abrolhos-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.c | 7 | ||||
-rw-r--r-- | drivers/edgetpu/edgetpu-internal.h | 3 |
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; |