diff options
author | Holger Waechtler <devnull@localhost> | 2003-11-23 14:32:32 +0000 |
---|---|---|
committer | Holger Waechtler <devnull@localhost> | 2003-11-23 14:32:32 +0000 |
commit | e6d8c4f875f7cc47120e01d7a405e79af1a076d7 (patch) | |
tree | 064121389512ae7d34047371b13b7736ccad51a9 /linux/drivers/media | |
parent | 881cd9761adf020d8ba272825d0d14ecb6080ab1 (diff) | |
download | mediapointer-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.c | 17 |
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; |