summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuma copybara merger <zuma-automerger@google.com>2023-03-03 01:53:05 +0000
committerCopybara-Service <copybara-worker@google.com>2023-03-02 18:05:31 -0800
commit6b64201b2489f498880d070776fc95a7a0568bda (patch)
tree5569eccb89e61577180e5977051a9bd61756fd2a
parent7f2d22eee75783f5def662dc34636e15648a7bf6 (diff)
downloadrio-6b64201b2489f498880d070776fc95a7a0568bda.tar.gz
[Copybara Auto Merge] Merge branch zuma into android14-gs-pixel-5.15
edgetpu: fix cooling name Bug: 271488451 edgetpu: remove software watchdog reset_needed flag Signed-off-by: Zuma copybara merger <zuma-automerger@google.com> GitOrigin-RevId: 8404b7cde1f37cdeabb644549d450545e368d26a Change-Id: I7010bdd4fb54fce3615158b0293bb47a81a2bf75
-rw-r--r--drivers/edgetpu/edgetpu-core.c4
-rw-r--r--drivers/edgetpu/edgetpu-internal.h1
-rw-r--r--drivers/edgetpu/edgetpu-mailbox.c6
-rw-r--r--drivers/edgetpu/edgetpu-sw-watchdog.c9
-rw-r--r--drivers/edgetpu/edgetpu-sw-watchdog.h4
-rw-r--r--drivers/edgetpu/edgetpu-thermal.h2
6 files changed, 10 insertions, 16 deletions
diff --git a/drivers/edgetpu/edgetpu-core.c b/drivers/edgetpu/edgetpu-core.c
index fa0f849..2e46765 100644
--- a/drivers/edgetpu/edgetpu-core.c
+++ b/drivers/edgetpu/edgetpu-core.c
@@ -694,8 +694,8 @@ void edgetpu_handle_firmware_crash(struct edgetpu_dev *etdev,
etdev_err(etdev, "firmware unrecoverable crash");
etdev->firmware_crash_count++;
edgetpu_fatal_error_notify(etdev, EDGETPU_ERROR_FW_CRASH);
- /* Restart firmware without chip reset */
- edgetpu_watchdog_bite(etdev, false);
+ /* Restart firmware */
+ edgetpu_watchdog_bite(etdev);
} else {
etdev_err(etdev, "firmware non-fatal crash event: %u",
crash_type);
diff --git a/drivers/edgetpu/edgetpu-internal.h b/drivers/edgetpu/edgetpu-internal.h
index bac105a..caf8ef4 100644
--- a/drivers/edgetpu/edgetpu-internal.h
+++ b/drivers/edgetpu/edgetpu-internal.h
@@ -205,7 +205,6 @@ struct edgetpu_dev {
/* Memory pool in instruction remap region */
struct edgetpu_mempool *iremap_pool;
struct edgetpu_sw_wdt *etdev_sw_wdt; /* software watchdog */
- bool reset_needed; /* error recovery requests full chip reset. */
/* version read from the firmware binary file */
struct edgetpu_fw_version fw_version;
atomic_t job_count; /* times joined to a device group */
diff --git a/drivers/edgetpu/edgetpu-mailbox.c b/drivers/edgetpu/edgetpu-mailbox.c
index 3dc02b4..37ee227 100644
--- a/drivers/edgetpu/edgetpu-mailbox.c
+++ b/drivers/edgetpu/edgetpu-mailbox.c
@@ -1135,11 +1135,11 @@ int edgetpu_mailbox_activate_bulk(struct edgetpu_dev *etdev, u32 mailbox_map, s1
mutex_unlock(&eh->lock);
/*
* We are observing OPEN_DEVICE KCI fails while other KCIs (usage update / shutdown) still
- * succeed and no firmware crash is reported. Kick off the firmware restart when we are
- * facing this and hope this can rescue the device from the bad state.
+ * succeed and no firmware crash is reported. Kick off a firmware restart when we are
+ * facing this and hope it can rescue the device from the bad state.
*/
if (ret == -ETIMEDOUT)
- edgetpu_watchdog_bite(etdev, false);
+ edgetpu_watchdog_bite(etdev);
return ret;
}
diff --git a/drivers/edgetpu/edgetpu-sw-watchdog.c b/drivers/edgetpu/edgetpu-sw-watchdog.c
index 4e7f681..4ca255c 100644
--- a/drivers/edgetpu/edgetpu-sw-watchdog.c
+++ b/drivers/edgetpu/edgetpu-sw-watchdog.c
@@ -58,20 +58,17 @@ static void sw_wdt_modify_rate(struct edgetpu_sw_wdt *wdt, unsigned long rate)
sw_wdt_start(wdt);
}
-void edgetpu_watchdog_bite(struct edgetpu_dev *etdev, bool reset)
+void edgetpu_watchdog_bite(struct edgetpu_dev *etdev)
{
if (!etdev->etdev_sw_wdt)
return;
/*
* Stop sw wdog delayed worker, to reduce chance this explicit call
* races with a sw wdog timeout. May be in IRQ context, no sync,
- * worker may already be active. If we race with a sw wdog restart
- * and need a chip reset, hopefully the P-channel reset will fail
- * and the bigger hammer chip reset will kick in at that point.
+ * worker may already be active.
*/
cancel_delayed_work(&etdev->etdev_sw_wdt->dwork);
- etdev_err(etdev, "watchdog %s", reset ? "reset" : "restart");
- etdev->reset_needed = reset;
+ etdev_err(etdev, "watchdog restart");
schedule_work(&etdev->etdev_sw_wdt->et_action_work.work);
}
diff --git a/drivers/edgetpu/edgetpu-sw-watchdog.h b/drivers/edgetpu/edgetpu-sw-watchdog.h
index bbc1757..6cd3ad2 100644
--- a/drivers/edgetpu/edgetpu-sw-watchdog.h
+++ b/drivers/edgetpu/edgetpu-sw-watchdog.h
@@ -77,9 +77,7 @@ void edgetpu_sw_wdt_dec_active_ref(struct edgetpu_dev *etdev);
/*
* Schedule sw watchdog action immediately. Called on fatal errors.
- * @reset: true if error recovery requires a full chip reset, not just
- * firmware restart.
*/
-void edgetpu_watchdog_bite(struct edgetpu_dev *etdev, bool reset);
+void edgetpu_watchdog_bite(struct edgetpu_dev *etdev);
#endif /* __EDGETPU_SW_WDT_H__ */
diff --git a/drivers/edgetpu/edgetpu-thermal.h b/drivers/edgetpu/edgetpu-thermal.h
index 588a7c7..9bc2235 100644
--- a/drivers/edgetpu/edgetpu-thermal.h
+++ b/drivers/edgetpu/edgetpu-thermal.h
@@ -9,7 +9,7 @@
#include "edgetpu-internal.h"
-#define EDGETPU_COOLING_NAME "tpu-cooling"
+#define EDGETPU_COOLING_NAME "tpu_cooling"
int edgetpu_thermal_create(struct edgetpu_dev *etdev);
void edgetpu_thermal_destroy(struct edgetpu_dev *etdev);