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

Commit 2dcb751e authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: cvp: Code cleanup for CVP driver"

parents 7516df8b 8ddb7588
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -8,14 +8,14 @@
#include "cvp_hfi_api.h"
#include "cvp_core_hfi.h"

struct hfi_device *cvp_hfi_initialize(enum msm_cvp_hfi_type hfi_type,
struct cvp_hfi_device *cvp_hfi_initialize(enum msm_cvp_hfi_type hfi_type,
		u32 device_id, struct msm_cvp_platform_resources *res,
		hfi_cmd_response_callback callback)
{
	struct hfi_device *hdev = NULL;
	struct cvp_hfi_device *hdev = NULL;
	int rc = 0;

	hdev = kzalloc(sizeof(struct hfi_device), GFP_KERNEL);
	hdev = kzalloc(sizeof(struct cvp_hfi_device), GFP_KERNEL);
	if (!hdev) {
		dprintk(CVP_ERR, "%s: failed to allocate hdev\n", __func__);
		return NULL;
@@ -45,7 +45,7 @@ struct hfi_device *cvp_hfi_initialize(enum msm_cvp_hfi_type hfi_type,
}

void cvp_hfi_deinitialize(enum msm_cvp_hfi_type hfi_type,
			struct hfi_device *hdev)
			struct cvp_hfi_device *hdev)
{
	if (!hdev) {
		dprintk(CVP_ERR, "%s invalid device %pK", __func__, hdev);
+26 −26
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@
#define CVP_MAX_SUBCACHES 4
#define CVP_MAX_SUBCACHE_SIZE 52

struct hfi_queue_table_header {
struct cvp_hfi_queue_table_header {
	u32 qtbl_version;
	u32 qtbl_size;
	u32 qtbl_qhdr0_offset;
@@ -53,7 +53,7 @@ struct hfi_queue_table_header {
	char name[256];
};

struct hfi_queue_header {
struct cvp_hfi_queue_header {
	u32 qhdr_status;
	u32 qhdr_start_addr;
	u32 qhdr_type;
@@ -70,27 +70,27 @@ struct hfi_queue_header {
	u32 qhdr_write_idx;
};

struct hfi_mem_map_table {
struct cvp_hfi_mem_map_table {
	u32 mem_map_num_entries;
	u32 mem_map_table_base_addr;
};

struct hfi_mem_map {
struct cvp_hfi_mem_map {
	u32 virtual_addr;
	u32 physical_addr;
	u32 size;
	u32 attr;
};

#define CVP_IFACEQ_TABLE_SIZE (sizeof(struct hfi_queue_table_header) \
	+ sizeof(struct hfi_queue_header) * CVP_IFACEQ_NUMQ)
#define CVP_IFACEQ_TABLE_SIZE (sizeof(struct cvp_hfi_queue_table_header) \
	+ sizeof(struct cvp_hfi_queue_header) * CVP_IFACEQ_NUMQ)

#define CVP_IFACEQ_QUEUE_SIZE	(CVP_IFACEQ_MAX_PKT_SIZE *  \
	CVP_IFACEQ_MAX_BUF_COUNT * CVP_IFACE_MAX_PARALLEL_CLNTS)

#define CVP_IFACEQ_GET_QHDR_START_ADDR(ptr, i)     \
	(void *)((ptr + sizeof(struct hfi_queue_table_header)) + \
		(i * sizeof(struct hfi_queue_header)))
	(void *)((ptr + sizeof(struct cvp_hfi_queue_table_header)) + \
		(i * sizeof(struct cvp_hfi_queue_header)))

#define QDSS_SIZE 4096
#define SFR_SIZE 4096
@@ -121,7 +121,7 @@ struct cvp_mem_addr {
	u32 align_device_addr;
	u8 *align_virtual_addr;
	u32 mem_size;
	struct msm_smem mem_data;
	struct msm_cvp_smem mem_data;
};

struct cvp_iface_q_info {
@@ -132,7 +132,7 @@ struct cvp_iface_q_info {

/*
 * These are helper macros to iterate over various lists within
 * venus_hfi_device->res.  The intention is to cut down on a lot of boiler-plate
 * iris_hfi_device->res.  The intention is to cut down on a lot of boiler-plate
 * code
 */

@@ -204,7 +204,7 @@ struct cvp_iface_q_info {
	((d)->vpu_ops->op(args)):0)

/* Internal data used in vidc_hal not exposed to msm_vidc*/
struct hal_data {
struct cvp_hal_data {
	u32 irq;
	phys_addr_t firmware_base;
	u8 __iomem *register_base;
@@ -213,7 +213,7 @@ struct hal_data {
	u32 gcc_reg_size;
};

struct venus_resources {
struct iris_resources {
	struct msm_cvp_fw fw;
};

@@ -233,18 +233,18 @@ enum reset_state {
	DEASSERT,
};

struct venus_hfi_device;
struct iris_hfi_device;

struct venus_hfi_vpu_ops {
	void (*interrupt_init)(struct venus_hfi_device *ptr);
	void (*setup_dsp_uc_memmap)(struct venus_hfi_device *device);
	void (*clock_config_on_enable)(struct venus_hfi_device *device);
	int (*reset_ahb2axi_bridge)(struct venus_hfi_device *device);
	void (*power_off)(struct venus_hfi_device *device);
	void (*noc_error_info)(struct venus_hfi_device *device);
struct iris_hfi_vpu_ops {
	void (*interrupt_init)(struct iris_hfi_device *ptr);
	void (*setup_dsp_uc_memmap)(struct iris_hfi_device *device);
	void (*clock_config_on_enable)(struct iris_hfi_device *device);
	int (*reset_ahb2axi_bridge)(struct iris_hfi_device *device);
	void (*power_off)(struct iris_hfi_device *device);
	void (*noc_error_info)(struct iris_hfi_device *device);
};

struct venus_hfi_device {
struct iris_hfi_device {
	struct list_head list;
	struct list_head sess_head;
	u32 intr_status;
@@ -265,27 +265,27 @@ struct venus_hfi_device {
	struct cvp_iface_q_info iface_queues[CVP_IFACEQ_NUMQ];
	struct cvp_iface_q_info dsp_iface_queues[CVP_IFACEQ_NUMQ];
	u32 dsp_flags;
	struct hal_data *hal_data;
	struct cvp_hal_data *cvp_hal_data;
	struct workqueue_struct *cvp_workq;
	struct workqueue_struct *venus_pm_workq;
	int spur_count;
	int reg_count;
	struct venus_resources resources;
	struct iris_resources resources;
	struct msm_cvp_platform_resources *res;
	enum venus_hfi_state state;
	struct hfi_packetization_ops *pkt_ops;
	struct cvp_hfi_packetization_ops *pkt_ops;
	enum hfi_packetization_type packetization_type;
	struct msm_cvp_cb_info *response_pkt;
	u8 *raw_packet;
	struct pm_qos_request qos;
	unsigned int skip_pc_count;
	struct msm_cvp_capability *sys_init_capabilities;
	struct venus_hfi_vpu_ops *vpu_ops;
	struct iris_hfi_vpu_ops *vpu_ops;
};

void cvp_venus_hfi_delete_device(void *device);

int cvp_venus_hfi_initialize(struct hfi_device *hdev, u32 device_id,
int cvp_venus_hfi_initialize(struct cvp_hfi_device *hdev, u32 device_id,
		struct msm_cvp_platform_resources *res,
		hfi_cmd_response_callback callback);

+296 −358

File changed.

Preview size limit exceeded, changes collapsed.

+10 −286
Original line number Diff line number Diff line
@@ -15,31 +15,6 @@
#define HFI_EVENT_SESSION_LTRUSE_FAILED (HFI_OX_BASE + 0x5)
#define HFI_EVENT_RELEASE_BUFFER_REFERENCE (HFI_OX_BASE + 0x6)

#define HFI_EVENT_DATA_SEQUENCE_CHANGED_SUFFICIENT_BUFFER_RESOURCES	\
	(HFI_OX_BASE + 0x1)
#define HFI_EVENT_DATA_SEQUENCE_CHANGED_INSUFFICIENT_BUFFER_RESOURCES	\
	(HFI_OX_BASE + 0x2)

#define HFI_BUFFERFLAG_EOS			0x00000001
#define HFI_BUFFERFLAG_STARTTIME		0x00000002
#define HFI_BUFFERFLAG_DECODEONLY		0x00000004
#define HFI_BUFFERFLAG_DATACORRUPT		0x00000008
#define HFI_BUFFERFLAG_ENDOFFRAME		0x00000010
#define HFI_BUFFERFLAG_SYNCFRAME		0x00000020
#define HFI_BUFFERFLAG_EXTRADATA		0x00000040
#define HFI_BUFFERFLAG_CODECCONFIG		0x00000080
#define HFI_BUFFERFLAG_TIMESTAMPINVALID		0x00000100
#define HFI_BUFFERFLAG_READONLY			0x00000200
#define HFI_BUFFERFLAG_ENDOFSUBFRAME		0x00000400
#define HFI_BUFFERFLAG_EOSEQ			0x00200000
#define HFI_BUFFER_FLAG_MBAFF			0x08000000
#define HFI_BUFFERFLAG_VPE_YUV_601_709_CSC_CLAMP \
						0x10000000
#define HFI_BUFFERFLAG_DROP_FRAME               0x20000000
#define HFI_BUFFERFLAG_TEI			0x40000000
#define HFI_BUFFERFLAG_DISCONTINUITY		0x80000000


#define HFI_ERR_SESSION_EMPTY_BUFFER_DONE_OUTPUT_PENDING	\
	(HFI_OX_BASE + 0x1001)
#define HFI_ERR_SESSION_SAME_STATE_OPERATION		\
@@ -49,174 +24,10 @@
#define  HFI_ERR_SESSION_START_CODE_NOT_FOUND		\
	(HFI_OX_BASE + 0x1004)


#define HFI_BUFFER_MODE_DYNAMIC (HFI_OX_BASE + 0x3)

#define HFI_FLUSH_INPUT (HFI_OX_BASE + 0x1)
#define HFI_FLUSH_OUTPUT (HFI_OX_BASE + 0x2)
#define HFI_FLUSH_ALL (HFI_OX_BASE + 0x4)

#define HFI_EXTRADATA_NONE					0x00000000
#define HFI_EXTRADATA_MB_QUANTIZATION		0x00000001
#define HFI_EXTRADATA_INTERLACE_VIDEO		0x00000002
#define HFI_EXTRADATA_TIMESTAMP				0x00000005
#define HFI_EXTRADATA_S3D_FRAME_PACKING		0x00000006
#define HFI_EXTRADATA_FRAME_RATE			0x00000007
#define HFI_EXTRADATA_PANSCAN_WINDOW		0x00000008
#define HFI_EXTRADATA_RECOVERY_POINT_SEI	0x00000009
#define HFI_EXTRADATA_MPEG2_SEQDISP		0x0000000D
#define HFI_EXTRADATA_STREAM_USERDATA		0x0000000E
#define HFI_EXTRADATA_FRAME_QP			0x0000000F
#define HFI_EXTRADATA_FRAME_BITS_INFO		0x00000010
#define HFI_EXTRADATA_VPX_COLORSPACE		0x00000014
#define HFI_EXTRADATA_UBWC_CR_STAT_INFO		0x00000019
#define HFI_EXTRADATA_MULTISLICE_INFO		0x7F100000
#define HFI_EXTRADATA_NUM_CONCEALED_MB		0x7F100001
#define HFI_EXTRADATA_INDEX					0x7F100002
#define HFI_EXTRADATA_METADATA_LTR			0x7F100004
#define HFI_EXTRADATA_METADATA_FILLER		0x7FE00002

#define HFI_INDEX_EXTRADATA_INPUT_CROP		0x0700000E
#define HFI_INDEX_EXTRADATA_OUTPUT_CROP		0x0700000F
#define HFI_INDEX_EXTRADATA_ASPECT_RATIO	0x7F100003

#define HFI_INTERLACE_FRAME_PROGRESSIVE					0x01
#define HFI_INTERLACE_INTERLEAVE_FRAME_TOPFIELDFIRST	0x02
#define HFI_INTERLACE_INTERLEAVE_FRAME_BOTTOMFIELDFIRST	0x04
#define HFI_INTERLACE_FRAME_TOPFIELDFIRST				0x08
#define HFI_INTERLACE_FRAME_BOTTOMFIELDFIRST			0x10
#define HFI_INTERLACE_FRAME_MBAFF					0x20

#define HFI_PROPERTY_SYS_OX_START			\
	(HFI_DOMAIN_BASE_COMMON + HFI_ARCH_OX_OFFSET + 0x0000)

#define HFI_PROPERTY_PARAM_OX_START				\
	(HFI_DOMAIN_BASE_COMMON + HFI_ARCH_OX_OFFSET + 0x1000)
#define HFI_PROPERTY_PARAM_BUFFER_COUNT_ACTUAL			\
	(HFI_PROPERTY_PARAM_OX_START + 0x001)
#define HFI_PROPERTY_PARAM_UNCOMPRESSED_PLANE_ACTUAL_CONSTRAINTS_INFO	\
	(HFI_PROPERTY_PARAM_OX_START + 0x002)
#define HFI_PROPERTY_PARAM_INDEX_EXTRADATA             \
	(HFI_PROPERTY_PARAM_OX_START + 0x006)
#define HFI_PROPERTY_PARAM_S3D_FRAME_PACKING_EXTRADATA	\
	(HFI_PROPERTY_PARAM_OX_START + 0x009)
#define  HFI_PROPERTY_PARAM_BUFFER_SIZE_MINIMUM			\
	(HFI_PROPERTY_PARAM_OX_START + 0x00C)
#define HFI_PROPERTY_PARAM_SYNC_BASED_INTERRUPT			\
	(HFI_PROPERTY_PARAM_OX_START + 0x00E)

#define HFI_PROPERTY_CONFIG_OX_START					\
	(HFI_DOMAIN_BASE_COMMON + HFI_ARCH_OX_OFFSET + 0x02000)
#define HFI_PROPERTY_CONFIG_BUFFER_REQUIREMENTS			\
	(HFI_PROPERTY_CONFIG_OX_START + 0x001)
#define HFI_PROPERTY_CONFIG_REALTIME					\
	(HFI_PROPERTY_CONFIG_OX_START + 0x002)
#define HFI_PROPERTY_CONFIG_PRIORITY					\
	(HFI_PROPERTY_CONFIG_OX_START + 0x003)
#define HFI_PROPERTY_PARAM_VDEC_OX_START				\
	(HFI_DOMAIN_BASE_VDEC + HFI_ARCH_OX_OFFSET + 0x3000)
#define HFI_PROPERTY_PARAM_VDEC_CONTINUE_DATA_TRANSFER	\
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x001)
#define HFI_PROPERTY_PARAM_VDEC_MULTI_VIEW_SELECT		\
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x003)
#define HFI_PROPERTY_PARAM_VDEC_PICTURE_TYPE_DECODE		\
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x004)
#define HFI_PROPERTY_PARAM_VDEC_OUTPUT_ORDER			\
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x005)
#define HFI_PROPERTY_PARAM_VDEC_MB_QUANTIZATION			\
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x006)
#define HFI_PROPERTY_PARAM_VDEC_NUM_CONCEALED_MB		\
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x007)
#define HFI_PROPERTY_PARAM_VDEC_OUTPUT2_KEEP_ASPECT_RATIO\
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x009)
#define HFI_PROPERTY_PARAM_VDEC_FRAME_RATE_EXTRADATA  \
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x00A)
#define HFI_PROPERTY_PARAM_VDEC_PANSCAN_WNDW_EXTRADATA \
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x00B)
#define HFI_PROPERTY_PARAM_VDEC_RECOVERY_POINT_SEI_EXTRADATA \
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x00C)
#define HFI_PROPERTY_PARAM_VDEC_THUMBNAIL_MODE   \
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x00D)
#define HFI_PROPERTY_PARAM_VDEC_TIMESTAMP_EXTRADATA			\
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x013)
#define HFI_PROPERTY_PARAM_VDEC_INTERLACE_VIDEO_EXTRADATA	\
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x014)
#define HFI_PROPERTY_PARAM_VDEC_AVC_SESSION_SELECT \
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x015)
#define HFI_PROPERTY_PARAM_VDEC_MPEG2_SEQDISP_EXTRADATA \
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x016)
#define HFI_PROPERTY_PARAM_VDEC_STREAM_USERDATA_EXTRADATA \
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x017)
#define HFI_PROPERTY_PARAM_VDEC_FRAME_QP_EXTRADATA \
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x018)
#define HFI_PROPERTY_PARAM_VDEC_FRAME_BITS_INFO_EXTRADATA \
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x019)
#define HFI_PROPERTY_PARAM_VUI_DISPLAY_INFO_EXTRADATA \
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x01B)
#define HFI_PROPERTY_PARAM_VDEC_VQZIP_SEI_EXTRADATA \
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x001C)
#define HFI_PROPERTY_PARAM_VDEC_VPX_COLORSPACE_EXTRADATA \
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x001D)
#define HFI_PROPERTY_PARAM_VDEC_MASTERING_DISPLAY_COLOUR_SEI_EXTRADATA \
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x001E)
#define HFI_PROPERTY_PARAM_VDEC_CONTENT_LIGHT_LEVEL_SEI_EXTRADATA \
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x001F)
#define HFI_PROPERTY_PARAM_VDEC_COLOUR_REMAPPING_INFO_SEI_EXTRADATA	\
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x0020)
#define HFI_PROPERTY_PARAM_VDEC_DOWN_SCALAR	\
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x0021)
#define HFI_PROPERTY_PARAM_VDEC_UBWC_CR_STAT_INFO_EXTRADATA	\
	(HFI_PROPERTY_PARAM_VDEC_OX_START + 0x0022)

