فهرست منبع

video: driver: print more info on debug logs

Currently driver prints hex values for codec type, pixel
format and port number. So added change to print strings
instead of hex values.

Removed unnecessary logs to avoid overlogging timeout
issues.

Change-Id: Ia44401990797dc20eae0a35631e9ed6a0b094c20
Signed-off-by: Govindaraj Rajagopal <[email protected]>
Govindaraj Rajagopal 4 سال پیش
والد
کامیت
1f46168b9f

+ 3 - 3
driver/variant/iris2/src/msm_vidc_iris2.c

@@ -262,7 +262,7 @@ static int __power_off_iris2(struct msm_vidc_core *vidc_core)
 			 __read_register(core,
 				AON_WRAPPER_MVP_NOC_LPI_STATUS);
 		reg_status = lpi_status & BIT(0);
-		d_vpr_h("Noc: lpi_status %d noc_status %d (count %d)\n",
+		d_vpr_l("Noc: lpi_status %d noc_status %d (count %d)\n",
 			lpi_status, reg_status, count);
 		usleep_range(50, 100);
 		count++;
@@ -282,7 +282,7 @@ static int __power_off_iris2(struct msm_vidc_core *vidc_core)
 		lpi_status = __read_register(core,
 				 WRAPPER_DEBUG_BRIDGE_LPI_STATUS_IRIS2);
 		reg_status = lpi_status & 0x7;
-		d_vpr_h("DBLP Set : lpi_status %d reg_status %d (count %d)\n",
+		d_vpr_l("DBLP Set : lpi_status %d reg_status %d (count %d)\n",
 			lpi_status, reg_status, count);
 		usleep_range(50, 100);
 		count++;
@@ -300,7 +300,7 @@ static int __power_off_iris2(struct msm_vidc_core *vidc_core)
 	while (lpi_status && count < max_count) {
 		lpi_status = __read_register(core,
 				 WRAPPER_DEBUG_BRIDGE_LPI_STATUS_IRIS2);
-		d_vpr_h("DBLP Release: lpi_status %d(count %d)\n",
+		d_vpr_l("DBLP Release: lpi_status %d(count %d)\n",
 			lpi_status, count);
 		usleep_range(50, 100);
 		count++;

+ 3 - 0
driver/vidc/inc/msm_vidc_debug.h

@@ -81,6 +81,9 @@ enum vidc_msg_prio {
 #define i_vpr_t(inst, __fmt, ...) dprintk_inst(VIDC_PKT,  "pkt ", inst, __fmt, ##__VA_ARGS__)
 #define i_vpr_b(inst, __fmt, ...) dprintk_inst(VIDC_BUS,  "bus ", inst, __fmt, ##__VA_ARGS__)
 
+#define i_vpr_hp(inst, __fmt, ...) \
+	dprintk_inst(VIDC_HIGH | VIDC_PERF, "high", inst, __fmt, ##__VA_ARGS__)
+
 #define dprintk_core(__level, __level_str, __fmt, ...) \
 	do { \
 		if (msm_vidc_debug & __level) { \

+ 2 - 0
driver/vidc/inc/msm_vidc_driver.h

@@ -247,6 +247,8 @@ static inline bool is_secure_region(enum msm_vidc_buffer_region region)
 }
 
 const char *cap_name(enum msm_vidc_inst_capability_type cap);
+const char *v4l2_pixelfmt_name(u32 pixelfmt);
+const char *v4l2_type_name(u32 port);
 void print_vidc_buffer(u32 tag, const char *tag_str, const char *str, struct msm_vidc_inst *inst,
 		struct msm_vidc_buffer *vbuf);
 void print_vb2_buffer(const char *str, struct msm_vidc_inst *inst,

+ 3 - 4
driver/vidc/src/hfi_packet.c

@@ -646,11 +646,10 @@ int hfi_packet_sys_debug_config(struct msm_vidc_core *core,
 	if (rc)
 		goto err_debug;
 
-	d_vpr_h("Debug packet created\n");
-	return rc;
-
 err_debug:
-	d_vpr_e("%s: create packet failed\n", __func__);
+	if (rc)
+		d_vpr_e("%s: create packet failed\n", __func__);
+
 	return rc;
 }
 

+ 19 - 19
driver/vidc/src/msm_vdec.c

@@ -86,8 +86,9 @@ static int msm_vdec_codec_change(struct msm_vidc_inst *inst, u32 v4l2_codec)
 	if (inst->codec && inst->fmts[INPUT_PORT].fmt.pix_mp.pixelformat == v4l2_codec)
 		return 0;
 
-	i_vpr_h(inst, "%s: codec changed from %#x to %#x\n",
-		__func__, inst->fmts[INPUT_PORT].fmt.pix_mp.pixelformat, v4l2_codec);
+	i_vpr_h(inst, "%s: codec changed from %s to %s\n",
+		__func__, v4l2_pixelfmt_name(inst->fmts[INPUT_PORT].fmt.pix_mp.pixelformat),
+		v4l2_pixelfmt_name(v4l2_codec));
 
 	inst->codec = v4l2_codec_to_driver(v4l2_codec, __func__);
 	rc = msm_vidc_update_debug_str(inst);
@@ -2089,10 +2090,6 @@ int msm_vdec_s_fmt(struct msm_vidc_inst *inst, struct v4l2_format *f)
 	if (f->type == INPUT_MPLANE) {
 		if (inst->fmts[INPUT_PORT].fmt.pix_mp.pixelformat !=
 			f->fmt.pix_mp.pixelformat) {
-			i_vpr_h(inst,
-				"%s: codec changed from %#x to %#x\n", __func__,
-				inst->fmts[INPUT_PORT].fmt.pix_mp.pixelformat,
-				f->fmt.pix_mp.pixelformat);
 			rc = msm_vdec_codec_change(inst, f->fmt.pix_mp.pixelformat);
 			if (rc)
 				goto err_invalid_fmt;
@@ -2128,9 +2125,9 @@ int msm_vdec_s_fmt(struct msm_vidc_inst *inst, struct v4l2_format *f)
 		inst->crop.width = f->fmt.pix_mp.width;
 		inst->crop.height = f->fmt.pix_mp.height;
 		i_vpr_h(inst,
-			"%s: input: codec %#x width %d height %d size %d min_count %d extra_count %d\n",
-			__func__, f->fmt.pix_mp.pixelformat, f->fmt.pix_mp.width,
-			f->fmt.pix_mp.height,
+			"%s: type: INPUT, codec %s width %d height %d size %u min_count %d extra_count %d\n",
+			__func__, v4l2_pixelfmt_name(f->fmt.pix_mp.pixelformat),
+			f->fmt.pix_mp.width, f->fmt.pix_mp.height,
 			fmt->fmt.pix_mp.plane_fmt[0].sizeimage,
 			inst->buffers.input.min_count,
 			inst->buffers.input.extra_count);
@@ -2156,7 +2153,7 @@ int msm_vdec_s_fmt(struct msm_vidc_inst *inst, struct v4l2_format *f)
 			inst->buffers.input_meta.size = 0;
 		}
 		i_vpr_h(inst,
-			"%s: input meta: size %d min_count %d extra_count %d\n",
+			"%s: type: INPUT_META, size %u min_count %d extra_count %d\n",
 			__func__, fmt->fmt.meta.buffersize,
 			inst->buffers.input_meta.min_count,
 			inst->buffers.input_meta.extra_count);
@@ -2198,9 +2195,9 @@ int msm_vdec_s_fmt(struct msm_vidc_inst *inst, struct v4l2_format *f)
 		pix_fmt = v4l2_colorformat_to_driver(f->fmt.pix_mp.pixelformat, __func__);
 		msm_vidc_update_cap_value(inst, PIX_FMTS, pix_fmt, __func__);
 		i_vpr_h(inst,
-			"%s: output: format %#x width %d height %d size %d min_count %d extra_count %d\n",
-			__func__, fmt->fmt.pix_mp.pixelformat, fmt->fmt.pix_mp.width,
-			fmt->fmt.pix_mp.height,
+			"%s: type: OUTPUT, format %s width %d height %d size %u min_count %d extra_count %d\n",
+			__func__, v4l2_pixelfmt_name(fmt->fmt.pix_mp.pixelformat),
+			fmt->fmt.pix_mp.width, fmt->fmt.pix_mp.height,
 			fmt->fmt.pix_mp.plane_fmt[0].sizeimage,
 			inst->buffers.output.min_count,
 			inst->buffers.output.extra_count);
@@ -2226,7 +2223,7 @@ int msm_vdec_s_fmt(struct msm_vidc_inst *inst, struct v4l2_format *f)
 			inst->buffers.output_meta.size = 0;
 		}
 		i_vpr_h(inst,
-			"%s: output meta: size %d min_count %d extra_count %d\n",
+			"%s: type: OUTPUT_META, size %u min_count %d extra_count %d\n",
 			__func__, fmt->fmt.meta.buffersize,
 			inst->buffers.output_meta.min_count,
 			inst->buffers.output_meta.extra_count);
@@ -2291,8 +2288,8 @@ int msm_vdec_g_selection(struct msm_vidc_inst* inst, struct v4l2_selection* s)
 		s->r.height = inst->crop.height;
 		break;
 	}
-	i_vpr_h(inst, "%s: type %d target %d, r [%d, %d, %d, %d]\n",
-		__func__, s->type, s->target, s->r.top, s->r.left,
+	i_vpr_h(inst, "%s: target %d, r [%d, %d, %d, %d]\n",
+		__func__, s->target, s->r.top, s->r.left,
 		s->r.width, s->r.height);
 	return 0;
 }
@@ -2505,9 +2502,8 @@ int msm_vdec_enum_fmt(struct msm_vidc_inst *inst, struct v4l2_fmtdesc *f)
 	}
 	memset(f->reserved, 0, sizeof(f->reserved));
 
-	i_vpr_h(inst, "%s: index %d, %s : %#x, flags %#x, driver colorfmt %#x\n",
-		__func__, f->index, f->description, f->pixelformat, f->flags,
-		v4l2_colorformat_to_driver(f->pixelformat, __func__));
+	i_vpr_h(inst, "%s: index %d, %s: %s, flags %#x\n",
+		__func__, f->index, f->description, v4l2_pixelfmt_name(f->pixelformat), f->flags);
 	return rc;
 }
 
@@ -2601,6 +2597,8 @@ int msm_vdec_inst_init(struct msm_vidc_inst *inst)
 
 	rc = msm_vdec_codec_change(inst,
 			inst->fmts[INPUT_PORT].fmt.pix_mp.pixelformat);
+	if (rc)
+		return rc;
 
 	return rc;
 }
@@ -2616,6 +2614,8 @@ int msm_vdec_inst_deinit(struct msm_vidc_inst *inst)
 	/* cancel pending batch work */
 	cancel_batch_work(inst);
 	rc = msm_vidc_ctrl_deinit(inst);
+	if (rc)
+		return rc;
 
 	return rc;
 }

+ 53 - 55
driver/vidc/src/msm_venc.c

@@ -67,8 +67,9 @@ static int msm_venc_codec_change(struct msm_vidc_inst *inst, u32 v4l2_codec)
 	if (inst->codec && inst->fmts[OUTPUT_PORT].fmt.pix_mp.pixelformat == v4l2_codec)
 		return 0;
 
-	i_vpr_h(inst, "%s: codec changed from %#x to %#x\n",
-		__func__, inst->fmts[OUTPUT_PORT].fmt.pix_mp.pixelformat, v4l2_codec);
+	i_vpr_h(inst, "%s: codec changed from %s to %s\n",
+		__func__, v4l2_pixelfmt_name(inst->fmts[OUTPUT_PORT].fmt.pix_mp.pixelformat),
+		v4l2_pixelfmt_name(v4l2_codec));
 
 	inst->codec = v4l2_codec_to_driver(v4l2_codec, __func__);
 	rc = msm_vidc_update_debug_str(inst);
@@ -108,8 +109,8 @@ static int msm_venc_set_colorformat(struct msm_vidc_inst *inst,
 	pixelformat = inst->fmts[INPUT_PORT].fmt.pix_mp.pixelformat;
 	colorformat = v4l2_colorformat_to_driver(pixelformat, __func__);
 	if (!(colorformat & inst->capabilities->cap[PIX_FMTS].step_or_mask)) {
-		i_vpr_e(inst, "%s: invalid pixelformat %#x\n",
-			__func__, pixelformat);
+		i_vpr_e(inst, "%s: invalid pixelformat %s\n",
+			__func__, v4l2_pixelfmt_name(pixelformat));
 		return -EINVAL;
 	}
 
@@ -1036,9 +1037,6 @@ int msm_venc_s_fmt_output(struct msm_vidc_inst *inst, struct v4l2_format *f)
 
 	fmt = &inst->fmts[OUTPUT_PORT];
 	if (fmt->fmt.pix_mp.pixelformat != f->fmt.pix_mp.pixelformat) {
-		i_vpr_h(inst,
-			"%s: codec changed from %#x to %#x\n", __func__,
-			fmt->fmt.pix_mp.pixelformat, f->fmt.pix_mp.pixelformat);
 		rc = msm_venc_codec_change(inst, f->fmt.pix_mp.pixelformat);
 		if (rc)
 			return rc;
@@ -1091,6 +1089,14 @@ int msm_venc_s_fmt_output(struct msm_vidc_inst *inst, struct v4l2_format *f)
 	/* reset metadata buffer size with updated resolution*/
 	msm_vidc_update_meta_port_settings(inst);
 
+	i_vpr_h(inst,
+		"%s: type: OUTPUT, codec %s width %d height %d size %u min_count %d extra_count %d\n",
+		__func__, v4l2_pixelfmt_name(fmt->fmt.pix_mp.pixelformat),
+		fmt->fmt.pix_mp.width, fmt->fmt.pix_mp.height,
+		fmt->fmt.pix_mp.plane_fmt[0].sizeimage,
+		inst->buffers.output.min_count,
+		inst->buffers.output.extra_count);
+
 	return rc;
 }
 
@@ -1128,6 +1134,12 @@ static int msm_venc_s_fmt_output_meta(struct msm_vidc_inst *inst, struct v4l2_fo
 	}
 
 	memcpy(f, fmt, sizeof(struct v4l2_format));
+
+	i_vpr_h(inst, "%s: type: OUTPUT_META, size %u min_count %d extra_count %d\n",
+		__func__, fmt->fmt.meta.buffersize,
+		inst->buffers.output_meta.min_count,
+		inst->buffers.output_meta.extra_count);
+
 	return rc;
 }
 
@@ -1215,19 +1227,20 @@ static int msm_venc_s_fmt_input(struct msm_vidc_inst *inst, struct v4l2_format *
 		rc = msm_venc_s_fmt_output(inst, output_fmt);
 		if (rc)
 			return rc;
-
-		i_vpr_h(inst,
-			"%s: type %d: format %#x width %d height %d size %d\n",
-			__func__, output_fmt->type, output_fmt->fmt.pix_mp.pixelformat,
-			output_fmt->fmt.pix_mp.width,
-			output_fmt->fmt.pix_mp.height,
-			output_fmt->fmt.pix_mp.plane_fmt[0].sizeimage);
 	}
 	memcpy(f, fmt, sizeof(struct v4l2_format));
 
 	/* reset metadata buffer size with updated resolution*/
 	msm_vidc_update_meta_port_settings(inst);
 
+	i_vpr_h(inst,
+		"%s: type: INPUT, format %s width %d height %d size %u min_count %d extra_count %d\n",
+		__func__, v4l2_pixelfmt_name(fmt->fmt.pix_mp.pixelformat),
+		fmt->fmt.pix_mp.width, fmt->fmt.pix_mp.height,
+		fmt->fmt.pix_mp.plane_fmt[0].sizeimage,
+		inst->buffers.input.min_count,
+		inst->buffers.input.extra_count);
+
 	return rc;
 }
 
@@ -1265,14 +1278,18 @@ static int msm_venc_s_fmt_input_meta(struct msm_vidc_inst *inst, struct v4l2_for
 	}
 
 	memcpy(f, fmt, sizeof(struct v4l2_format));
+
+	i_vpr_h(inst, "%s: type: INPUT_META, size %u min_count %d extra_count %d\n",
+		__func__, fmt->fmt.meta.buffersize,
+		inst->buffers.input_meta.min_count,
+		inst->buffers.input_meta.extra_count);
+
 	return rc;
 }
 
-// TODO: use PIX_FMTS caps to check supported color format
 int msm_venc_s_fmt(struct msm_vidc_inst *inst, struct v4l2_format *f)
 {
 	int rc = 0;
-	struct v4l2_format *fmt = NULL;
 
 	if (!inst) {
 		d_vpr_e("%s: invalid params\n", __func__);
@@ -1280,41 +1297,30 @@ int msm_venc_s_fmt(struct msm_vidc_inst *inst, struct v4l2_format *f)
 	}
 
 	if (f->type == INPUT_MPLANE) {
-		fmt = &inst->fmts[INPUT_PORT];
 		rc = msm_venc_s_fmt_input(inst, f);
 		if (rc)
-			return rc;
+			goto exit;
 	} else if (f->type == INPUT_META_PLANE) {
-		fmt = &inst->fmts[INPUT_META_PORT];
 		rc = msm_venc_s_fmt_input_meta(inst, f);
 		if (rc)
-			return rc;
+			goto exit;
 	} else if (f->type == OUTPUT_MPLANE) {
-		fmt = &inst->fmts[OUTPUT_PORT];
 		rc = msm_venc_s_fmt_output(inst, f);
 		if (rc)
-			return rc;
+			goto exit;
 	} else if (f->type == OUTPUT_META_PLANE) {
-		fmt = &inst->fmts[OUTPUT_META_PORT];
 		rc = msm_venc_s_fmt_output_meta(inst, f);
 		if (rc)
-			return rc;
+			goto exit;
 	} else {
 		i_vpr_e(inst, "%s: invalid type %d\n", __func__, f->type);
-		return rc;
+		rc = -EINVAL;
+		goto exit;
 	}
 
-	if (f->type == INPUT_MPLANE || f->type == OUTPUT_MPLANE) {
-		i_vpr_h(inst,
-			"%s: type %d: format %#x width %d height %d size %d\n",
-			__func__, f->type, fmt->fmt.pix_mp.pixelformat,
-			fmt->fmt.pix_mp.width,
-			fmt->fmt.pix_mp.height,
-			fmt->fmt.pix_mp.plane_fmt[0].sizeimage);
-	} else {
-		i_vpr_h(inst, "%s: type %d: size %d\n",
-			__func__, f->type, fmt->fmt.meta.buffersize);
-	}
+exit:
+	if (rc)
+		i_vpr_e(inst, "%s: failed\n", __func__);
 
 	return rc;
 }
@@ -1388,12 +1394,6 @@ int msm_venc_s_selection(struct msm_vidc_inst* inst, struct v4l2_selection* s)
 		rc = msm_venc_s_fmt_output(inst, output_fmt);
 		if (rc)
 			return rc;
-		i_vpr_h(inst,
-			"%s: type %d: format %#x width %d height %d size %d\n",
-			__func__, output_fmt->type, output_fmt->fmt.pix_mp.pixelformat,
-			output_fmt->fmt.pix_mp.width,
-			output_fmt->fmt.pix_mp.height,
-			output_fmt->fmt.pix_mp.plane_fmt[0].sizeimage);
 		break;
 	case V4L2_SEL_TGT_COMPOSE_BOUNDS:
 	case V4L2_SEL_TGT_COMPOSE_PADDED:
@@ -1442,12 +1442,6 @@ int msm_venc_s_selection(struct msm_vidc_inst* inst, struct v4l2_selection* s)
 		rc = msm_venc_s_fmt_output(inst, output_fmt);
 		if (rc)
 			return rc;
-		i_vpr_h(inst,
-			"%s: type %d: format %#x width %d height %d size %d\n",
-			__func__, output_fmt->type, output_fmt->fmt.pix_mp.pixelformat,
-			output_fmt->fmt.pix_mp.width,
-			output_fmt->fmt.pix_mp.height,
-			output_fmt->fmt.pix_mp.plane_fmt[0].sizeimage);
 		break;
 	default:
 		i_vpr_e(inst, "%s: invalid target %d\n",
@@ -1565,8 +1559,8 @@ int msm_venc_s_param(struct msm_vidc_inst *inst,
 
 set_default:
 	q16_rate = (u32)input_rate << 16;
-	i_vpr_h(inst, "%s: type %u value %#x\n",
-		__func__, s_parm->type, q16_rate);
+	i_vpr_h(inst, "%s: type %s, value %#x\n",
+		__func__, v4l2_type_name(s_parm->type), q16_rate);
 
 	msm_vidc_update_cap_value(inst,
 		is_frame_rate ? FRAME_RATE : OPERATING_RATE,
@@ -1644,8 +1638,8 @@ int msm_venc_g_param(struct msm_vidc_inst *inst,
 			capability->cap[FRAME_RATE].value >> 16;
 	}
 
-	i_vpr_h(inst, "%s: type %u, num %u denom %u\n",
-		__func__, s_parm->type, timeperframe->numerator,
+	i_vpr_h(inst, "%s: type %s, num %u denom %u\n",
+		__func__, v4l2_type_name(s_parm->type), timeperframe->numerator,
 		timeperframe->denominator);
 	return 0;
 }
@@ -1713,9 +1707,9 @@ int msm_venc_enum_fmt(struct msm_vidc_inst *inst, struct v4l2_fmtdesc *f)
 	}
 	memset(f->reserved, 0, sizeof(f->reserved));
 
-	i_vpr_h(inst, "%s: index %d, %s : %#x, flags %#x, driver colorfmt %#x\n",
-		__func__, f->index, f->description, f->pixelformat, f->flags,
-		v4l2_colorformat_to_driver(f->pixelformat, __func__));
+	i_vpr_h(inst, "%s: index %d, %s: %s, flags %#x\n",
+		__func__, f->index, f->description,
+		v4l2_pixelfmt_name(f->pixelformat), f->flags);
 	return rc;
 }
 
@@ -1815,6 +1809,8 @@ int msm_venc_inst_init(struct msm_vidc_inst *inst)
 
 	rc = msm_venc_codec_change(inst,
 			inst->fmts[OUTPUT_PORT].fmt.pix_mp.pixelformat);
+	if (rc)
+		return rc;
 
 	return rc;
 }
@@ -1828,6 +1824,8 @@ int msm_venc_inst_deinit(struct msm_vidc_inst *inst)
 		return -EINVAL;
 	}
 	rc = msm_vidc_ctrl_deinit(inst);
