Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a0131ae4 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: vidc: Set correct MBI mode to Venus FW"

parents 6b31d371 9b98df1d
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -47,6 +47,12 @@ static int cabac_model[] = {
	[ilog2(HAL_H264_CABAC_MODEL_2)] = HFI_H264_CABAC_MODEL_2,
};

static int statistics_mode[] = {
	[ilog2(HAL_STATISTICS_MODE_DEFAULT)] = HFI_STATISTICS_MODE_DEFAULT,
	[ilog2(HAL_STATISTICS_MODE_1)] = HFI_STATISTICS_MODE_1,
	[ilog2(HAL_STATISTICS_MODE_2)] = HFI_STATISTICS_MODE_2,
};

static int color_format[] = {
	[ilog2(HAL_COLOR_FORMAT_MONOCHROME)] = HFI_COLOR_FORMAT_MONOCHROME,
	[ilog2(HAL_COLOR_FORMAT_NV12)] = HFI_COLOR_FORMAT_NV12,
@@ -109,6 +115,9 @@ static inline int hal_to_hfi_type(int property, int hal_type)
	case HAL_PARAM_NAL_STREAM_FORMAT_SELECT:
		return (hal_type >= ARRAY_SIZE(nal_type)) ?
			-ENOTSUPP : nal_type[hal_type];
	case HAL_PARAM_VENC_MBI_STATISTICS_MODE:
		return (hal_type >= ARRAY_SIZE(statistics_mode)) ?
			-ENOTSUPP : statistics_mode[hal_type];
	default:
		return -ENOTSUPP;
	}
@@ -1933,7 +1942,9 @@ int create_pkt_cmd_session_set_property(
	{
		pkt->rg_property_data[0] =
			HFI_PROPERTY_PARAM_VENC_MBI_DUMPING;
		pkt->rg_property_data[1] = *(u32 *)pdata;
		pkt->rg_property_data[1] = hal_to_hfi_type(
			HAL_PARAM_VENC_MBI_STATISTICS_MODE,
				*(u32 *)pdata);
		pkt->size += sizeof(u32) * 2;
		break;
	}
+14 −1
Original line number Diff line number Diff line
@@ -1831,6 +1831,17 @@ static inline int venc_v4l2_to_hal(int id, int value)
		default:
			goto unknown_value;
		}
	case V4L2_CID_MPEG_VIDC_VIDEO_MBI_STATISTICS_MODE:
		switch (value) {
		case V4L2_CID_MPEG_VIDC_VIDEO_MBI_MODE_DEFAULT:
			return HAL_STATISTICS_MODE_DEFAULT;
		case V4L2_CID_MPEG_VIDC_VIDEO_MBI_MODE_1:
			return HAL_STATISTICS_MODE_1;
		case V4L2_CID_MPEG_VIDC_VIDEO_MBI_MODE_2:
			return HAL_STATISTICS_MODE_2;
		default:
			goto unknown_value;
		}
	}

unknown_value:
@@ -2711,7 +2722,9 @@ static int try_set_ctrl(struct msm_vidc_inst *inst, struct v4l2_ctrl *ctrl)
		break;
	case V4L2_CID_MPEG_VIDC_VIDEO_MBI_STATISTICS_MODE:
		property_id = HAL_PARAM_VENC_MBI_STATISTICS_MODE;
		mbi_statistics_mode = ctrl->val;
		mbi_statistics_mode = venc_v4l2_to_hal(
			V4L2_CID_MPEG_VIDC_VIDEO_MBI_STATISTICS_MODE,
			ctrl->val);
		pdata = &mbi_statistics_mode;
		break;
	default:
+6 −0
Original line number Diff line number Diff line
@@ -521,6 +521,12 @@ enum hal_uncompressed_format {
	HAL_UNUSED_COLOR                = 0x10000000,
};

enum hal_statistics_mode_type {
	HAL_STATISTICS_MODE_DEFAULT	= 0x00000001,
	HAL_STATISTICS_MODE_1		= 0x00000002,
	HAL_STATISTICS_MODE_2		= 0x00000004,
};

enum hal_ssr_trigger_type {
	SSR_ERR_FATAL = 1,
	SSR_SW_DIV_BY_ZERO,
+4 −0
Original line number Diff line number Diff line
@@ -691,6 +691,10 @@ struct hfi_bit_depth {
#define HFI_MAX_BIAS_COEFFS 3
#define HFI_MAX_LIMIT_COEFFS 6

#define HFI_STATISTICS_MODE_DEFAULT 0x10
#define HFI_STATISTICS_MODE_1 0x11
#define HFI_STATISTICS_MODE_2 0x12

struct hfi_uncompressed_format_select {
	u32 buffer_type;
	u32 format;