#define HFI_PROPERTY_CONFIG_VDEC_OX_START				\
	(HFI_DOMAIN_BASE_VDEC + HFI_ARCH_OX_OFFSET + 0x4000)
#define HFI_PROPERTY_CONFIG_VDEC_MB_ERROR_MAP_REPORTING	\
	(HFI_PROPERTY_CONFIG_VDEC_OX_START + 0x002)
#define HFI_PROPERTY_CONFIG_VDEC_MB_ERROR_MAP			\
	(HFI_PROPERTY_CONFIG_VDEC_OX_START + 0x003)
#define HFI_PROPERTY_CONFIG_VDEC_ENTROPY \
	(HFI_PROPERTY_CONFIG_VDEC_OX_START + 0x004)

#define HFI_PROPERTY_PARAM_VENC_OX_START				\
	(HFI_DOMAIN_BASE_VENC + HFI_ARCH_OX_OFFSET + 0x5000)
#define  HFI_PROPERTY_PARAM_VENC_MULTI_SLICE_INFO       \
	(HFI_PROPERTY_PARAM_VENC_OX_START + 0x001)
#define  HFI_PROPERTY_PARAM_VENC_H264_IDR_S3D_FRAME_PACKING_NAL \
	(HFI_PROPERTY_PARAM_VENC_OX_START + 0x002)
