116 files changed, 25845 insertions, 36303 deletions
diff --git a/drivers/stream_input/parser/hw_demux/aml_dvb.h b/drivers/stream_input/parser/hw_demux/aml_dvb.h index 604be3a..f936f15 100644 --- a/drivers/stream_input/parser/hw_demux/aml_dvb.h +++ b/drivers/stream_input/parser/hw_demux/aml_dvb.h @@ -49,7 +49,6 @@ #include <dvb_filter.h> #include <dvb_net.h> #include <dvb_ringbuffer.h> -#include <dvb_frontend.h> #include <linux/of.h> #include <linux/pinctrl/consumer.h> @@ -213,9 +212,16 @@ struct aml_dmx { unsigned long pes_pages; unsigned long pes_pages_map; int pes_buf_len; - unsigned long sub_pages; - unsigned long sub_pages_map; + union { + unsigned long sub_pages; + unsigned long sub_buf_base; + }; + union { + unsigned long sub_pages_map; + u8 *sub_buf_base_virt; + }; int sub_buf_len; + struct aml_channel channel[CHANNEL_COUNT+1]; struct aml_filter filter[FILTER_COUNT+1]; irq_handler_t irq_handler; @@ -301,12 +307,6 @@ struct aml_swfilter { int track_dmx; }; -struct aml_tuner { - struct tuner_config cfg; - unsigned int i2c_adapter_id; - struct i2c_adapter *i2c_adp; -}; - struct aml_dvb { struct dvb_device dvb_dev; int ts_in_total_count; @@ -334,6 +334,16 @@ struct aml_dvb { unsigned int tuner_cur; struct aml_tuner *tuners; bool tuner_attached; + + /*bufs for dmx shared*/ + unsigned long pes_pages; + unsigned long pes_pages_map; + int pes_buf_len; + unsigned long sub_pages; + unsigned long sub_pages_map; + int sub_buf_len; + + }; @@ -359,6 +369,9 @@ extern void dmx_free_chan(struct aml_dmx *dmx, int cid); extern int dmx_get_ts_serial(enum aml_ts_source_t src); +extern int dmx_get_sub_buffer(unsigned long *base, unsigned long *virt); +extern int dmx_init_sub_buffer(struct aml_dmx *dmx, unsigned long base, unsigned long virt); + /*AMLogic dsc interface*/ extern int dsc_set_pid(struct aml_dsc_channel *ch, int pid); extern int dsc_set_key(struct aml_dsc_channel *ch, int flags, @@ -386,6 +399,7 @@ extern struct aml_dvb *aml_get_dvb_device(void); extern int aml_regist_dmx_class(void); extern int aml_unregist_dmx_class(void); +extern void aml_register_parser_mconfig(void); struct devio_aml_platform_data { int (*io_setup)(void *); |