]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
media: venus: Make debug infrastructure more flexible
authorStanimir Varbanov <stanimir.varbanov@linaro.org>
Tue, 7 Jul 2020 17:48:54 +0000 (19:48 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Tue, 1 Sep 2020 12:13:30 +0000 (14:13 +0200)
Here we introduce debug prefixes for dev_dbg groups by level of
importance - Venus{Low,Med,High,FW} Enabling the particular level
will be done by dynamic debug.

For example to enable debug messages with low level:
echo 'format "VenusLow" +p' > debugfs/dynamic_debug/control

If you want to enable all levels:
echo 'format "Venus" +p' > debugfs/dynamic_debug/control

All the features which dynamic debugging provide are preserved.

Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/platform/qcom/venus/core.h
drivers/media/platform/qcom/venus/helpers.c
drivers/media/platform/qcom/venus/hfi_msgs.c
drivers/media/platform/qcom/venus/hfi_venus.c
drivers/media/platform/qcom/venus/pm_helpers.c
drivers/media/platform/qcom/venus/vdec.c

index e5a57e16a553c3149ee377acd33dc8ec74c90b3d..8e75a199f9f7c84d5fad19ae81ed29a097e171b8 100644 (file)
 #include "dbgfs.h"
 #include "hfi.h"
 
+#define VDBGL  "VenusLow : "
+#define VDBGM  "VenusMed : "
+#define VDBGH  "VenusHigh: "
+#define VDBGFW "VenusFW  : "
+
 #define VIDC_CLKS_NUM_MAX              4
 #define VIDC_VCODEC_CLKS_NUM_MAX       2
 #define VIDC_PMDOMAINS_NUM_MAX         3
index 0143af7822b22cce39e57c55cf781178b13af550..7147871d9dc17c9a980d8201164526032c2aaa54 100644 (file)
@@ -396,7 +396,7 @@ put_ts_metadata(struct venus_inst *inst, struct vb2_v4l2_buffer *vbuf)
        }
 
        if (slot == -1) {
-               dev_dbg(inst->core->dev, "%s: no free slot\n", __func__);
+               dev_dbg(inst->core->dev, VDBGL "no free slot\n");
                return;
        }
 