#define  HFI_PROPERTY_PARAM_VENC_LTR_INFO			\
	(HFI_PROPERTY_PARAM_VENC_OX_START + 0x003)
#define  HFI_PROPERTY_PARAM_VENC_MBI_DUMPING				\
	(HFI_PROPERTY_PARAM_VENC_OX_START + 0x005)
#define HFI_PROPERTY_PARAM_VENC_FRAME_QP_EXTRADATA		\
	(HFI_PROPERTY_PARAM_VENC_OX_START + 0x006)
#define  HFI_PROPERTY_PARAM_VENC_ROI_QP_EXTRADATA		\
	(HFI_PROPERTY_PARAM_VENC_OX_START + 0x008)
#define HFI_PROPERTY_PARAM_VENC_HDR10PLUS_METADATA_EXTRADATA	\
	(HFI_PROPERTY_PARAM_VENC_OX_START + 0x00A)

#define HFI_PROPERTY_CONFIG_VENC_OX_START				\
	(HFI_DOMAIN_BASE_VENC + HFI_ARCH_OX_OFFSET + 0x6000)
#define HFI_PROPERTY_PARAM_VPE_OX_START					\
	(HFI_DOMAIN_BASE_VPE + HFI_ARCH_OX_OFFSET + 0x7000)

#define HFI_PROPERTY_CONFIG_VPE_OX_START				\
	(HFI_DOMAIN_BASE_VPE + HFI_ARCH_OX_OFFSET + 0x8000)

