diff options
author | Andreas Oberritter <devnull@localhost> | 2003-03-17 06:17:32 +0000 |
---|---|---|
committer | Andreas Oberritter <devnull@localhost> | 2003-03-17 06:17:32 +0000 |
commit | d8f67b42a822587316ffab72e131d9566bd6dd33 (patch) | |
tree | 97c29ece917044ddefd198c7e54d1adc9c621fb0 /linux/drivers | |
parent | c0e3416b9815d711c1dece55c3abbba0acc60a7d (diff) | |
download | mediapointer-dvb-s2-d8f67b42a822587316ffab72e131d9566bd6dd33.tar.gz mediapointer-dvb-s2-d8f67b42a822587316ffab72e131d9566bd6dd33.tar.bz2 |
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 ;)
Diffstat (limited to 'linux/drivers')
-rw-r--r-- | linux/drivers/media/dvb/ttpci/av7110.c | 16 |
1 files changed, 10 insertions, 6 deletions
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"); |