ChangeSet 1.2263, 2005/03/31 08:37:22-08:00, [EMAIL PROTECTED]

        [PATCH] cx24110 Conexant Frontend update
        
        With Peter Hettkamp <[EMAIL PROTECTED]>
        
        I transformed Peter's attempt into a kernel-compatible patch.
        
        The dvb frontend cx24110 is given back a send burst function which is
        needed by the dvbstream-engine of MPlayer 1.0pre6a, for example.
        
        Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
        Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>



 cx24110.c |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+)


diff -Nru a/drivers/media/dvb/frontends/cx24110.c 
b/drivers/media/dvb/frontends/cx24110.c
--- a/drivers/media/dvb/frontends/cx24110.c     2005-03-31 10:18:18 -08:00
+++ b/drivers/media/dvb/frontends/cx24110.c     2005-03-31 10:18:18 -08:00
@@ -385,6 +385,30 @@
        };
 }
 
+static int cx24110_diseqc_send_burst(struct dvb_frontend* fe,
+                       fe_sec_mini_cmd_t burst)
+{
+       int rv, bit, i;
+       struct cx24110_state *state = fe->demodulator_priv;
+
+       if (burst == SEC_MINI_A)
+               bit = 0x00;
+       else if (burst == SEC_MINI_B)
+               bit = 0x08;
+       else
+               return -EINVAL;
+
+       rv = cx24110_readreg(state, 0x77);
+       cx24110_writereg(state, 0x77, rv|0x04);
+
+       rv = cx24110_readreg(state, 0x76);
+       cx24110_writereg(state, 0x76, ((rv & 0x90) | 0x40 | bit));
+       for (i = 500; i-- > 0 && !(cx24110_readreg(state,0x76)&0x40) ; )
+              ; /* wait for LNB ready */
+
+       return 0;
+}
+
 static int cx24110_send_diseqc_msg(struct dvb_frontend* fe,
                                   struct dvb_diseqc_master_cmd *cmd)
 {
@@ -394,6 +418,9 @@
        for (i = 0; i < cmd->msg_len; i++)
                cx24110_writereg(state, 0x79 + i, cmd->msg[i]);
 
+       rv = cx24110_readreg(state, 0x77);
+       cx24110_writereg(state, 0x77, rv|0x04);
+
        rv = cx24110_readreg(state, 0x76);
 
        cx24110_writereg(state, 0x76, ((rv & 0x90) | 0x40) | ((cmd->msg_len-3) 
& 3));
@@ -616,6 +643,7 @@
        .diseqc_send_master_cmd = cx24110_send_diseqc_msg,
        .set_tone = cx24110_set_tone,
        .set_voltage = cx24110_set_voltage,
+       .diseqc_send_burst = cx24110_diseqc_send_burst,
 };
 
 module_param(debug, int, 0644);
-
To unsubscribe from this list: send the line "unsubscribe bk-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to