+	if (rc)
+		return rc;
 
 	return rc;
 }

+ 10 - 8
driver/vidc/src/msm_vidc.c

@@ -248,21 +248,23 @@ int msm_vidc_g_fmt(void *instance, struct v4l2_format *f)
 		return -EINVAL;
 	}
 
-	if (inst->domain == MSM_VIDC_DECODER)
+	if (is_decode_session(inst))
 		rc = msm_vdec_g_fmt(inst, f);
-	if (inst->domain == MSM_VIDC_ENCODER)
+	if (is_encode_session(inst))
 		rc = msm_venc_g_fmt(inst, f);
 	if (rc)
 		return rc;
 
 	if (f->type == INPUT_MPLANE || f->type == OUTPUT_MPLANE)
-		i_vpr_h(inst,
-			"%s: type %d format %#x width %d height %d size %d\n",
-			__func__, f->type, f->fmt.pix_mp.pixelformat, f->fmt.pix_mp.width,
-			f->fmt.pix_mp.height, f->fmt.pix_mp.plane_fmt[0].sizeimage);
+		i_vpr_h(inst, "%s: type %s format %s width %d height %d size %d\n",
+			__func__, v4l2_type_name(f->type),
+			v4l2_pixelfmt_name(f->fmt.pix_mp.pixelformat),
+			f->fmt.pix_mp.width, f->fmt.pix_mp.height,
+			f->fmt.pix_mp.plane_fmt[0].sizeimage);
 	else if (f->type == INPUT_META_PLANE || f->type == OUTPUT_META_PLANE)
