ソースを参照

video: driver: update hfi driver files based on FW#7 (p4 CL# 27761469)

update hfi_property.h and hfi_command.h files to align
with firmware hfi_lx_prop_v1.0_doc.h and hfi_lx_cmd_v1.0_doc.h
files respectively.

Change-Id: Id1e01fab0d40040075987d5b745a2d9ade4cd3a1
Signed-off-by: Akshata Sahukar <[email protected]>
Akshata Sahukar 4 年 前
コミット
c5f9b0d800

+ 8 - 4
driver/vidc/inc/hfi_command.h

@@ -161,14 +161,18 @@ enum hfi_property_mode_type {
 
 
 #define HFI_SSR_TYPE_SW_ERR_FATAL       0x1
 #define HFI_SSR_TYPE_SW_ERR_FATAL       0x1
 #define HFI_SSR_TYPE_SW_DIV_BY_ZERO     0x2
 #define HFI_SSR_TYPE_SW_DIV_BY_ZERO     0x2
-#define HFI_SSR_TYPE_HW_WDOG_IRQ        0x3
+#define HFI_SSR_TYPE_CPU_WDOG_IRQ       0x3
 #define HFI_SSR_TYPE_NOC_ERROR          0x4
 #define HFI_SSR_TYPE_NOC_ERROR          0x4
-#define HFI_SSR_TYPE_VCODEC_HUNG        0x5
 
 
-#define HFI_BITMASK_SSR_SUB_CLIENT_ID          0x000000f0
-#define HFI_BITMASK_SSR_TYPE                   0x0000000f
+#define HFI_BITMASK_HW_CLIENT_ID                        0x000000f0
+#define HFI_BITMASK_SSR_TYPE                            0x0000000f
 #define HFI_CMD_SSR                                             0x0100000D
 #define HFI_CMD_SSR                                             0x0100000D
 
 
+#define HFI_STABILITY_TYPE_VCODEC_HUNG        0x1
+#define HFI_STABILITY_TYPE_ENC_BUFFER_FULL    0x2
+#define HFI_BITMASK_STABILITY_TYPE                              0x0000000f
+#define HFI_CMD_STABILITY                                       0x0100000E
+
 #define HFI_CMD_END                                             0x01FFFFFF
 #define HFI_CMD_END                                             0x01FFFFFF
 
 
 #endif //__H_HFI_COMMAND_H__
 #endif //__H_HFI_COMMAND_H__

+ 8 - 11
driver/vidc/inc/hfi_property.h

@@ -70,9 +70,9 @@ enum hfi_color_format {
 #define HFI_BITMASK_BITSTREAM_HEIGHT                            0x0000ffff
 #define HFI_BITMASK_BITSTREAM_HEIGHT                            0x0000ffff
 #define HFI_PROP_BITSTREAM_RESOLUTION                           0x03000103
 #define HFI_PROP_BITSTREAM_RESOLUTION                           0x03000103
 
 
-#define HFI_BITMASK_LINEAR_STRIDE                       0xffff0000
-#define HFI_BITMASK_LINEAR_SCANLINE                     0x0000ffff
-#define HFI_PROP_LINEAR_STRIDE_SCANLINE                         0x03000104
+#define HFI_BITMASK_LINEAR_STRIDE_ALIGNMENT             0xffff0000
+#define HFI_BITMASK_LINEAR_SCANLINE_ALIGNMENT           0x0000ffff
+#define HFI_PROP_LINEAR_ALIGNMENT_FACTOR                        0x03000104
 
 
 #define HFI_BITMASK_CROP_RIGHT_OFFSET        0xffff0000
 #define HFI_BITMASK_CROP_RIGHT_OFFSET        0xffff0000
 #define HFI_BITMASK_CROP_BOTTOM_OFFSET       0x0000ffff
 #define HFI_BITMASK_CROP_BOTTOM_OFFSET       0x0000ffff
@@ -237,7 +237,6 @@ enum hfi_rate_control {
     HFI_RC_OFF            = 0x00000003,
     HFI_RC_OFF            = 0x00000003,
     HFI_RC_CBR_VFR        = 0x00000004,
     HFI_RC_CBR_VFR        = 0x00000004,
     HFI_RC_LOSSLESS       = 0x00000005,
     HFI_RC_LOSSLESS       = 0x00000005,
-    HFI_RC_CBR_VFR_LEGACY = 0x00000006,
 };
 };
 #define HFI_PROP_RATE_CONTROL                                   0x0300012a
 #define HFI_PROP_RATE_CONTROL                                   0x0300012a
 
 
@@ -462,10 +461,9 @@ enum hfi_picture_type {
 
 
 #define HFI_PROP_WORST_COMPLEXITY_FACTOR                        0x03000175
 #define HFI_PROP_WORST_COMPLEXITY_FACTOR                        0x03000175
 
 
-//TODO: Enable when firmware adds support for these
-//#define HFI_PROP_VBV_DELAY                                      0x03000176
+#define HFI_PROP_VBV_DELAY                                      0x03000176
 
 
-//#define HFI_PROP_SEQ_CHANGE_AT_SYNC_FRAME                       0x03000177
+#define HFI_PROP_SEQ_CHANGE_AT_SYNC_FRAME                       0x03000177
 
 
 #define HFI_BITMASK_RAW_WIDTH                           0xffff0000
 #define HFI_BITMASK_RAW_WIDTH                           0xffff0000
 #define HFI_BITMASK_RAW_HEIGHT                          0x0000ffff
 #define HFI_BITMASK_RAW_HEIGHT                          0x0000ffff
@@ -505,12 +503,11 @@ enum hfi_picture_type {
 
 
 #define HFI_INFO_DATA_CORRUPT                                   0x06000002
 #define HFI_INFO_DATA_CORRUPT                                   0x06000002
 
 
-//TODO: Enable when firmware adds support for these
-//#define HFI_INFO_NEGATIVE_TIMESTAMP                             0x06000003
+#define HFI_INFO_NEGATIVE_TIMESTAMP                             0x06000003
 
 
-//#define HFI_INFO_BUFFER_OVERFLOW                                0x06000004
+#define HFI_INFO_BUFFER_OVERFLOW                                0x06000004
 
 
-//#define HFI_INFO_VCODEC_RESET                                   0x06000005
+#define HFI_INFO_VCODEC_RESET                                   0x06000005
 
 
 #define HFI_INFORMATION_END                                     0x06FFFFFF
 #define HFI_INFORMATION_END                                     0x06FFFFFF
 
 

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

@@ -119,7 +119,7 @@ static int msm_vdec_set_linear_stride_scanline(struct msm_vidc_inst *inst)
 		"stride_uv: %d, scanline_uv: %d", __func__,
 		"stride_uv: %d, scanline_uv: %d", __func__,
 		stride_y, scanline_y, stride_uv, scanline_uv);
 		stride_y, scanline_y, stride_uv, scanline_uv);
 	rc = venus_hfi_session_property(inst,
 	rc = venus_hfi_session_property(inst,
-			HFI_PROP_LINEAR_STRIDE_SCANLINE,
+			HFI_PROP_LINEAR_ALIGNMENT_FACTOR,
 			HFI_HOST_FLAGS_NONE,
 			HFI_HOST_FLAGS_NONE,
 			get_hfi_port(inst, OUTPUT_PORT),
 			get_hfi_port(inst, OUTPUT_PORT),
 			HFI_PAYLOAD_U64,
 			HFI_PAYLOAD_U64,

+ 3 - 3
driver/vidc/src/msm_venc.c

@@ -20,7 +20,7 @@
 u32 msm_venc_input_set_prop[] = {
 u32 msm_venc_input_set_prop[] = {
 	HFI_PROP_COLOR_FORMAT,
 	HFI_PROP_COLOR_FORMAT,
 	HFI_PROP_RAW_RESOLUTION,
 	HFI_PROP_RAW_RESOLUTION,
-	HFI_PROP_LINEAR_STRIDE_SCANLINE,
+	HFI_PROP_LINEAR_ALIGNMENT_FACTOR,
 	HFI_PROP_BUFFER_HOST_MAX_COUNT,
 	HFI_PROP_BUFFER_HOST_MAX_COUNT,
 };
 };
 
 
@@ -158,7 +158,7 @@ static int msm_venc_set_linear_alignment_factor(struct msm_vidc_inst *inst,
 	s_vpr_h(inst->sid, "%s: payload[0]: %u payload[1]: %u\n", __func__,
 	s_vpr_h(inst->sid, "%s: payload[0]: %u payload[1]: %u\n", __func__,
 		alignment_factor[0], alignment_factor[1]);
 		alignment_factor[0], alignment_factor[1]);
 	rc = venus_hfi_session_property(inst,
 	rc = venus_hfi_session_property(inst,
-			HFI_PROP_LINEAR_STRIDE_SCANLINE,
+			HFI_PROP_LINEAR_ALIGNMENT_FACTOR,
 			HFI_HOST_FLAGS_NONE,
 			HFI_HOST_FLAGS_NONE,
 			get_hfi_port(inst, port),
 			get_hfi_port(inst, port),
 			HFI_PAYLOAD_64_PACKED,
 			HFI_PAYLOAD_64_PACKED,
@@ -380,7 +380,7 @@ static int msm_venc_set_input_properties(struct msm_vidc_inst *inst)
 		case HFI_PROP_RAW_RESOLUTION:
 		case HFI_PROP_RAW_RESOLUTION:
 			rc = msm_venc_set_raw_resolution(inst, INPUT_PORT);
 			rc = msm_venc_set_raw_resolution(inst, INPUT_PORT);
 			break;
 			break;
-		case HFI_PROP_LINEAR_STRIDE_SCANLINE:
+		case HFI_PROP_LINEAR_ALIGNMENT_FACTOR:
 			rc = msm_venc_set_linear_alignment_factor(inst, INPUT_PORT);
 			rc = msm_venc_set_linear_alignment_factor(inst, INPUT_PORT);
 			break;
 			break;
 		case HFI_PROP_BUFFER_HOST_MAX_COUNT:
 		case HFI_PROP_BUFFER_HOST_MAX_COUNT: