summaryrefslogtreecommitdiff
path: root/linux/drivers/media
diff options
context:
space:
mode:
authorHolger Waechtler <devnull@localhost>2003-11-23 14:32:32 +0000
committerHolger Waechtler <devnull@localhost>2003-11-23 14:32:32 +0000
commite6d8c4f875f7cc47120e01d7a405e79af1a076d7 (patch)
tree064121389512ae7d34047371b13b7736ccad51a9 /linux/drivers/media
parent881cd9761adf020d8ba272825d0d14ecb6080ab1 (diff)
downloadmediapointer-dvb-s2-e6d8c4f875f7cc47120e01d7a405e79af1a076d7.tar.gz
mediapointer-dvb-s2-e6d8c4f875f7cc47120e01d7a405e79af1a076d7.tar.bz2
Applied patch by Vincenzo Di Massa to allow full-bandwidth feeds
Diffstat (limited to 'linux/drivers/media')
-rw-r--r--linux/drivers/media/dvb/b2c2/skystar2.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/linux/drivers/media/dvb/b2c2/skystar2.c b/linux/drivers/media/dvb/b2c2/skystar2.c
index 79aae069f..f489539c1 100644
--- a/linux/drivers/media/dvb/b2c2/skystar2.c
+++ b/linux/drivers/media/dvb/b2c2/skystar2.c
@@ -1108,9 +1108,9 @@ static int CheckPID(struct adapter *adapter, u16 pid)
if (pid == 0x1FFF)
return 0;
-
+
for (i = 0; i < 0x27; i++) {
- if (adapter->pids[i] == pid)
+ if (adapter->pids[i] == pid || adapter->pids[i] == 0x2000)
return 1;
}
@@ -1293,11 +1293,14 @@ static void ResetHardwarePIDFilter(struct adapter *adapter)
static void OpenWholeBandwidth(struct adapter *adapter)
{
+ dprintk("%s:\n", __FUNCTION__);
+
PidSetGroupPID(adapter, 0);
PidSetGroupMASK(adapter, 0);
FilterEnableMaskFilter(adapter, 1);
+
}
static int AddHwPID(struct adapter *adapter, u32 pid)
@@ -1423,7 +1426,7 @@ static int AddPID(struct adapter *adapter, u32 pid)
dprintk("%s: pid=%d\n", __FUNCTION__, pid);
- if (pid > 0x1FFE)
+ if (pid > 0x1FFE && pid != 0x2000)
return -1;
if (CheckPID(adapter, pid) == 1)
@@ -1434,7 +1437,7 @@ static int AddPID(struct adapter *adapter, u32 pid)
{
adapter->pids[i] = pid;
- if (AddHwPID(adapter, pid) < 0)
+ if (pid == 0x2000 || AddHwPID(adapter, pid) < 0)
OpenWholeBandwidth(adapter);
return 1;
@@ -2453,14 +2456,14 @@ static int skystar2_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
if (!adapter->i2c_bus)
return -ENOMEM;
-
+
dvb_add_frontend_ioctls(adapter->dvb_adapter, flexcop_diseqc_ioctl, NULL, adapter);
dvbdemux = &adapter->demux;
dvbdemux->priv = (void *) adapter;
- dvbdemux->filternum = 32;
- dvbdemux->feednum = 32;
+ dvbdemux->filternum = 256;
+ dvbdemux->feednum = 256;
dvbdemux->start_feed = dvb_start_feed;
dvbdemux->stop_feed = dvb_stop_feed;
dvbdemux->write_to_decoder = 0;