-		i_vpr_h(inst, "%s: meta type %d size %d\n",
-			__func__, f->type, f->fmt.meta.buffersize);
+		i_vpr_h(inst, "%s: type %s size %d\n",
+			__func__, v4l2_type_name(f->type), f->fmt.meta.buffersize);
+
 	return 0;
 }
 EXPORT_SYMBOL(msm_vidc_g_fmt);

+ 1 - 8
driver/vidc/src/msm_vidc_control.c

@@ -542,7 +542,7 @@ int msm_vidc_ctrl_init(struct msm_vidc_inst *inst)
 			rc = -EINVAL;
 			goto error;
 		}
-		i_vpr_h(inst,
+		i_vpr_l(inst,
 			"%s: cap[%d] %24s, value %d min %d max %d step_or_mask %#x flags %#x v4l2_id %#x hfi_id %#x\n",
 			__func__, idx, cap_name(idx),
 			capability->cap[idx].value,
@@ -728,13 +728,6 @@ int msm_v4l2_op_s_ctrl(struct v4l2_ctrl *ctrl)
 				rc = msm_venc_s_fmt_output(inst, output_fmt);
 				if (rc)
 					return rc;
-
-				i_vpr_h(inst,
-					"%s: type %d: format %#x width %d height %d size %d\n",
-					__func__, output_fmt->type, output_fmt->fmt.pix_mp.pixelformat,
-					output_fmt->fmt.pix_mp.width,
-					output_fmt->fmt.pix_mp.height,
-					output_fmt->fmt.pix_mp.plane_fmt[0].sizeimage);
 			}
 		}
 

