فهرست منبع

Merge "video: driver: Fix buffer type and region mapping"

qctecmdr 4 سال پیش
والد
کامیت
5fc9f66269
1فایلهای تغییر یافته به همراه19 افزوده شده و 12 حذف شده
  1. 19 12
      driver/vidc/src/msm_vidc_driver.c

+ 19 - 12
driver/vidc/src/msm_vidc_driver.c

@@ -835,17 +835,27 @@ u32 msm_vidc_get_buffer_region(struct msm_vidc_inst *inst,
 				region = MSM_VIDC_NON_SECURE;
 			break;
 		case MSM_VIDC_BUF_OUTPUT:
-			if (is_decode_session(inst))
-				region = MSM_VIDC_NON_SECURE_PIXEL;
-			else
+			if (is_encode_session(inst))
 				region = MSM_VIDC_NON_SECURE;
+			else
+				region = MSM_VIDC_NON_SECURE_PIXEL;
 			break;
 		case MSM_VIDC_BUF_DPB:
 			region = MSM_VIDC_NON_SECURE_PIXEL;
 			break;
-		default:
+		case MSM_VIDC_BUF_INPUT_META:
+		case MSM_VIDC_BUF_OUTPUT_META:
+		case MSM_VIDC_BUF_BIN:
+		case MSM_VIDC_BUF_COMV:
+		case MSM_VIDC_BUF_NON_COMV:
+		case MSM_VIDC_BUF_LINE:
+		case MSM_VIDC_BUF_PERSIST:
+		case MSM_VIDC_BUF_VPSS:
 			region = MSM_VIDC_NON_SECURE;
 			break;
+		default:
+			i_vpr_e(inst, "%s: invalid driver buffer type %d\n",
+				func, buffer_type);
 		}
 	} else {
 		switch (buffer_type) {
@@ -865,19 +875,16 @@ u32 msm_vidc_get_buffer_region(struct msm_vidc_inst *inst,
 		case MSM_VIDC_BUF_OUTPUT_META:
 			region = MSM_VIDC_NON_SECURE;
 			break;
-		case MSM_VIDC_BUF_BIN:
-			region = MSM_VIDC_SECURE_BITSTREAM;
+		case MSM_VIDC_BUF_DPB:
+		case MSM_VIDC_BUF_VPSS:
+			region = MSM_VIDC_SECURE_PIXEL;
 			break;
+		case MSM_VIDC_BUF_BIN:
+		case MSM_VIDC_BUF_ARP:
 		case MSM_VIDC_BUF_COMV:
 		case MSM_VIDC_BUF_NON_COMV:
 		case MSM_VIDC_BUF_LINE:
-			region = MSM_VIDC_SECURE_NONPIXEL;
-			break;
-		case MSM_VIDC_BUF_DPB:
-			region = MSM_VIDC_SECURE_PIXEL;
-			break;
 		case MSM_VIDC_BUF_PERSIST:
-		case MSM_VIDC_BUF_ARP:
 			region = MSM_VIDC_SECURE_NONPIXEL;
 			break;
 		default: