30 #include <linux/module.h>
33 #include <linux/slab.h>
34 #include <linux/poll.h>
36 #include <asm/div64.h>
37 #include <linux/pci.h>
51 size_t count, loff_t *ppos)
67 static ssize_t ts_read(
struct file *file,
char *buf,
68 size_t count, loff_t *ppos)
112 static void swap_buffer(
u32 *
p,
u32 len)
122 static u8 fill_ts[] = { 0x47, 0x1f, 0xff, 0x10,
TS_FILLER };
138 swap_buffer(buf, len);
140 if (dev->
ci.en && chan->
number == 2) {
142 if (
memcmp(buf, fill_ts,
sizeof fill_ts) != 0) {
159 if (ok % 100 == 0 && overflow)
160 printk(
KERN_WARNING "%s: ok %u overflow %u dropped %u\n", __func__, ok, overflow, stripped);
189 swap_buffer((
u32 *)buf, alen);
201 if (chan->
users == 0) {
202 if (!chan->
dev->cmd_timeout_workaround || !chan->
running)
206 return ++chan->
users;
217 if (!chan->
dev->cmd_timeout_workaround)
257 dvbdemux->
dmx.add_frontend(&dvbdemux->
dmx, hw_frontend);
259 dvbdemux->
dmx.add_frontend(&dvbdemux->
dmx, mem_frontend);
260 return dvbdemux->
dmx.connect_frontend(&dvbdemux->
dmx, hw_frontend);