+ 37 - 2
driver/vidc/src/msm_vidc_driver.c

@@ -302,6 +302,41 @@ exit:
 	return name;
 }
 
+const char *v4l2_type_name(u32 port)
+{
+	switch (port) {
+	case INPUT_MPLANE:      return "INPUT";
+	case OUTPUT_MPLANE:     return "OUTPUT";
+	case INPUT_META_PLANE:  return "INPUT_META";
+	case OUTPUT_META_PLANE: return "OUTPUT_META";
+	}
+
+	return "UNKNOWN";
+}
+
+const char *v4l2_pixelfmt_name(u32 pixfmt)
+{
+	switch (pixfmt) {
+	/* raw port: color format */
+	case V4L2_PIX_FMT_NV12:         return "NV12";
+	case V4L2_PIX_FMT_NV21:         return "NV21";
+	case V4L2_PIX_FMT_VIDC_NV12C:   return "NV12C";
+	case V4L2_PIX_FMT_VIDC_P010:    return "P010";
+	case V4L2_PIX_FMT_VIDC_TP10C:   return "TP10C";
+	case V4L2_PIX_FMT_RGBA32:       return "RGBA";
+	case V4L2_PIX_FMT_VIDC_ARGB32C: return "RGBAC";
+	/* bitstream port: codec type */
+	case V4L2_PIX_FMT_H264:         return "AVC";
+	case V4L2_PIX_FMT_HEVC:         return "HEVC";
+	case V4L2_PIX_FMT_HEIC:         return "HEIC";
+	case V4L2_PIX_FMT_VP9:          return "VP9";
+	/* meta port */
+	case V4L2_META_FMT_VIDC:        return "META";
+	}
+
+	return "UNKNOWN";
+}
+
 void print_vidc_buffer(u32 tag, const char *tag_str, const char *str, struct msm_vidc_inst *inst,
 		struct msm_vidc_buffer *vbuf)
 {
@@ -2719,7 +2754,7 @@ void msm_vidc_allow_dcvs(struct msm_vidc_inst *inst)
 	}
 
 exit:
