From e6d8c4f875f7cc47120e01d7a405e79af1a076d7 Mon Sep 17 00:00:00 2001 From: Holger Waechtler Date: Sun, 23 Nov 2003 14:32:32 +0000 Subject: Applied patch by Vincenzo Di Massa to allow full-bandwidth feeds --- linux/drivers/media/dvb/b2c2/skystar2.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'linux/drivers/media') 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; -- cgit v1.2.3