index 279a9d6fe737f71ea1d3804fa297064fc0579801..06a1908ca225fe9accc6d826c72e33dc354f5fe4 100644 (file)
@@ -138,7 +138,7 @@ static void event_sys_error(struct venus_core *core, u32 event,
                            struct hfi_msg_event_notify_pkt *pkt)
 {
        if (pkt)
-               dev_dbg(core->dev,
+               dev_dbg(core->dev, VDBGH
                        "sys error (session id:%x, data1:%x, data2:%x)\n",
                        pkt->shdr.session_id, pkt->event_data1,
                        pkt->event_data2);
@@ -152,7 +152,7 @@ event_session_error(struct venus_core *core, struct venus_inst *inst,
 {
        struct device *dev = core->dev;
 
-       dev_dbg(dev, "session error: event id:%x, session id:%x\n",
+       dev_dbg(dev, VDBGH "session error: event id:%x, session id:%x\n",
                pkt->event_data1, pkt->shdr.session_id);
 
        if (!inst)
@@ -247,7 +247,7 @@ sys_get_prop_image_version(struct device *dev,
                /* bad packet */
                return;
 
-       dev_dbg(dev, "F/W version: %s\n", (u8 *)&pkt->data[1]);
+       dev_dbg(dev, VDBGL "F/W version: %s\n", (u8 *)&pkt->data[1]);
 }
 
 static void hfi_sys_property_info(struct venus_core *core,
@@ -257,7 +257,7 @@ static void hfi_sys_property_info(struct venus_core *core,
        struct device *dev = core->dev;
 
        if (!pkt->num_properties) {
-               dev_dbg(dev, "%s: no properties\n", __func__);
+               dev_dbg(dev, VDBGL "no properties\n");
                return;
        }
 
@@ -266,7 +266,7 @@ static void hfi_sys_property_info(struct venus_core *core,
                sys_get_prop_image_version(dev, pkt);
                break;
        default:
-               dev_dbg(dev, "%s: unknown property data\n", __func__);
+               dev_dbg(dev, VDBGL "unknown property data\n");
                break;
        }
 }
@@ -297,7 +297,7 @@ static void hfi_sys_ping_done(struct venus_core *core, struct venus_inst *inst,
 static void hfi_sys_idle_done(struct venus_core *core, struct venus_inst *inst,
                              void *packet)
 {
-       dev_dbg(core->dev, "sys idle\n");
+       dev_dbg(core->dev, VDBGL "sys idle\n");
 }
 
 static void hfi_sys_pc_prepare_done(struct venus_core *core,
@@ -305,7 +305,8 @@ static void hfi_sys_pc_prepare_done(struct venus_core *core,
 {
        struct hfi_msg_sys_pc_prep_done_pkt *pkt = packet;
 
-       dev_dbg(core->dev, "pc prepare done (error %x)\n", pkt->error_type);
+       dev_dbg(core->dev, VDBGL "pc prepare done (error %x)\n",
+               pkt->error_type);
 }
 
 static unsigned int
@@ -387,8 +388,7 @@ static void hfi_session_prop_info(struct venus_core *core,
        case HFI_PROPERTY_CONFIG_VDEC_ENTROPY:
                break;
        default:
-               dev_dbg(dev, "%s: unknown property id:%x\n", __func__,
-                       pkt->data[0]);
+               dev_dbg(dev, VDBGM "unknown property id:%x\n", pkt->data[0]);
                return;
        }
 
index fefa654b01a673da807de82638660652c807d892..4be4a75ddcb6e463f1dc600c8b9b763ec30c2712 100644 (file)
@@ -477,7 +477,7 @@ static u32 venus_hwversion(struct venus_hfi_device *hdev)
        minor = minor >> WRAPPER_HW_VERSION_MINOR_VERSION_SHIFT;
        step = ver & WRAPPER_HW_VERSION_STEP_VERSION_MASK;
 
-       dev_dbg(dev, "venus hw version %x.%x.%x\n", major, minor, step);
+       dev_dbg(dev, VDBGL "venus hw version %x.%x.%x\n", major, minor, step);
 
        return major;
 }
@@ -906,7 +906,7 @@ static void venus_flush_debug_queue(struct venus_hfi_device *hdev)
                if (pkt->hdr.pkt_type != HFI_MSG_SYS_COV) {
                        struct hfi_msg_sys_debug_pkt *pkt = packet;
 
-                       dev_dbg(dev, "%s", pkt->msg_data);
+                       dev_dbg(dev, VDBGFW "%s", pkt->msg_data);
                }
        }
 }
index 3127af8985cf81579979963a3e80d0695c6ddeb0..57877eacecf08758af00459e6abc3e687bcebcd2 100644 (file)
@@ -212,7 +212,7 @@ static int load_scale_bw(struct venus_core *core)
        }
        mutex_unlock(&core->lock);
 
-       dev_dbg(core->dev, "total: avg_bw: %u, peak_bw: %u\n",
+       dev_dbg(core->dev, VDBGL "total: avg_bw: %u, peak_bw: %u\n",
                total_avg, total_peak);
 
        return icc_set_bw(core->video_path, total_avg, total_peak);
index a70b5233c99f72d635c26cbdcb88d56192586760..ea13170a6a2cf8c322d4160bf701e26eb8c49704 100644 (file)
@@ -225,7 +225,7 @@ static int vdec_check_src_change(struct venus_inst *inst)
 
        if (!(inst->codec_state == VENUS_DEC_STATE_CAPTURE_SETUP) ||
            !inst->reconfig)
-               dev_dbg(inst->core->dev, "%s: wrong state\n", __func__);
+               dev_dbg(inst->core->dev, VDBGH "wrong state\n");
 
 done:
        return 0;
@@ -1316,7 +1316,7 @@ static void vdec_event_change(struct venus_inst *inst,
        if (inst->bit_depth != ev_data->bit_depth)
                inst->bit_depth = ev_data->bit_depth;
 
-       dev_dbg(dev, "event %s sufficient resources (%ux%u)\n",
+       dev_dbg(dev, VDBGM "event %s sufficient resources (%ux%u)\n",
                sufficient ? "" : "not", ev_data->width, ev_data->height);
 
        if (sufficient) {
@@ -1350,7 +1350,7 @@ static void vdec_event_change(struct venus_inst *inst,
 
                ret = hfi_session_flush(inst, HFI_FLUSH_OUTPUT, false);
                if (ret)
-                       dev_dbg(dev, "flush output error %d\n", ret);
+                       dev_dbg(dev, VDBGH "flush output error %d\n", ret);
        }
 
        inst->reconfig = true;