From 1f96ca164e2b661fbe1407333015ad1eec343995 Mon Sep 17 00:00:00 2001 From: George Lee Date: Wed, 24 Mar 2021 16:16:05 -0700 Subject: bcl: initialize tpu clock divider ratio Bug: 183412759 Signed-off-by: George Lee Change-Id: I55ee8cbaebdbdb329d451ee7c683eab453a89022 --- drivers/edgetpu/abrolhos-pm.c | 7 +++++++ drivers/edgetpu/edgetpu-internal.h | 3 +++ 2 files changed, 10 insertions(+) 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; -- cgit v1.2.3