-	i_vpr_h(inst, "%s: dcvs: %s\n", __func__, allow ? "enabled" : "disabled");
+	i_vpr_hp(inst, "%s: dcvs: %s\n", __func__, allow ? "enabled" : "disabled");
 
 	inst->power.dcvs_flags = 0;
 	inst->power.dcvs_mode = allow;
@@ -2804,7 +2839,7 @@ bool msm_vidc_allow_decode_batch(struct msm_vidc_inst *inst)
 	}
 
 exit:
-	i_vpr_h(inst, "%s: batching: %s\n", __func__, allow ? "enabled" : "disabled");
+	i_vpr_hp(inst, "%s: batching: %s\n", __func__, allow ? "enabled" : "disabled");
 
 	return allow;
 }

+ 2 - 2
driver/vidc/src/msm_vidc_power.c

@@ -515,7 +515,7 @@ int msm_vidc_scale_power(struct msm_vidc_inst *inst, bool scale_buses)
 			i_vpr_e(inst, "failed to scale bus\n");
 	}
 
-	i_vpr_h(inst,
+	i_vpr_hp(inst,
 		"power: inst: clk %lld ddr %d llcc %d dcvs flags %#x, core: clk %lld ddr %lld llcc %lld\n",
 		inst->power.curr_freq, inst->power.ddr_bw,
 		inst->power.sys_cache_bw, inst->power.dcvs_flags,
@@ -569,7 +569,7 @@ void msm_vidc_power_data_reset(struct msm_vidc_inst *inst)
 		d_vpr_e("%s: invalid params\n", __func__);
 		return;
 	}
-	i_vpr_h(inst, "%s\n", __func__);
+	i_vpr_hp(inst, "%s\n", __func__);
 
 	msm_vidc_dcvs_data_reset(inst);
 

+ 52 - 36
driver/vidc/src/msm_vidc_v4l2.c

@@ -74,9 +74,10 @@ int msm_v4l2_querycap(struct file *filp, void *fh,
 	inst_lock(inst, __func__);
 	rc = msm_vidc_querycap((void *)inst, cap);
 	if (rc)
-		i_vpr_e(inst, "%s: failed with %d\n", __func__, rc);
-	inst_unlock(inst, __func__);
+		goto unlock;
 
+unlock:
+	inst_unlock(inst, __func__);
 	put_inst(inst);
 
 	return rc;
@@ -97,9 +98,10 @@ int msm_v4l2_enum_fmt(struct file *filp, void *fh,
 	inst_lock(inst, __func__);
 	rc = msm_vidc_enum_fmt((void *)inst, f);
 	if (rc)
-		i_vpr_e(inst, "%s: failed with %d\n", __func__, rc);
-	inst_unlock(inst, __func__);
+		goto unlock;
 
+unlock:
+	inst_unlock(inst, __func__);
 	put_inst(inst);
 
 	return rc;
@@ -125,7 +127,7 @@ int msm_v4l2_s_fmt(struct file *filp, void *fh,
 	}
 	rc = msm_vidc_s_fmt((void *)inst, f);
 	if (rc)
-		i_vpr_e(inst, "%s: failed with %d\n", __func__, rc);
+		goto unlock;
 
 unlock:
 	inst_unlock(inst, __func__);
@@ -149,9 +151,10 @@ int msm_v4l2_g_fmt(struct file *filp, void *fh,
 	inst_lock(inst, __func__);
 	rc = msm_vidc_g_fmt((void *)inst, f);
 	if (rc)
-		i_vpr_e(inst, "%s: failed with %d\n", __func__, rc);
-	inst_unlock(inst, __func__);
+		goto unlock;
 
+unlock:
+	inst_unlock(inst, __func__);
 	put_inst(inst);
 
 	return rc;
@@ -177,7 +180,7 @@ int msm_v4l2_s_selection(struct file *filp, void *fh,
 	}
 	rc = msm_vidc_s_selection((void *)inst, s);
 	if (rc)
-		i_vpr_e(inst, "%s: failed with %d\n", __func__, rc);
+		goto unlock;
 
 unlock:
 	inst_unlock(inst, __func__);
@@ -201,9 +204,10 @@ int msm_v4l2_g_selection(struct file *filp, void *fh,
 	inst_lock(inst, __func__);
 	rc = msm_vidc_g_selection((void *)inst, s);
 	if (rc)
-		i_vpr_e(inst, "%s: failed with %d\n", __func__, rc);
-	inst_unlock(inst, __func__);
+		goto unlock;
 
+unlock:
+	inst_unlock(inst, __func__);
 	put_inst(inst);
 
 	return rc;
@@ -229,7 +233,7 @@ int msm_v4l2_s_parm(struct file *filp, void *fh,
 	}
 	rc = msm_vidc_s_param((void *)inst, a);
 	if (rc)
-		i_vpr_e(inst, "%s: failed with %d\n", __func__, rc);
+		goto unlock;
 
 unlock:
 	inst_unlock(inst, __func__);
@@ -253,9 +257,10 @@ int msm_v4l2_g_parm(struct file *filp, void *fh,
 	inst_lock(inst, __func__);
 	rc = msm_vidc_g_param((void *)inst, a);
 	if (rc)
-		i_vpr_e(inst, "%s: failed with %d\n", __func__, rc);
-	inst_unlock(inst, __func__);
+		goto unlock;
 
+unlock:
+	inst_unlock(inst, __func__);
 	put_inst(inst);
 
 	return rc;
@@ -281,7 +286,7 @@ int msm_v4l2_s_ctrl(struct file *filp, void *fh,
 	}
 	rc = msm_vidc_s_ctrl((void *)inst, a);
 	if (rc)
-		i_vpr_e(inst, "%s: failed with %d\n", __func__, rc);
+		goto unlock;
 
 unlock:
 	inst_unlock(inst, __func__);
@@ -305,9 +310,10 @@ int msm_v4l2_g_ctrl(struct file *filp, void *fh,
 	inst_lock(inst, __func__);
 	rc = msm_vidc_g_ctrl((void *)inst, a);
 	if (rc)
-		i_vpr_e(inst, "%s: failed with %d\n", __func__, rc);
-	inst_unlock(inst, __func__);
+		goto unlock;
 
+unlock:
+	inst_unlock(inst, __func__);
 	put_inst(inst);
 
 	return rc;
@@ -328,9 +334,10 @@ int msm_v4l2_reqbufs(struct file *filp, void *fh,
 	inst_lock(inst, __func__);
 	rc = msm_vidc_reqbufs((void *)inst, b);
 	if (rc)
-		i_vpr_e(inst, "%s: failed with %d\n", __func__, rc);
-	inst_unlock(inst, __func__);
+		goto unlock;
 
+unlock:
+	inst_unlock(inst, __func__);
 	put_inst(inst);
 
 	return rc;
@@ -357,7 +364,7 @@ int msm_v4l2_qbuf(struct file *filp, void *fh,
 	}
 	rc = msm_vidc_qbuf(inst, vdev->v4l2_dev->mdev, b);
 	if (rc)
-		i_vpr_e(inst, "%s: failed with %d\n", __func__, rc);
+		goto unlock;
 
 unlock:
 	inst_unlock(inst, __func__);
@@ -380,8 +387,11 @@ int msm_v4l2_dqbuf(struct file *filp, void *fh,
 
 	inst_lock(inst, __func__);
 	rc = msm_vidc_dqbuf(inst, b);
-	inst_unlock(inst, __func__);
+	if (rc)
+		goto unlock;
 
+unlock:
+	inst_unlock(inst, __func__);
 	put_inst(inst);
 
 	return rc;
@@ -407,7 +417,7 @@ int msm_v4l2_streamon(struct file *filp, void *fh,
 	}
 	rc = msm_vidc_streamon((void *)inst, i);
 	if (rc)
-		i_vpr_e(inst, "%s: failed with %d\n", __func__, rc);
+		goto unlock;
 
 unlock:
 	inst_unlock(inst, __func__);
@@ -431,9 +441,10 @@ int msm_v4l2_streamoff(struct file *filp, void *fh,
 	inst_lock(inst, __func__);
 	rc = msm_vidc_streamoff((void *)inst, i);
 	if (rc)
-		i_vpr_e(inst, "%s: failed with %d\n", __func__, rc);
-	inst_unlock(inst, __func__);
+		goto unlock;
 
+unlock:
+	inst_unlock(inst, __func__);
 	put_inst(inst);
 
 	return rc;
@@ -460,7 +471,7 @@ int msm_v4l2_subscribe_event(struct v4l2_fh *fh,
 	}
 	rc = msm_vidc_subscribe_event((void *)inst, sub);
 	if (rc)
-		i_vpr_e(inst, "%s: failed with %d\n", __func__, rc);
+		goto unlock;
 
 unlock:
 	inst_unlock(inst, __func__);
@@ -485,9 +496,10 @@ int msm_v4l2_unsubscribe_event(struct v4l2_fh *fh,
 	inst_lock(inst, __func__);
 	rc = msm_vidc_unsubscribe_event((void *)inst, sub);
 	if (rc)
-		i_vpr_e(inst, "%s: failed with %d\n", __func__, rc);
-	inst_unlock(inst, __func__);
+		goto unlock;
 
+unlock:
+	inst_unlock(inst, __func__);
 	put_inst(inst);
 
 	return rc;
@@ -513,7 +525,7 @@ int msm_v4l2_decoder_cmd(struct file *filp, void *fh,
 	}
 	rc = msm_vidc_cmd((void *)inst, (union msm_v4l2_cmd *)dec);
 	if (rc)
-		i_vpr_e(inst, "%s: failed with %d\n", __func__, rc);
+		goto unlock;
 
 unlock:
 	inst_unlock(inst, __func__);
@@ -542,7 +554,7 @@ int msm_v4l2_encoder_cmd(struct file *filp, void *fh,
 	}
 	rc = msm_vidc_cmd((void *)inst, (union msm_v4l2_cmd *)enc);
 	if (rc)
-		i_vpr_e(inst, "%s: failed with %d\n", __func__, rc);
+		goto unlock;
 
 unlock:
 	inst_unlock(inst, __func__);
@@ -566,9 +578,10 @@ int msm_v4l2_enum_framesizes(struct file *filp, void *fh,
 	inst_lock(inst, __func__);
 	rc = msm_vidc_enum_framesizes((void *)inst, fsize);
 	if (rc)
-		i_vpr_e(inst, "%s: failed with %d\n", __func__, rc);
-	inst_unlock(inst, __func__);
+		goto unlock;
 
+unlock:
+	inst_unlock(inst, __func__);
 	put_inst(inst);
 
 	return rc;
@@ -589,9 +602,10 @@ int msm_v4l2_enum_frameintervals(struct file *filp, void *fh,
 	inst_lock(inst, __func__);
 	rc = msm_vidc_enum_frameintervals((void *)inst, fival);
 	if (rc)
-		i_vpr_e(inst, "%s: failed with %d\n", __func__, rc);
-	inst_unlock(inst, __func__);
+		goto unlock;
 
+unlock:
+	inst_unlock(inst, __func__);
 	put_inst(inst);
 
 	return rc;
@@ -612,9 +626,10 @@ int msm_v4l2_queryctrl(struct file *filp, void *fh,
 	inst_lock(inst, __func__);
 	rc = msm_vidc_query_ctrl((void *)inst, ctrl);
 	if (rc)
-		i_vpr_e(inst, "%s: failed with %d\n", __func__, rc);
-	inst_unlock(inst, __func__);
+		goto unlock;
 
+unlock:
+	inst_unlock(inst, __func__);
 	put_inst(inst);
 
 	return rc;
@@ -635,9 +650,10 @@ int msm_v4l2_querymenu(struct file *filp, void *fh,
 	inst_lock(inst, __func__);
 	rc = msm_vidc_query_menu((void *)inst, qmenu);
 	if (rc)
-		i_vpr_e(inst, "%s: failed with %d\n", __func__, rc);
-	inst_unlock(inst, __func__);
+		goto unlock;
 
+unlock:
+	inst_unlock(inst, __func__);
 	put_inst(inst);
 
 	return rc;

+ 12 - 12
driver/vidc/src/msm_vidc_vb2.c

@@ -142,8 +142,8 @@ int msm_vidc_queue_setup(struct vb2_queue *q,
 	}
 
 	i_vpr_h(inst,
-		"queue_setup: type %d num_buffers %d sizes[0] %d\n",
-		q->type, *num_buffers, sizes[0]);
+		"queue_setup: type %s num_buffers %d sizes[0] %d\n",
+		v4l2_type_name(q->type), *num_buffers, sizes[0]);
 	return rc;
 }
 
@@ -163,8 +163,8 @@ int msm_vidc_start_streaming(struct vb2_queue *q, unsigned int count)
 		return -EINVAL;
 	}
 	if (q->type == INPUT_META_PLANE || q->type == OUTPUT_META_PLANE) {
-		i_vpr_h(inst, "%s: nothing to start on meta port %d\n",
-			__func__, q->type);
+		i_vpr_h(inst, "%s: nothing to start on %s\n",
+			__func__, v4l2_type_name(q->type));
 		return 0;
 	}
 	if (!is_decode_session(inst) && !is_encode_session(inst)) {
@@ -172,7 +172,7 @@ int msm_vidc_start_streaming(struct vb2_queue *q, unsigned int count)
 			__func__, inst->domain);
 		return -EINVAL;
 	}
-	i_vpr_h(inst, "Streamon: %d\n", q->type);
+	i_vpr_h(inst, "Streamon: %s\n", v4l2_type_name(q->type));
 
 	if (!inst->once_per_session_set) {
 		inst->once_per_session_set = true;
@@ -236,12 +236,12 @@ int msm_vidc_start_streaming(struct vb2_queue *q, unsigned int count)
 	if (rc)
 		goto error;
 
-	i_vpr_h(inst, "Streamon: %d successful\n", q->type);
+	i_vpr_h(inst, "Streamon: %s successful\n", v4l2_type_name(q->type));
 
 	return rc;
 
 error:
-	i_vpr_h(inst, "Streamon: %d failed\n", q->type);
+	i_vpr_h(inst, "Streamon: %s failed\n", v4l2_type_name(q->type));
 	return -EINVAL;
 }
 
@@ -260,8 +260,8 @@ void msm_vidc_stop_streaming(struct vb2_queue *q)
 		return;
 	}
 	if (q->type == INPUT_META_PLANE || q->type == OUTPUT_META_PLANE) {
-		i_vpr_h(inst, "%s: nothing to stop on meta port %d\n",
-			__func__, q->type);
+		i_vpr_h(inst, "%s: nothing to stop on %s\n",
+			__func__, v4l2_type_name(q->type));
 		return;
 	}
 	if (!is_decode_session(inst) && !is_encode_session(inst)) {
@@ -269,7 +269,7 @@ void msm_vidc_stop_streaming(struct vb2_queue *q)
 			__func__, inst->domain);
 		return;
 	}
-	i_vpr_h(inst, "Streamoff: %d\n", q->type);
+	i_vpr_h(inst, "Streamoff: %s\n", v4l2_type_name(q->type));
 
 	if (q->type == INPUT_MPLANE) {
 		if (is_decode_session(inst))
@@ -292,11 +292,11 @@ void msm_vidc_stop_streaming(struct vb2_queue *q)
 	if (q->type == INPUT_MPLANE)
 		msm_vidc_flush_ts(inst);
 
-	i_vpr_h(inst, "Streamoff: %d successful\n", q->type);
+	i_vpr_h(inst, "Streamoff: %s successful\n", v4l2_type_name(q->type));
 	return;
 
 error:
-	i_vpr_e(inst, "Streamoff: %d failed\n", q->type);
+	i_vpr_e(inst, "Streamoff: %s failed\n", v4l2_type_name(q->type));
 	return;
 }
 

+ 2 - 4
driver/vidc/src/venus_hfi.c

@@ -250,8 +250,7 @@ int __write_register(struct msm_vidc_core *core,
 	}
 
 	base_addr = core->register_base_addr;
-	d_vpr_l("Base addr: %pK, writing to: %#x, Value: %#x...\n",
-		base_addr, hwiosymaddr, value);
+	d_vpr_l("regwrite(%pK + %#x) = %#x\n", base_addr, hwiosymaddr, value);
 	base_addr += hwiosymaddr;
 	writel_relaxed(value, base_addr);
 
@@ -335,8 +334,7 @@ int __read_register(struct msm_vidc_core *core, u32 reg)
 	 * register.
 	 */
 	rmb();
-	d_vpr_l("Base addr: %pK, read from: %#x, value: %#x...\n",
-		base_addr, reg, rc);
+	d_vpr_l("regread(%pK + %#x) = %#x\n", base_addr, reg, rc);
 
 	return rc;
 }