From d8f67b42a822587316ffab72e131d9566bd6dd33 Mon Sep 17 00:00:00 2001 From: Andreas Oberritter Date: Mon, 17 Mar 2003 06:17:32 +0000 Subject: added module parameter "hw_sections" 0: get ts section packets from arm and filter them using the software demux 1: let the arm filter sections in hardware (default) software demux is more stable - it does not crash the arm under high load ;) --- linux/drivers/media/dvb/ttpci/av7110.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'linux/drivers/media/dvb/ttpci') diff --git a/linux/drivers/media/dvb/ttpci/av7110.c b/linux/drivers/media/dvb/ttpci/av7110.c index a50a718ce..6cc8bcfe4 100644 --- a/linux/drivers/media/dvb/ttpci/av7110.c +++ b/linux/drivers/media/dvb/ttpci/av7110.c @@ -103,6 +103,7 @@ static int av7110_debug = 0; static int vidmode=CVBS_RGB_OUT; static int pids_off; static int adac=DVB_ADAC_TI; +static int hw_sections = 1; int av7110_num = 0; @@ -2683,12 +2684,14 @@ StartHWFilter(struct dvb_demux_filter *dvbdmxfilter) DEB_EE(("av7110: %p\n",av7110)); if (dvbdmxfilter->type==DMX_TYPE_SEC) { - buf[4]=(dvbdmxfilter->filter.filter_value[0]<<8)| - dvbdmxfilter->maskandmode[0]; - for (i=3; i<18; i++) - buf[i+4-2]=(dvbdmxfilter->filter.filter_value[i]<<8)| - dvbdmxfilter->maskandmode[i]; - mode=4; + if (hw_sections) { + buf[4]=(dvbdmxfilter->filter.filter_value[0]<<8)| + dvbdmxfilter->maskandmode[0]; + for (i=3; i<18; i++) + buf[i+4-2]=(dvbdmxfilter->filter.filter_value[i]<<8)| + dvbdmxfilter->maskandmode[i]; + mode=4; + } } else if ((dvbdmxfeed->ts_type & TS_PACKET) && !(dvbdmxfeed->ts_type & TS_PAYLOAD_ONLY)) @@ -4365,4 +4368,5 @@ MODULE_PARM(av7110_debug,"i"); MODULE_PARM(vidmode,"i"); MODULE_PARM(pids_off,"i"); MODULE_PARM(adac,"i"); +MODULE_PARM(hw_sections, "i"); -- cgit v1.2.3