[media] cx23885, altera-ci: enable all PID's less than 0x20 in hardware PID filter
authorIgor M. Liplianin <liplianin@me.by>
Tue, 25 Jan 2011 20:08:00 +0000 (17:08 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 21 Mar 2011 23:32:18 +0000 (20:32 -0300)
It takes too long time to scan due to low symbol rate PID's
like PAT, PMT, CAT, NIT.
For that matter we enabled permanently all PID's
less 0x20 in hardware PID filter for NetUP Dual DVB-T/C CI RF card
to combine rates.

Signed-off-by: Igor M. Liplianin <liplianin@netup.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/cx23885/altera-ci.c

index e5c0873aca15d1977b0f7bfbaa5531312755e51c..ad6cc68d4b0cdc462b21aacbc3cebdec4bfeae27 100644 (file)
@@ -521,7 +521,8 @@ static void altera_pid_control(struct netup_hw_pid_filter *pid_filt,
        struct fpga_internal *inter = pid_filt->internal;
        u8 store = 0;
 
-       if (pid == 0x2000)
+       /* pid 0-0x1f always enabled, don't touch them */
+       if ((pid == 0x2000) || (pid < 0x20))
                return;
 
        mutex_lock(&inter->fpga_mutex);
@@ -567,8 +568,9 @@ static void altera_toggle_fullts_streaming(struct netup_hw_pid_filter *pid_filt,
 
                netup_fpga_op_rw(inter, NETUP_CI_PID_ADDR1,
                                ((i >> 8) & 0x03) | (pid_filt->nr << 2), 0);
-
-               netup_fpga_op_rw(inter, NETUP_CI_PID_DATA, store, 0);
+               /* pid 0-0x1f always enabled */
+               netup_fpga_op_rw(inter, NETUP_CI_PID_DATA,
+                               (i > 3 ? store : 0), 0);
        }
 
        mutex_unlock(&inter->fpga_mutex);