summaryrefslogtreecommitdiff
path: root/linux/drivers
diff options
context:
space:
mode:
authorAndreas Oberritter <devnull@localhost>2003-03-17 06:17:32 +0000
committerAndreas Oberritter <devnull@localhost>2003-03-17 06:17:32 +0000
commitd8f67b42a822587316ffab72e131d9566bd6dd33 (patch)
tree97c29ece917044ddefd198c7e54d1adc9c621fb0 /linux/drivers
parentc0e3416b9815d711c1dece55c3abbba0acc60a7d (diff)
downloadmediapointer-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.c16
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");