From c4ec13c1f477df30e5496965812754b09496cd7b Mon Sep 17 00:00:00 2001 From: "hongyu.chen" Date: Thu, 10 Nov 2022 14:39:06 +0800 Subject: [PATCH] demux: remove the modification to the uapi/linux/dvb header file. [1/3] PD#SWPL-98901 Problem: cant not modify uapi/linux/dvb header file. Solution: move the modification of uapi/linux/dvb to the new header file. Verify: no verify. Signed-off-by: hongyu.chen Change-Id: I392437e009fa19e6faff0eb389bf0c3c127fbc69 --- drivers/media/dvb-core/dmxdev.c | 4 + include/media/demux.h | 16 +- include/uapi/linux/dvb/aml_ca_ext.h | 188 +++++++++++++++++++++++ include/uapi/linux/dvb/aml_dmx_ext.h | 213 +++++++++++++++++++++++++++ include/uapi/linux/dvb/ca.h | 172 +-------------------- include/uapi/linux/dvb/dmx.h | 194 ------------------------ 6 files changed, 414 insertions(+), 373 deletions(-) create mode 100644 include/uapi/linux/dvb/aml_ca_ext.h create mode 100644 include/uapi/linux/dvb/aml_dmx_ext.h diff --git a/drivers/media/dvb-core/dmxdev.c b/drivers/media/dvb-core/dmxdev.c index d7d78e78c480..e0b1917785ce 100644 --- a/drivers/media/dvb-core/dmxdev.c +++ b/drivers/media/dvb-core/dmxdev.c @@ -30,6 +30,10 @@ #include #include +#ifdef CONFIG_AMLOGIC_DVB_COMPAT +#include +#endif + static int debug; module_param(debug, int, 0644); diff --git a/include/media/demux.h b/include/media/demux.h index 149ce6270729..c6d6dbe3a497 100644 --- a/include/media/demux.h +++ b/include/media/demux.h @@ -599,23 +599,23 @@ struct dmx_demux { #ifdef CONFIG_AMLOGIC_DVB_COMPAT int (*set_input)(struct dmx_demux *demux, int source); int (*get_ts_mem_info)(struct dmx_demux *demux, - struct dmx_ts_feed *feed, - struct dmx_mem_info *info); + void *feed, + void *info); int (*get_sec_mem_info)(struct dmx_demux *demux, - struct dmx_section_feed *feed, - struct dmx_mem_info *info); + void *feed, + void *info); int (*set_hw_source)(struct dmx_demux *demux, int hw_source); int (*get_hw_source)(struct dmx_demux *demux, int *hw_source); int (*get_dmx_mem_info)(struct dmx_demux *demux, - struct dmx_filter_mem_info *info); + void *info); int (*set_sec_mem)(struct dmx_demux *demux, - struct dmx_sec_mem *sec_mem); + void *sec_mem); int (*get_dvr_mem)(struct dmx_demux *demux, - struct dvr_mem_info *info); + void *info); int (*remap_pid)(struct dmx_demux *demux, u16 pids[2]); int (*decode_info)(struct dmx_demux *demux, - struct decoder_mem_info *info); + void *info); #endif }; diff --git a/include/uapi/linux/dvb/aml_ca_ext.h b/include/uapi/linux/dvb/aml_ca_ext.h new file mode 100644 index 000000000000..b3155f46fb68 --- /dev/null +++ b/include/uapi/linux/dvb/aml_ca_ext.h @@ -0,0 +1,188 @@ +/* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */ + +/* + * Copyright (c) 2019 Amlogic, Inc. All rights reserved. + */ + +#ifndef _AML_CA_EXIT_H_ +#define _AML_CA_EXIT_H_ + +#ifdef __KERNEL__ +#include +#else +#include "ca.h" +#endif + +/* amlogic define */ +/* CW type. */ +enum ca_cw_type { + CA_CW_DVB_CSA_EVEN, + CA_CW_DVB_CSA_ODD, + CA_CW_AES_EVEN, + CA_CW_AES_ODD, + CA_CW_AES_EVEN_IV, + CA_CW_AES_ODD_IV, + CA_CW_DES_EVEN, + CA_CW_DES_ODD, + CA_CW_SM4_EVEN, + CA_CW_SM4_ODD, + CA_CW_SM4_EVEN_IV, + CA_CW_SM4_ODD_IV, + CA_CW_TYPE_MAX +}; + +enum ca_dsc_mode { + CA_DSC_CBC = 1, + CA_DSC_ECB, + CA_DSC_IDSA +}; + +struct ca_descr_ex { + unsigned int index; + enum ca_cw_type type; + enum ca_dsc_mode mode; + int flags; +#define CA_CW_FROM_KL 1 + unsigned char cw[16]; +}; + +/* add for support sc2 ca*/ +enum ca_sc2_cmd_type { + CA_ALLOC, + CA_FREE, + CA_KEY, + CA_GET_STATUS, + CA_SET_SCB, + CA_SET_ALGO +}; + +enum ca_sc2_algo_type { + CA_ALGO_AES_ECB_CLR_END, + CA_ALGO_AES_ECB_CLR_FRONT, + CA_ALGO_AES_CBC_CLR_END, + CA_ALGO_AES_CBC_IDSA, + CA_ALGO_CSA2, + CA_ALGO_DES_SCTE41, + CA_ALGO_DES_SCTE52, + CA_ALGO_TDES_ECB_CLR_END, + CA_ALGO_CPCM_LSA_MDI_CBC, + CA_ALGO_CPCM_LSA_MDD_CBC, + CA_ALGO_CSA3, + CA_ALGO_ASA, + CA_ALGO_ASA_LIGHT, + CA_ALGO_S17_ECB_CLR_END, + CA_ALGO_S17_ECB_CTS, + CA_ALGO_UNKNOWN +}; + +enum ca_sc2_dsc_type { + CA_DSC_COMMON_TYPE, + CA_DSC_TSD_TYPE, /*just support AES descramble.*/ + CA_DSC_TSE_TYPE /*just support AES enscramble.*/ +}; + +/** + * struct ca_alloc - malloc ca slot index by params + * + * @pid: slot use pid. + * @algo: use the algorithm + * @dsc_type: CA_DSC_COMMON_TYPE:support all ca_algo_type + * CA_DSC_TSD_TYPE & CA_DSC_TSE_TYPE just support AES + * @ca_index: return slot index. + * @loop: 0: just descramble once. + * 1: descramble twice. + */ +struct ca_sc2_alloc { + unsigned int pid; + enum ca_sc2_algo_type algo; + enum ca_sc2_dsc_type dsc_type; + unsigned int ca_index; + unsigned char loop; +}; + +/** + * struct ca_sc2_free - free slot index + * + * @ca_index: need free slot index. + */ +struct ca_sc2_free { + unsigned int ca_index; +}; + +enum ca_sc2_key_type { + CA_KEY_EVEN_TYPE, + CA_KEY_EVEN_IV_TYPE, + CA_KEY_ODD_TYPE, + CA_KEY_ODD_IV_TYPE, + CA_KEY_00_TYPE, + CA_KEY_00_IV_TYPE +}; + +/** + * struct ca_sc2_key - set key slot index + * + * @ca_index: use slot index. + * @parity: key type (odd/even/key00) + * @key_index: key store index. + */ +struct ca_sc2_key { + unsigned int ca_index; + enum ca_sc2_key_type parity; + unsigned int key_index; +}; + +/** + * struct ca_sc2_scb - set scb + * + * @ca_index: use slot index. + * @ca_scb: ca_scb (2bit) + * @ca_scb_as_is:if 1, scb use original + * if 0, use ca_scb + */ +struct ca_sc2_scb { + unsigned int ca_index; + unsigned char ca_scb; + unsigned char ca_scb_as_is; +}; + +/** + * struct ca_sc2_algo - set algo + * + * @ca_index: use slot index. + * @algo: algo + */ +struct ca_sc2_algo { + unsigned int ca_index; + enum ca_sc2_algo_type algo; +}; + +/** + * struct ca_sc2_descr_ex - ca extend descriptor + * + * @params: command resource params + */ +struct ca_sc2_descr_ex { + enum ca_sc2_cmd_type cmd; + union { + struct ca_sc2_alloc alloc_params; + struct ca_sc2_free free_params; + struct ca_sc2_key key_params; + struct ca_sc2_scb scb_params; + struct ca_sc2_algo algo_params; + } params; +}; + +struct ca_pid { + unsigned int pid; + int index; /* -1 == disable*/ +}; + +/* amlogic define end */ + +/* amlogic define */ +#define CA_SET_PID _IOW('o', 135, struct ca_pid) +#define CA_SET_DESCR_EX _IOW('o', 200, struct ca_descr_ex) +#define CA_SC2_SET_DESCR_EX _IOWR('o', 201, struct ca_sc2_descr_ex) +/* amlogic define end */ + +#endif diff --git a/include/uapi/linux/dvb/aml_dmx_ext.h b/include/uapi/linux/dvb/aml_dmx_ext.h new file mode 100644 index 000000000000..e4690685d044 --- /dev/null +++ b/include/uapi/linux/dvb/aml_dmx_ext.h @@ -0,0 +1,213 @@ +/* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */ +/* + * Copyright (c) 2019 Amlogic, Inc. All rights reserved. + */ + +#ifndef _UAPI_AML_DVBDMX_EXT_H_ +#define _UAPI_AML_DVBDMX_EXT_H_ + +#ifdef __KERNEL__ +#include +#else +#include "dmx.h" +#endif + +/* amlogic define */ +#define DMX_USE_SWFILTER 0x100 + +/*bit 8~15 for mem sec_level*/ +#define DMX_MEM_SEC_LEVEL1 (1 << 10) +#define DMX_MEM_SEC_LEVEL2 (2 << 10) +#define DMX_MEM_SEC_LEVEL3 (3 << 10) +#define DMX_MEM_SEC_LEVEL4 (4 << 10) +#define DMX_MEM_SEC_LEVEL5 (5 << 10) +#define DMX_MEM_SEC_LEVEL6 (6 << 10) +#define DMX_MEM_SEC_LEVEL7 (7 << 10) +/* amlogic define end */ + +/*amlogic define*/ +enum dmx_input_source { + INPUT_DEMOD, + INPUT_LOCAL, + INPUT_LOCAL_SEC +}; + +/** + * struct dmx_non_sec_es_header - non-sec Elementary Stream (ES) Header + * + * @pts_dts_flag:[1:0], 01:pts valid, 10:dts valid + * @pts: pts value + * @dts: dts value + * @len: data len + */ +struct dmx_non_sec_es_header { + __u8 pts_dts_flag; + __u64 pts; + __u64 dts; + __u32 len; +}; + +/** + * struct dmx_sec_es_data - sec Elementary Stream (ES) + * + * @pts_dts_flag:[1:0], 01:pts valid, 10:dts valid + * @pts: pts value + * @dts: dts value + * @buf_start: buf start addr + * @buf_end: buf end addr + * @data_start: data start addr + * @data_end: data end addr + */ +struct dmx_sec_es_data { + __u8 pts_dts_flag; + __u64 pts; + __u64 dts; + __u32 buf_start; + __u32 buf_end; + __u32 data_start; + __u32 data_end; +}; + +struct dmx_sec_ts_data { + __u32 buf_start; + __u32 buf_end; + __u32 data_start; + __u32 data_end; +}; + +struct dmx_temi_data { + __u8 pts_dts_flag; + __u64 pts; + __u64 dts; + __u8 temi[188]; +}; + +enum dmx_audio_format { + AUDIO_UNKNOWN = 0, /* unknown media */ + AUDIO_MPX = 1, /* mpeg audio MP2/MP3 */ + AUDIO_AC3 = 2, /* Dolby AC3/EAC3 */ + AUDIO_AAC_ADTS = 3, /* AAC-ADTS */ + AUDIO_AAC_LOAS = 4, /* AAC-LOAS */ + AUDIO_DTS = 5, /* DTS */ + AUDIO_MAX +}; + +struct dmx_mem_info { + __u32 dmx_total_size; + __u32 dmx_buf_phy_start; + __u32 dmx_free_size; + __u32 dvb_core_total_size; + __u32 dvb_core_free_size; + __u32 wp_offset; + __u64 newest_pts; +}; + +struct dmx_sec_mem { + __u32 buff; + __u32 size; +}; + +/* amlogic define end */ + +/*amlogic define*/ +/*bit 8~15 for mem sec_level*/ +#define DMX_MEM_SEC_LEVEL1 (1 << 10) +#define DMX_MEM_SEC_LEVEL2 (2 << 10) +#define DMX_MEM_SEC_LEVEL3 (3 << 10) +#define DMX_MEM_SEC_LEVEL4 (4 << 10) +#define DMX_MEM_SEC_LEVEL5 (5 << 10) +#define DMX_MEM_SEC_LEVEL6 (6 << 10) +#define DMX_MEM_SEC_LEVEL7 (7 << 10) + +/*bit 16~23 for output */ +#define DMX_ES_OUTPUT (1 << 16) +/*set raw mode, it will send the struct dmx_sec_es_data, not es data*/ +#define DMX_OUTPUT_RAW_MODE (1 << 17) + +#define DMX_TEMI_FLAGS (1 << 18) + +/*24~31 one byte for audio type, dmx_audio_format_t*/ +#define DMX_AUDIO_FORMAT_BIT 24 + +/* amlogic define end */ + +/* amlogic define */ +enum { + DMA_0 = 0, + DMA_1, + DMA_2, + DMA_3, + DMA_4, + DMA_5, + DMA_6, + DMA_7, + FRONTEND_TS0 = 32, + FRONTEND_TS1, + FRONTEND_TS2, + FRONTEND_TS3, + FRONTEND_TS4, + FRONTEND_TS5, + FRONTEND_TS6, + FRONTEND_TS7, + DMA_0_1 = 64, + DMA_1_1, + DMA_2_1, + DMA_3_1, + DMA_4_1, + DMA_5_1, + DMA_6_1, + DMA_7_1, + FRONTEND_TS0_1 = 96, + FRONTEND_TS1_1, + FRONTEND_TS2_1, + FRONTEND_TS3_1, + FRONTEND_TS4_1, + FRONTEND_TS5_1, + FRONTEND_TS6_1, + FRONTEND_TS7_1, +}; + +/*define filter mem_info type*/ +enum { + DMX_VIDEO_TYPE = 0, + DMX_AUDIO_TYPE, + DMX_SUBTITLE_TYPE, + DMX_TELETEXT_TYPE, + DMX_SECTION_TYPE, +}; + +struct filter_mem_info { + __u32 type; + __u32 pid; + struct dmx_mem_info filter_info; +}; + +struct dmx_filter_mem_info { + __u32 filter_num; + struct filter_mem_info info[40]; +}; + +struct dvr_mem_info { + __u32 wp_offset; +}; + +struct decoder_mem_info { + __u32 rp_phy; +}; + +/* amlogic define end */ + +/* amlogic define */ +#define DMX_SET_INPUT _IO('o', 80) +#define DMX_GET_MEM_INFO _IOR('o', 81, struct dmx_mem_info) +#define DMX_SET_HW_SOURCE _IO('o', 82) +#define DMX_GET_HW_SOURCE _IOR('o', 83, int) +#define DMX_GET_FILTER_MEM_INFO _IOR('o', 84, struct dmx_filter_mem_info) +/*just for dvr sec mem, please call before DMX_SET_PES_FILTER*/ +#define DMX_SET_SEC_MEM _IOW('o', 85, struct dmx_sec_mem) +#define DMX_GET_DVR_MEM _IOR('o', 86, struct dvr_mem_info) +#define DMX_REMAP_PID _IOR('o', 87, __u16[2]) +#define DMX_SET_DECODE_INFO _IOW('o', 88, struct decoder_mem_info) +/* amlogic define end */ + +#endif diff --git a/include/uapi/linux/dvb/ca.h b/include/uapi/linux/dvb/ca.h index d084a26d102f..e00a4fb2c696 100644 --- a/include/uapi/linux/dvb/ca.h +++ b/include/uapi/linux/dvb/ca.h @@ -132,172 +132,6 @@ struct ca_descr { unsigned char cw[8]; }; -/* amlogic define */ -/* CW type. */ -enum ca_cw_type { - CA_CW_DVB_CSA_EVEN, - CA_CW_DVB_CSA_ODD, - CA_CW_AES_EVEN, - CA_CW_AES_ODD, - CA_CW_AES_EVEN_IV, - CA_CW_AES_ODD_IV, - CA_CW_DES_EVEN, - CA_CW_DES_ODD, - CA_CW_SM4_EVEN, - CA_CW_SM4_ODD, - CA_CW_SM4_EVEN_IV, - CA_CW_SM4_ODD_IV, - CA_CW_TYPE_MAX -}; - -enum ca_dsc_mode { - CA_DSC_CBC = 1, - CA_DSC_ECB, - CA_DSC_IDSA -}; - -struct ca_descr_ex { - unsigned int index; - enum ca_cw_type type; - enum ca_dsc_mode mode; - int flags; -#define CA_CW_FROM_KL 1 - unsigned char cw[16]; -}; - -/* add for support sc2 ca*/ -enum ca_sc2_cmd_type { - CA_ALLOC, - CA_FREE, - CA_KEY, - CA_GET_STATUS, - CA_SET_SCB, - CA_SET_ALGO -}; - -enum ca_sc2_algo_type { - CA_ALGO_AES_ECB_CLR_END, - CA_ALGO_AES_ECB_CLR_FRONT, - CA_ALGO_AES_CBC_CLR_END, - CA_ALGO_AES_CBC_IDSA, - CA_ALGO_CSA2, - CA_ALGO_DES_SCTE41, - CA_ALGO_DES_SCTE52, - CA_ALGO_TDES_ECB_CLR_END, - CA_ALGO_CPCM_LSA_MDI_CBC, - CA_ALGO_CPCM_LSA_MDD_CBC, - CA_ALGO_CSA3, - CA_ALGO_ASA, - CA_ALGO_ASA_LIGHT, - CA_ALGO_S17_ECB_CLR_END, - CA_ALGO_S17_ECB_CTS, - CA_ALGO_UNKNOWN -}; - -enum ca_sc2_dsc_type { - CA_DSC_COMMON_TYPE, - CA_DSC_TSD_TYPE, /*just support AES descramble.*/ - CA_DSC_TSE_TYPE /*just support AES enscramble.*/ -}; - -/** - * struct ca_alloc - malloc ca slot index by params - * - * @pid: slot use pid. - * @algo: use the algorithm - * @dsc_type: CA_DSC_COMMON_TYPE:support all ca_algo_type - * CA_DSC_TSD_TYPE & CA_DSC_TSE_TYPE just support AES - * @ca_index: return slot index. - * @loop: 0: just descramble once. - * 1: descramble twice. - */ -struct ca_sc2_alloc { - unsigned int pid; - enum ca_sc2_algo_type algo; - enum ca_sc2_dsc_type dsc_type; - unsigned int ca_index; - unsigned char loop; -}; - -/** - * struct ca_sc2_free - free slot index - * - * @ca_index: need free slot index. - */ -struct ca_sc2_free { - unsigned int ca_index; -}; - -enum ca_sc2_key_type { - CA_KEY_EVEN_TYPE, - CA_KEY_EVEN_IV_TYPE, - CA_KEY_ODD_TYPE, - CA_KEY_ODD_IV_TYPE, - CA_KEY_00_TYPE, - CA_KEY_00_IV_TYPE -}; - -/** - * struct ca_sc2_key - set key slot index - * - * @ca_index: use slot index. - * @parity: key type (odd/even/key00) - * @key_index: key store index. - */ -struct ca_sc2_key { - unsigned int ca_index; - enum ca_sc2_key_type parity; - unsigned int key_index; -}; - -/** - * struct ca_sc2_scb - set scb - * - * @ca_index: use slot index. - * @ca_scb: ca_scb (2bit) - * @ca_scb_as_is:if 1, scb use original - * if 0, use ca_scb - */ -struct ca_sc2_scb { - unsigned int ca_index; - unsigned char ca_scb; - unsigned char ca_scb_as_is; -}; - -/** - * struct ca_sc2_algo - set algo - * - * @ca_index: use slot index. - * @algo: algo - */ -struct ca_sc2_algo { - unsigned int ca_index; - enum ca_sc2_algo_type algo; -}; - -/** - * struct ca_sc2_descr_ex - ca externd descriptor - * - * @params: command resource params - */ -struct ca_sc2_descr_ex { - enum ca_sc2_cmd_type cmd; - union { - struct ca_sc2_alloc alloc_params; - struct ca_sc2_free free_params; - struct ca_sc2_key key_params; - struct ca_sc2_scb scb_params; - struct ca_sc2_algo algo_params; - } params; -}; - -struct ca_pid { - unsigned int pid; - int index; /* -1 == disable*/ -}; - -/* amlogic define end */ - #define CA_RESET _IO('o', 128) #define CA_GET_CAP _IOR('o', 129, struct ca_caps) #define CA_GET_SLOT_INFO _IOR('o', 130, struct ca_slot_info) @@ -305,11 +139,7 @@ struct ca_pid { #define CA_GET_MSG _IOR('o', 132, struct ca_msg) #define CA_SEND_MSG _IOW('o', 133, struct ca_msg) #define CA_SET_DESCR _IOW('o', 134, struct ca_descr) -/* amlogic define */ -#define CA_SET_PID _IOW('o', 135, struct ca_pid) -#define CA_SET_DESCR_EX _IOW('o', 200, struct ca_descr_ex) -#define CA_SC2_SET_DESCR_EX _IOWR('o', 201, struct ca_sc2_descr_ex) -/* amlogic define end */ + #if !defined(__KERNEL__) /* This is needed for legacy userspace support */ diff --git a/include/uapi/linux/dvb/dmx.h b/include/uapi/linux/dvb/dmx.h index 0aa45fdb96d8..59562db83c76 100644 --- a/include/uapi/linux/dvb/dmx.h +++ b/include/uapi/linux/dvb/dmx.h @@ -177,104 +177,8 @@ struct dmx_sct_filter_params { #define DMX_CHECK_CRC 1 #define DMX_ONESHOT 2 #define DMX_IMMEDIATE_START 4 -/* amlogic define */ -#define DMX_USE_SWFILTER 0x100 - -/*bit 8~15 for mem sec_level*/ -#define DMX_MEM_SEC_LEVEL1 (1 << 10) -#define DMX_MEM_SEC_LEVEL2 (2 << 10) -#define DMX_MEM_SEC_LEVEL3 (3 << 10) -#define DMX_MEM_SEC_LEVEL4 (4 << 10) -#define DMX_MEM_SEC_LEVEL5 (5 << 10) -#define DMX_MEM_SEC_LEVEL6 (6 << 10) -#define DMX_MEM_SEC_LEVEL7 (7 << 10) -/* amlogic define end */ }; -/*amlogic define*/ -enum dmx_input_source { - INPUT_DEMOD, - INPUT_LOCAL, - INPUT_LOCAL_SEC -}; - -/** - * struct dmx_non_sec_es_header - non-sec Elementary Stream (ES) Header - * - * @pts_dts_flag:[1:0], 01:pts valid, 10:dts valid - * @pts: pts value - * @dts: dts value - * @len: data len - */ -struct dmx_non_sec_es_header { - __u8 pts_dts_flag; - __u64 pts; - __u64 dts; - __u32 len; -}; - -/** - * struct dmx_sec_es_data - sec Elementary Stream (ES) - * - * @pts_dts_flag:[1:0], 01:pts valid, 10:dts valid - * @pts: pts value - * @dts: dts value - * @buf_start: buf start addr - * @buf_end: buf end addr - * @data_start: data start addr - * @data_end: data end addr - */ -struct dmx_sec_es_data { - __u8 pts_dts_flag; - __u64 pts; - __u64 dts; - __u32 buf_start; - __u32 buf_end; - __u32 data_start; - __u32 data_end; -}; - -struct dmx_sec_ts_data { - __u32 buf_start; - __u32 buf_end; - __u32 data_start; - __u32 data_end; -}; - -struct dmx_temi_data { - __u8 pts_dts_flag; - __u64 pts; - __u64 dts; - __u8 temi[188]; -}; - -enum dmx_audio_format { - AUDIO_UNKNOWN = 0, /* unknown media */ - AUDIO_MPX = 1, /* mpeg audio MP2/MP3 */ - AUDIO_AC3 = 2, /* Dolby AC3/EAC3 */ - AUDIO_AAC_ADTS = 3, /* AAC-ADTS */ - AUDIO_AAC_LOAS = 4, /* AAC-LOAS */ - AUDIO_DTS = 5, /* DTS */ - AUDIO_MAX -}; - -struct dmx_mem_info { - __u32 dmx_total_size; - __u32 dmx_buf_phy_start; - __u32 dmx_free_size; - __u32 dvb_core_total_size; - __u32 dvb_core_free_size; - __u32 wp_offset; - __u64 newest_pts; -}; - -struct dmx_sec_mem { - __u32 buff; - __u32 size; -}; - -/* amlogic define end */ - /** * struct dmx_pes_filter_params - Specifies Packetized Elementary Stream (PES) * filter parameters. @@ -291,26 +195,6 @@ struct dmx_pes_filter_params { enum dmx_output output; enum dmx_ts_pes pes_type; __u32 flags; - /*amlogic define*/ -/*bit 8~15 for mem sec_level*/ -#define DMX_MEM_SEC_LEVEL1 (1 << 10) -#define DMX_MEM_SEC_LEVEL2 (2 << 10) -#define DMX_MEM_SEC_LEVEL3 (3 << 10) -#define DMX_MEM_SEC_LEVEL4 (4 << 10) -#define DMX_MEM_SEC_LEVEL5 (5 << 10) -#define DMX_MEM_SEC_LEVEL6 (6 << 10) -#define DMX_MEM_SEC_LEVEL7 (7 << 10) - -/*bit 16~23 for output */ -#define DMX_ES_OUTPUT (1 << 16) -/*set raw mode, it will send the struct dmx_sec_es_data, not es data*/ -#define DMX_OUTPUT_RAW_MODE (1 << 17) -#define DMX_TEMI_FLAGS (1 << 18) - -/*24~31 one byte for audio type, dmx_audio_format_t*/ -#define DMX_AUDIO_FORMAT_BIT 24 - -/* amlogic define end */ }; /** @@ -416,72 +300,6 @@ struct dmx_exportbuffer { __s32 fd; }; -/* amlogic define */ -enum { - DMA_0 = 0, - DMA_1, - DMA_2, - DMA_3, - DMA_4, - DMA_5, - DMA_6, - DMA_7, - FRONTEND_TS0 = 32, - FRONTEND_TS1, - FRONTEND_TS2, - FRONTEND_TS3, - FRONTEND_TS4, - FRONTEND_TS5, - FRONTEND_TS6, - FRONTEND_TS7, - DMA_0_1 = 64, - DMA_1_1, - DMA_2_1, - DMA_3_1, - DMA_4_1, - DMA_5_1, - DMA_6_1, - DMA_7_1, - FRONTEND_TS0_1 = 96, - FRONTEND_TS1_1, - FRONTEND_TS2_1, - FRONTEND_TS3_1, - FRONTEND_TS4_1, - FRONTEND_TS5_1, - FRONTEND_TS6_1, - FRONTEND_TS7_1, -}; - -/*define filter mem_info type*/ -enum { - DMX_VIDEO_TYPE = 0, - DMX_AUDIO_TYPE, - DMX_SUBTITLE_TYPE, - DMX_TELETEXT_TYPE, - DMX_SECTION_TYPE, -}; - -struct filter_mem_info { - __u32 type; - __u32 pid; - struct dmx_mem_info filter_info; -}; - -struct dmx_filter_mem_info { - __u32 filter_num; - struct filter_mem_info info[40]; -}; - -struct dvr_mem_info { - __u32 wp_offset; -}; - -struct decoder_mem_info { - __u32 rp_phy; -}; - -/* amlogic define end */ - #define DMX_START _IO('o', 41) #define DMX_STOP _IO('o', 42) #define DMX_SET_FILTER _IOW('o', 43, struct dmx_sct_filter_params) @@ -507,16 +325,4 @@ typedef struct dmx_filter dmx_filter_t; #define DMX_QBUF _IOWR('o', 63, struct dmx_buffer) #define DMX_DQBUF _IOWR('o', 64, struct dmx_buffer) -/* amlogic define */ -#define DMX_SET_INPUT _IO('o', 80) -#define DMX_GET_MEM_INFO _IOR('o', 81, struct dmx_mem_info) -#define DMX_SET_HW_SOURCE _IO('o', 82) -#define DMX_GET_HW_SOURCE _IOR('o', 83, int) -#define DMX_GET_FILTER_MEM_INFO _IOR('o', 84, struct dmx_filter_mem_info) -/*just for dvr sec mem, please call before DMX_SET_PES_FILTER*/ -#define DMX_SET_SEC_MEM _IOW('o', 85, struct dmx_sec_mem) -#define DMX_GET_DVR_MEM _IOR('o', 86, struct dvr_mem_info) -#define DMX_REMAP_PID _IOR('o', 87, __u16[2]) -#define DMX_SET_DECODE_INFO _IOW('o', 88, struct decoder_mem_info) -/* amlogic define end */ #endif /* _DVBDMX_H_ */