#define HFI_PRIORITY_LOW		10
#define HFI_PRIOIRTY_MEDIUM		20
#define HFI_PRIORITY_HIGH		30

#define HFI_OUTPUT_ORDER_DISPLAY	(HFI_OX_BASE + 0x1)
#define HFI_OUTPUT_ORDER_DECODE		(HFI_OX_BASE + 0x2)

#define HFI_RATE_CONTROL_OFF		(HFI_OX_BASE + 0x1)
#define HFI_RATE_CONTROL_VBR_VFR	(HFI_OX_BASE + 0x2)
#define HFI_RATE_CONTROL_VBR_CFR	(HFI_OX_BASE + 0x3)
#define HFI_RATE_CONTROL_CBR_VFR	(HFI_OX_BASE + 0x4)
#define HFI_RATE_CONTROL_CBR_CFR	(HFI_OX_BASE + 0x5)
#define HFI_RATE_CONTROL_MBR_CFR	(HFI_OX_BASE + 0x6)
#define HFI_RATE_CONTROL_MBR_VFR	(HFI_OX_BASE + 0x7)
#define HFI_RATE_CONTROL_CQ		(HFI_OX_BASE + 0x8)

#define HFI_CMD_SYS_OX_START		\
(HFI_DOMAIN_BASE_COMMON + HFI_ARCH_OX_OFFSET + HFI_CMD_START_OFFSET + 0x0000)
@@ -242,11 +53,11 @@
#define HFI_CMD_SESSION_CONTINUE	(HFI_CMD_SESSION_OX_START + 0x00D)
#define HFI_CMD_SESSION_SYNC		(HFI_CMD_SESSION_OX_START + 0x00E)

