aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Griffin <peter.griffin@linaro.org>2015-07-21 12:02:39 +0100
committerPeter Griffin <peter.griffin@linaro.org>2015-07-21 12:02:39 +0100
commit1994289669f4db8dd5007ea17b25f3807598f212 (patch)
tree015d594fd6368e5ede0da5f92bda245fc5739122
parentfa0831d4da168dba34dfef8951ad5442a182363a (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.c15
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,