* [PATCH 1/2] habanalabs: unify err log of hw-fini failure in dirty state
@ 2023-03-02 9:15 Oded Gabbay
2023-03-02 9:15 ` [PATCH 2/2] habanalabs: use scnprintf() in print_device_in_use_info() Oded Gabbay
2023-03-02 10:27 ` [PATCH 1/2] habanalabs: unify err log of hw-fini failure in dirty state Stanislaw Gruszka
0 siblings, 2 replies; 4+ messages in thread
From: Oded Gabbay @ 2023-03-02 9:15 UTC (permalink / raw)
To: dri-devel; +Cc: Dafna Hirschfeld
From: Dafna Hirschfeld <dhirschfeld@habana.ai>
print more informative message when failing in dirty state
Signed-off-by: Dafna Hirschfeld <dhirschfeld@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
---
drivers/accel/habanalabs/gaudi2/gaudi2.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/accel/habanalabs/gaudi2/gaudi2.c b/drivers/accel/habanalabs/gaudi2/gaudi2.c
index 58e3bffb8c25..99af319cd023 100644
--- a/drivers/accel/habanalabs/gaudi2/gaudi2.c
+++ b/drivers/accel/habanalabs/gaudi2/gaudi2.c
@@ -2896,7 +2896,7 @@ static int gaudi2_early_init(struct hl_device *hdev)
dev_dbg(hdev->dev, "H/W state is dirty, must reset before initializing\n");
rc = hdev->asic_funcs->hw_fini(hdev, true, false);
if (rc) {
- dev_err(hdev->dev, "failed to reset HW during early init (%d)\n", rc);
+ dev_err(hdev->dev, "failed to reset HW in dirty state (%d)\n", rc);
goto pci_fini;
}
}
--
2.39.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] habanalabs: use scnprintf() in print_device_in_use_info()
2023-03-02 9:15 [PATCH 1/2] habanalabs: unify err log of hw-fini failure in dirty state Oded Gabbay
@ 2023-03-02 9:15 ` Oded Gabbay
2023-03-02 10:25 ` Stanislaw Gruszka
2023-03-02 10:27 ` [PATCH 1/2] habanalabs: unify err log of hw-fini failure in dirty state Stanislaw Gruszka
1 sibling, 1 reply; 4+ messages in thread
From: Oded Gabbay @ 2023-03-02 9:15 UTC (permalink / raw)
To: dri-devel; +Cc: Stanislaw Gruszka, Tomer Tayar
From: Tomer Tayar <ttayar@habana.ai>
compose_device_in_use_info() was added to handle the snprintf() return
value in a single place.
However, the buffer size in print_device_in_use_info() is set such that
it would be enough for the max possible print, so
compose_device_in_use_info() is not really needed.
Moreover, scnprintf() can be used instead of snprintf(), to save the
check if the return value larger than the given size.
Cc: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
Signed-off-by: Tomer Tayar <ttayar@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
---
drivers/accel/habanalabs/common/device.c | 36 +++++++-----------------
1 file changed, 10 insertions(+), 26 deletions(-)
diff --git a/drivers/accel/habanalabs/common/device.c b/drivers/accel/habanalabs/common/device.c
index 99e793dfb126..8db00cb3b71d 100644
--- a/drivers/accel/habanalabs/common/device.c
+++ b/drivers/accel/habanalabs/common/device.c
@@ -482,48 +482,32 @@ int hl_hpriv_put(struct hl_fpriv *hpriv)
return kref_put(&hpriv->refcount, hpriv_release);
}
-static void compose_device_in_use_info(char **buf, size_t *buf_size, const char *fmt, ...)
-{
- struct va_format vaf;
- va_list args;
- int size;
-
- va_start(args, fmt);
- vaf.fmt = fmt;
- vaf.va = &args;
-
- size = snprintf(*buf, *buf_size, "%pV", &vaf);
- if (size >= *buf_size)
- size = *buf_size;
-
- *buf += size;
- *buf_size -= size;
-
- va_end(args);
-}
-
static void print_device_in_use_info(struct hl_device *hdev, const char *message)
{
u32 active_cs_num, dmabuf_export_cnt;
- char buf[64], *buf_ptr = buf;
- size_t buf_size = sizeof(buf);
bool unknown_reason = true;
+ char buf[128];
+ size_t size;
+ int offset;
+
+ size = sizeof(buf);
+ offset = 0;
active_cs_num = hl_get_active_cs_num(hdev);
if (active_cs_num) {
unknown_reason = false;
- compose_device_in_use_info(&buf_ptr, &buf_size, " [%u active CS]", active_cs_num);
+ offset += scnprintf(buf + offset, size - offset, " [%u active CS]", active_cs_num);
}
dmabuf_export_cnt = atomic_read(&hdev->dmabuf_export_cnt);
if (dmabuf_export_cnt) {
unknown_reason = false;
- compose_device_in_use_info(&buf_ptr, &buf_size, " [%u exported dma-buf]",
- dmabuf_export_cnt);
+ offset += scnprintf(buf + offset, size - offset, " [%u exported dma-buf]",
+ dmabuf_export_cnt);
}
if (unknown_reason)
- compose_device_in_use_info(&buf_ptr, &buf_size, " [unknown reason]");
+ scnprintf(buf + offset, size - offset, " [unknown reason]");
dev_notice(hdev->dev, "%s%s\n", message, buf);
}
--
2.39.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] habanalabs: use scnprintf() in print_device_in_use_info()
2023-03-02 9:15 ` [PATCH 2/2] habanalabs: use scnprintf() in print_device_in_use_info() Oded Gabbay
@ 2023-03-02 10:25 ` Stanislaw Gruszka
0 siblings, 0 replies; 4+ messages in thread
From: Stanislaw Gruszka @ 2023-03-02 10:25 UTC (permalink / raw)
To: Oded Gabbay; +Cc: Tomer Tayar, dri-devel
On Thu, Mar 02, 2023 at 11:15:17AM +0200, Oded Gabbay wrote:
> From: Tomer Tayar <ttayar@habana.ai>
>
> compose_device_in_use_info() was added to handle the snprintf() return
> value in a single place.
> However, the buffer size in print_device_in_use_info() is set such that
> it would be enough for the max possible print, so
> compose_device_in_use_info() is not really needed.
> Moreover, scnprintf() can be used instead of snprintf(), to save the
> check if the return value larger than the given size.
>
> Cc: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
> Signed-off-by: Tomer Tayar <ttayar@habana.ai>
> Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
> Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
Reviewed-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] habanalabs: unify err log of hw-fini failure in dirty state
2023-03-02 9:15 [PATCH 1/2] habanalabs: unify err log of hw-fini failure in dirty state Oded Gabbay
2023-03-02 9:15 ` [PATCH 2/2] habanalabs: use scnprintf() in print_device_in_use_info() Oded Gabbay
@ 2023-03-02 10:27 ` Stanislaw Gruszka
1 sibling, 0 replies; 4+ messages in thread
From: Stanislaw Gruszka @ 2023-03-02 10:27 UTC (permalink / raw)
To: Oded Gabbay; +Cc: Dafna Hirschfeld, dri-devel
On Thu, Mar 02, 2023 at 11:15:16AM +0200, Oded Gabbay wrote:
> From: Dafna Hirschfeld <dhirschfeld@habana.ai>
>
> print more informative message when failing in dirty state
>
> Signed-off-by: Dafna Hirschfeld <dhirschfeld@habana.ai>
> Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
> Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
Reviewed-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>> ---
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-03-02 10:28 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-02 9:15 [PATCH 1/2] habanalabs: unify err log of hw-fini failure in dirty state Oded Gabbay
2023-03-02 9:15 ` [PATCH 2/2] habanalabs: use scnprintf() in print_device_in_use_info() Oded Gabbay
2023-03-02 10:25 ` Stanislaw Gruszka
2023-03-02 10:27 ` [PATCH 1/2] habanalabs: unify err log of hw-fini failure in dirty state Stanislaw Gruszka
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.