/* =============BASIC OPERATIONS=================*/
#define HFI_CMD_SESSION_CVP_START	\
	(HFI_DOMAIN_BASE_CVP + HFI_ARCH_COMMON_OFFSET +	\
	HFI_CMD_START_OFFSET + 0x1000)

/* =============BASIC OPERATIONS=================*/
#define  HFI_CMD_SESSION_CVP_SET_BUFFERS\
	(HFI_CMD_SESSION_CVP_START + 0x001)
#define  HFI_CMD_SESSION_CVP_RELEASE_BUFFERS\
@@ -390,71 +201,14 @@
#define CVP_IFACEQ_VAR_LARGE_PKT_SIZE 512
#define CVP_IFACEQ_VAR_HUGE_PKT_SIZE  (1024*12)

struct hfi_cmd_sys_ping_packet {
	u32 size;
	u32 packet_type;
	u32 client_data;
};

struct hfi_cmd_session_empty_buffer_compressed_packet {
	u32 size;
	u32 packet_type;
	u32 session_id;
	u32 time_stamp_hi;
	u32 time_stamp_lo;
	u32 flags;
	u32 mark_target;
	u32 mark_data;
	u32 offset;
	u32 alloc_len;
	u32 filled_len;
	u32 input_tag;
	u32 packet_buffer;
	u32 extra_data_buffer;
	u32 rgData[1];
};

