From: Karol Wachowski <karol.wachow...@intel.com>

Add debugfs that prints current firmware version string on read.

Signed-off-by: Karol Wachowski <karol.wachow...@intel.com>
Reviewed-by: Jacek Lawrynowicz <jacek.lawrynow...@linux.intel.com>
Signed-off-by: Jacek Lawrynowicz <jacek.lawrynow...@linux.intel.com>
---
 drivers/accel/ivpu/ivpu_debugfs.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/accel/ivpu/ivpu_debugfs.c 
b/drivers/accel/ivpu/ivpu_debugfs.c
index cd3ac08f0409a..65245f45cc701 100644
--- a/drivers/accel/ivpu/ivpu_debugfs.c
+++ b/drivers/accel/ivpu/ivpu_debugfs.c
@@ -4,6 +4,7 @@
  */
 
 #include <linux/debugfs.h>
+#include <linux/firmware.h>
 
 #include <drm/drm_debugfs.h>
 #include <drm/drm_file.h>
@@ -20,6 +21,8 @@
 #include "ivpu_jsm_msg.h"
 #include "ivpu_pm.h"
 
+#include "vpu_boot_api.h"
+
 static inline struct ivpu_device *seq_to_ivpu(struct seq_file *s)
 {
        struct drm_debugfs_entry *entry = s->private;
@@ -45,6 +48,14 @@ static int fw_name_show(struct seq_file *s, void *v)
        return 0;
 }
 
+static int fw_version_show(struct seq_file *s, void *v)
+{
+       struct ivpu_device *vdev = seq_to_ivpu(s);
+
+       seq_printf(s, "%s\n", (const char *)vdev->fw->file->data + 
VPU_FW_HEADER_SIZE);
+       return 0;
+}
+
 static int fw_trace_capability_show(struct seq_file *s, void *v)
 {
        struct ivpu_device *vdev = seq_to_ivpu(s);
@@ -111,6 +122,7 @@ static int reset_pending_show(struct seq_file *s, void *v)
 static const struct drm_debugfs_info vdev_debugfs_list[] = {
        {"bo_list", bo_list_show, 0},
        {"fw_name", fw_name_show, 0},
+       {"fw_version", fw_version_show, 0},
        {"fw_trace_capability", fw_trace_capability_show, 0},
        {"fw_trace_config", fw_trace_config_show, 0},
        {"last_bootmode", last_bootmode_show, 0},
-- 
2.45.1

Reply via email to