summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWhi copybara merger <whitechapel-automerger@google.com>2023-04-11 14:08:01 -0700
committerCopybara-Service <copybara-worker@google.com>2023-04-26 11:16:30 -0700
commitba2aafa0bc4363b2e17ff16249daecdb8bd7533b (patch)
tree9c39589e566e4470971407d90dc16e6c630e0059
parent63cc3446d537da436b313e2ff896d2fcd87cea86 (diff)
downloadabrolhos-ba2aafa0bc4363b2e17ff16249daecdb8bd7533b.tar.gz
[Copybara Auto Merge] Merge branch whitechapel into partner-android
edgetpu: whitechapel: sync with darwinn-2.0 251d2a4f5 edgetpu: add error log for canceled operation due to fatal error 4e2c203c2 edgetpu: Handle missing scmversion Bug: 277787303 GitOrigin-RevId: e6067dc85dde7c6014e48bb4b99829569f299d1d Change-Id: I8a3b318bec4954a53f20ca0576a73634e1d49576
-rw-r--r--drivers/edgetpu/edgetpu-device-group.c2
-rw-r--r--drivers/edgetpu/edgetpu-device-group.h18
-rw-r--r--drivers/edgetpu/edgetpu-mobile-platform.c2
3 files changed, 17 insertions, 5 deletions
diff --git a/drivers/edgetpu/edgetpu-device-group.c b/drivers/edgetpu/edgetpu-device-group.c
index 2b13cf0..4bd1be9 100644
--- a/drivers/edgetpu/edgetpu-device-group.c
+++ b/drivers/edgetpu/edgetpu-device-group.c
@@ -1879,7 +1879,7 @@ uint edgetpu_group_get_fatal_errors(struct edgetpu_device_group *group)
uint fatal_errors;
mutex_lock(&group->lock);
- fatal_errors = group->fatal_errors;
+ fatal_errors = edgetpu_group_get_fatal_errors_locked(group);
mutex_unlock(&group->lock);
return fatal_errors;
}
diff --git a/drivers/edgetpu/edgetpu-device-group.h b/drivers/edgetpu/edgetpu-device-group.h
index fffcf75..a8a3bac 100644
--- a/drivers/edgetpu/edgetpu-device-group.h
+++ b/drivers/edgetpu/edgetpu-device-group.h
@@ -210,15 +210,27 @@ edgetpu_device_group_is_disbanded(const struct edgetpu_device_group *group)
}
/*
- * Returns -ECANCELED if the status of group is ERRORED, otherwise returns
- * -EINVAL.
+ * Return fatal error status for the group.
+ *
+ * Caller holds @group->lock.
+ */
+static inline uint edgetpu_group_get_fatal_errors_locked(struct edgetpu_device_group *group)
+{
+ return group->fatal_errors;
+}
+
+/*
+ * Returns -ECANCELED if the status of group is ERRORED, otherwise returns -EINVAL.
*
* Caller holds @group->lock.
*/
static inline int edgetpu_group_errno(struct edgetpu_device_group *group)
{
- if (edgetpu_device_group_is_errored(group))
+ if (edgetpu_device_group_is_errored(group)) {
+ etdev_err(group->etdev, "group %u error status 0x%x\n", group->workload_id,
+ edgetpu_group_get_fatal_errors_locked(group));
return -ECANCELED;
+ }
return -EINVAL;
}
diff --git a/drivers/edgetpu/edgetpu-mobile-platform.c b/drivers/edgetpu/edgetpu-mobile-platform.c
index 194c741..3272d4c 100644
--- a/drivers/edgetpu/edgetpu-mobile-platform.c
+++ b/drivers/edgetpu/edgetpu-mobile-platform.c
@@ -330,7 +330,7 @@ edgetpu_mobile_platform_set_fw_ctx_memory(struct edgetpu_mobile_platform_dev *et
static inline const char *get_driver_commit(void)
{
#if IS_ENABLED(CONFIG_MODULE_SCMVERSION)
- return THIS_MODULE->scmversion;
+ return THIS_MODULE->scmversion ?: "scmversion missing";
#elif defined(GIT_REPO_TAG)
return GIT_REPO_TAG;
#else