struct hfi_cmd_session_empty_buffer_uncompressed_plane0_packet {
	u32 size;
	u32 packet_type;
	u32 session_id;
	u32 view_id;
	u32 time_stamp_hi;
	u32 time_stamp_lo;
	u32 flags;
	u32 mark_target;
	u32 mark_data;
	u32 alloc_len;
	u32 filled_len;
	u32 offset;
	u32 input_tag;
	u32 packet_buffer;
	u32 extra_data_buffer;
	u32 rgData[1];
};

struct hfi_cmd_session_fill_buffer_packet {
	u32 size;
	u32 packet_type;
	u32 session_id;
	u32 stream_id;
	u32 offset;
	u32 alloc_len;
	u32 filled_len;
	u32 output_tag;
	u32 packet_buffer;
	u32 extra_data_buffer;
	u32 rgData[1];
};

struct hfi_cmd_session_flush_packet {
struct cvp_hfi_cmd_session_flush_packet {
	u32 size;
	u32 packet_type;
	u32 session_id;
	u32 flush_type;
};

struct hfi_cmd_session_get_property_packet {
struct cvp_hfi_cmd_session_get_property_packet {
	u32 size;
	u32 packet_type;
	u32 session_id;
@@ -462,43 +216,14 @@ struct hfi_cmd_session_get_property_packet {
	u32 rg_property_data[1];
};

struct HFI_CVP_COLOR_PLANE_INFO {
	s32 stride[HFI_MAX_PLANES];
	u32 buf_size[HFI_MAX_PLANES];
};

struct hfi_cmd_session_release_buffer_packet {
	u32 size;
	u32 packet_type;
	u32 session_id;
	u32 buffer_type;
	u32 buffer_size;
	u32 extra_data_size;
	int response_req;
	u32 num_buffers;
	u32 rg_buffer_info[1];
};

struct hfi_cmd_session_release_resources_packet {
	u32 size;
	u32 packet_type;
	u32 session_id;
};

struct hfi_msg_sys_session_abort_done_packet {
struct cvp_hfi_msg_sys_session_abort_done_packet {
	u32 size;
	u32 packet_type;
	u32 session_id;
	u32 error_type;
};

struct hfi_msg_sys_ping_ack_packet {
	u32 size;
	u32 packet_type;
	u32 client_data;
};

struct hfi_msg_sys_property_info_packet {
struct cvp_hfi_msg_sys_property_info_packet {
	u32 size;
	u32 packet_type;
	u32 num_properties;
@@ -509,17 +234,17 @@ enum session_flags {
	SESSION_PAUSE = BIT(1),
};

struct hal_session {
struct cvp_hal_session {
	struct list_head list;
	void *session_id;
	bool is_decoder;
	enum hal_video_codec codec;
	u32 codec;
	enum hal_domain domain;
	u32 flags;
	void *device;
};

struct hal_device_data {
struct cvp_hal_device_data {
	struct list_head dev_head;
	int dev_count;
};
@@ -533,12 +258,11 @@ int cvp_hfi_process_msg_packet(u32 device_id,
		struct msm_cvp_cb_info *info);

enum cvp_status cvp_hfi_process_sys_init_done_prop_read(
	struct hfi_msg_sys_init_done_packet *pkt,
	struct cvp_hfi_msg_sys_init_done_packet *pkt,
	struct cvp_hal_sys_init_done *sys_init_done);

enum cvp_status hfi_process_session_init_done_prop_read(
	struct hfi_msg_sys_session_init_done_packet *pkt,
	struct cvp_hfi_msg_sys_session_init_done_packet *pkt,
	struct cvp_hal_session_init_done *session_init_done);

#endif
+70 −1016

File changed.

Preview size limit exceeded, changes collapsed.

Loading