diff options
-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; |