diff mbox

[9/9,v3] cx23885, altera-ci: enable all PID's less than 0x20 in hardware PID filter.

Message ID 4d3f376c.857a0e0a.122c.4795@mx.google.com (mailing list archive)
State Accepted
Headers show

Commit Message

Igor M. Liplianin Jan. 25, 2011, 8:08 p.m. UTC
None
diff mbox

Patch

diff --git a/drivers/media/video/cx23885/altera-ci.c b/drivers/media/video/cx23885/altera-ci.c
index e5c0873..ad6cc68 100644
--- a/drivers/media/video/cx23885/altera-ci.c
+++ b/drivers/media/video/cx23885/altera-ci.c
@@ -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);