summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorMike Isely <isely@pobox.com>2006-03-25 16:53:15 -0600
committerMike Isely <isely@pobox.com>2006-03-25 16:53:15 -0600
commit91ae35c1daa731973eb99fd8d422e60a6cb4ea5d (patch)
tree08b400f80e8264926f62b2d7f39726712d7da760 /linux
parent441ebaf82f5bb501cb77fe2316de11be5d90952e (diff)
downloadmediapointer-dvb-s2-91ae35c1daa731973eb99fd8d422e60a6cb4ea5d.tar.gz
mediapointer-dvb-s2-91ae35c1daa731973eb99fd8d422e60a6cb4ea5d.tar.bz2
Adjust cx23416 operation in pvrusb2 to work with model 24xxx hardware
From: Mike Isely <isely@pobox.com> This applies some changes to the logic which controls the cx23416 in pvrusb2. This is required in order for newer model 24xxx hardware to operate correctly and is backwards compatible with older hardware. Signed-off-by: Mike Isely <isely@pobox.com>
Diffstat (limited to 'linux')
-rw-r--r--linux/drivers/media/video/pvrusb2/pvrusb2-encoder.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/linux/drivers/media/video/pvrusb2/pvrusb2-encoder.c b/linux/drivers/media/video/pvrusb2/pvrusb2-encoder.c
index 97931d3c4..553bd2d7b 100644
--- a/linux/drivers/media/video/pvrusb2/pvrusb2-encoder.c
+++ b/linux/drivers/media/video/pvrusb2/pvrusb2-encoder.c
@@ -294,24 +294,25 @@ int pvr2_encoder_configure(struct pvr2_hdw *hdw)
/* set stream output port. */
ret |= pvr2_write_encoder_vcmd(hdw, CX2341X_ENC_SET_OUTPUT_PORT, 2,
- 0x01, 0x01);
+ 0x01, 0x02);
/* set the Program Index Information. We want I,P,B frames (max 400) */
ret |= pvr2_write_encoder_vcmd(hdw, CX2341X_ENC_SET_PGM_INDEX_INFO, 2,
0x07, 0x0190);
- /* NOTE : windows driver sends some 0xdc */
-
- /* Mike Isely <isely@pobox.com> 19-Jun-2005 I've confirmed
- that the Windows driver seems to issue these commands, but
- right now I have no idea what these do (and neither does
- the ivtv driver). But, if I leave them in, then mplayer
- goes nuts with xrun errors. So for now we don't do this.
- It sure would be nice to know what these are for. */
-#if 0
- ret |= pvr2_write_encoder_vcmd(hdw, 0xdc, 1, 5);
- ret |= pvr2_write_encoder_vcmd(hdw, 0xdc, 2, 3, 1);
- ret |= pvr2_write_encoder_vcmd(hdw, 0xdc, 1, 8);
+ /* NOTE : windows driver sends these */
+ /* Mike Isely <isely@pobox.com> 7-Mar-2006 The windows driver
+ sends the following commands but if we do the same then
+ many apps are no longer able to read the video stream.
+ Leaving these out seems to do no harm at all, so they're
+ commented out for that reason. */
+#ifdef notdef
+ ret |= pvr2_write_encoder_vcmd(hdw, CX2341X_ENC_MISC,4, 5,0,0,0);
+ ret |= pvr2_write_encoder_vcmd(hdw, CX2341X_ENC_MISC,4, 3,1,0,0);
+ ret |= pvr2_write_encoder_vcmd(hdw, CX2341X_ENC_MISC,4, 8,0,0,0);
+ ret |= pvr2_write_encoder_vcmd(hdw, CX2341X_ENC_MISC,4, 4,1,0,0);
+ ret |= pvr2_write_encoder_vcmd(hdw, CX2341X_ENC_MISC,4, 0,3,0,0);
+ ret |= pvr2_write_encoder_vcmd(hdw, CX2341X_ENC_MISC,4,15,0,0,0);
#endif
/* Strange compared to ivtv data. */