diff options
author | Peter Griffin <peter.griffin@linaro.org> | 2015-07-21 12:02:39 +0100 |
---|---|---|
committer | Peter Griffin <peter.griffin@linaro.org> | 2015-07-21 12:02:39 +0100 |
commit | 1994289669f4db8dd5007ea17b25f3807598f212 (patch) | |
tree | 015d594fd6368e5ede0da5f92bda245fc5739122 | |
parent | fa0831d4da168dba34dfef8951ad5442a182363a (diff) |
c8sectpfe-core: Add 8192 pid removal supportv4.1-c8sectpfe-v1
Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
-rw-r--r-- | drivers/media/tsin/c8sectpfe/c8sectpfe-core.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/drivers/media/tsin/c8sectpfe/c8sectpfe-core.c b/drivers/media/tsin/c8sectpfe/c8sectpfe-core.c index 59ef191d0c66..5ab528ef2990 100644 --- a/drivers/media/tsin/c8sectpfe/c8sectpfe-core.c +++ b/drivers/media/tsin/c8sectpfe/c8sectpfe-core.c @@ -184,14 +184,12 @@ static int c8sectpfe_start_feed(struct dvb_demux_feed *dvbdmxfeed) bitmap = (unsigned long *) channel->pid_buffer_aligned; + /* 8192 is a special PID */ if (dvbdmxfeed->pid == 8192) { tmp = readl(fei->io + C8SECTPFE_IB_PID_SET(channel->tsin_id)); - - printk("\n\n ** tmp = 0x%x\n",tmp); tmp &= ~C8SECTPFE_PID_ENABLE; - printk("\n\n after disable tmp = 0x%x\n",tmp); - writel(tmp, fei->io + C8SECTPFE_IB_PID_SET(channel->tsin_id)); + } else { bitmap_set(bitmap, dvbdmxfeed->pid, 1); } @@ -281,7 +279,14 @@ static int c8sectpfe_stop_feed(struct dvb_demux_feed *dvbdmxfeed) channel = fei->channel_data[stdemux->tsin_index]; bitmap = (unsigned long *) channel->pid_buffer_aligned; - bitmap_clear(bitmap, dvbdmxfeed->pid, 1); + + if (dvbdmxfeed->pid == 8192) { + tmp = readl(fei->io + C8SECTPFE_IB_PID_SET(channel->tsin_id)); + tmp |= C8SECTPFE_PID_ENABLE; + writel(tmp, fei->io + C8SECTPFE_IB_PID_SET(channel->tsin_id)); + } else { + bitmap_clear(bitmap, dvbdmxfeed->pid, 1); + } /* manage cache so data is visible to HW */ dma_sync_single_for_device(fei->dev, |