瀏覽代碼

video: driver: add video banner support

Video-banner contains compilation timestamp, which will
be helpful in stability debugging to find mismatch b/w
ramdump and symbols.

Change-Id: Ibc446fc4398a184b840867c568ed9e8940e490ae
Signed-off-by: Govindaraj Rajagopal <[email protected]>
Govindaraj Rajagopal 3 年之前
父節點
當前提交
0d72a68a7f
共有 3 個文件被更改,包括 21 次插入3 次删除
  1. 13 1
      Makefile
  2. 3 1
      driver/vidc/src/msm_vidc.c
  3. 5 1
      driver/vidc/src/msm_vidc_probe.c

+ 13 - 1
Makefile

@@ -2,7 +2,19 @@
 
 KBUILD_OPTIONS+= VIDEO_ROOT=$(KERNEL_SRC)/$(M)
 
-all:
+VIDEO_COMPILE_TIME = $(shell date)
+VIDEO_COMPILE_BY = $(shell whoami | sed 's/\\/\\\\/')
+VIDEO_COMPILE_HOST = $(shell uname -n)
+VIDEO_GEN_PATH = $(VIDEO_ROOT)/driver/vidc/inc/video_generated_h
+
+all: modules
+
+$(VIDEO_GEN_PATH): $(shell find . -type f \( -iname \*.c -o -iname \*.h -o -iname \*.mk \))
+	echo '#define VIDEO_COMPILE_TIME "$(VIDEO_COMPILE_TIME)"' > $(VIDEO_GEN_PATH)
+	echo '#define VIDEO_COMPILE_BY "$(VIDEO_COMPILE_BY)"' >> $(VIDEO_GEN_PATH)
+	echo '#define VIDEO_COMPILE_HOST "$(VIDEO_COMPILE_HOST)"' >> $(VIDEO_GEN_PATH)
+
+modules: $(VIDEO_GEN_PATH)
 	$(MAKE) -C $(KERNEL_SRC) M=$(M) modules $(KBUILD_OPTIONS)
 
 modules_install:

+ 3 - 1
driver/vidc/src/msm_vidc.c

@@ -22,6 +22,8 @@
 #include "venus_hfi_response.h"
 #include "msm_vidc.h"
 
+extern const char video_banner[];
+
 #define MSM_VIDC_DRV_NAME "msm_vidc_driver"
 #define MSM_VIDC_BUS_NAME "platform:msm_vidc_bus"
 
@@ -845,7 +847,7 @@ void *msm_vidc_open(void *vidc_core, u32 session_type)
 	struct msm_vidc_core *core;
 	int i = 0;
 
-	d_vpr_h("%s()\n", __func__);
+	d_vpr_h("%s: %s\n", __func__, video_banner);
 	core = vidc_core;
 	if (!core) {
 		d_vpr_e("%s: invalid params\n", __func__);

+ 5 - 1
driver/vidc/src/msm_vidc_probe.c

@@ -17,11 +17,15 @@
 #include "msm_vidc_platform.h"
 #include "msm_vidc_core.h"
 #include "venus_hfi.h"
+#include "video_generated_h"
 
 #define BASE_DEVICE_NUMBER 32
 
 struct msm_vidc_core *g_core;
 
+const char video_banner[] = "Video-Banner: (" VIDEO_COMPILE_BY "@"
+	VIDEO_COMPILE_HOST ") (" VIDEO_COMPILE_TIME ")";
+
 static int msm_vidc_deinit_irq(struct msm_vidc_core *core)
 {
 	struct msm_vidc_dt *dt;
@@ -695,7 +699,7 @@ static int __init msm_vidc_init(void)
 {
 	int rc = 0;
 
-	d_vpr_h("%s()\n", __func__);
+	d_vpr_h("%s: %s\n", __func__, video_banner);
 
 	rc = platform_driver_register(&msm_vidc_driver);
 	if (rc) {