Ejemplo n.º 1
0
static void dtvd_tuner_main_inevt_rcv( void )
{
    DTVD_TUNER_RCVMSG_t* msgp = &tdtvd_tuner_msg;

    if( tdtvd_tuner_main.inevt[0].available != D_DTVD_TUNER_FALSE )
    {

        dtvd_tuner_memset( msgp, 0x00,
                           sizeof(DTVD_TUNER_RCVMSG_t),
                           sizeof(DTVD_TUNER_RCVMSG_t) );
        msgp->available = D_DTVD_TUNER_TRUE;
        msgp->toid      = tdtvd_tuner_main.inevt[0].toid;
        msgp->fromid    = tdtvd_tuner_main.inevt[0].fromid;
        msgp->command   = tdtvd_tuner_main.inevt[0].command;
        dtvd_tuner_memmove( &msgp->buff,
                            &tdtvd_tuner_main.inevt[0].buff,
                            sizeof(DTVD_TUNER_MSG_u),
                            sizeof(DTVD_TUNER_MSG_u) );

        dtvd_tuner_memmove( &tdtvd_tuner_main.inevt[0],
                            &tdtvd_tuner_main.inevt[1],
                            sizeof(DTVD_TUNER_RCVMSG_t[D_DTVD_TUNER_INEVT_CUE_NUM-1]),
                            sizeof(DTVD_TUNER_RCVMSG_t[D_DTVD_TUNER_INEVT_CUE_NUM-1]) );
        tdtvd_tuner_main.inevt[D_DTVD_TUNER_INEVT_CUE_NUM - 1].available = D_DTVD_TUNER_FALSE;
    }
    else
    {
        msgp->available = D_DTVD_TUNER_FALSE;
    }
    return;
}
Ejemplo n.º 2
0
static void dtvd_tuner_timer_handler_callfunc
(
    unsigned long   funcid,         
    unsigned char   *need_toevt     
)
{
    unsigned long   mask;

    if( need_toevt == NULL )
    {

        DTVD_TUNER_SYSERR_RANK_A( D_DTVD_TUNER_SYSERR_DRV_PARAM,
                                  DTVD_TUNER_TIMER,
                                  0, 0, 0, 0, 0, 0 );
        return;
    }

    *need_toevt = D_DTVD_TUNER_TRUE;

    mask = 0;
    set_bit( D_DTVD_TUNER_TIMER_PWRON_HALFWAY, (void *)&mask );

    if( ( funcid & mask ) == mask )
    {

            {
                DTVD_TUNER_MSG_u    body;
                unsigned int        len;

                len = sizeof(DTVD_TUNER_EXEVT_TIMEOUT_t);
                dtvd_tuner_memset( &body, 0x00,
                                   len,
                                   sizeof(DTVD_TUNER_MSG_u) );

                dtvd_tuner_msg_send( D_DTVD_TUNER_BLK_TIMER,
                                     D_DTVD_TUNER_CMD_TIMER_PWR_HALFTIMEOUT,
                                     &body, len );
            }

        *need_toevt = D_DTVD_TUNER_FALSE;

    }

    mask = 0;
    set_bit( D_DTVD_TUNER_TIMER_PWRON, (void *)&mask );

    if( ( funcid & mask ) == mask )
    {

        dtvd_tuner_timer_pwron();

        *need_toevt = D_DTVD_TUNER_TRUE;

    }

    return ;
}
Ejemplo n.º 3
0
static void dtvd_tuner_main_init( void )
{
    DTVD_TUNER_CONTROL_t *info = &tdtvd_tuner_info;

    daemonize( "dtvtuner");

    atomic_set( &info->event_flg, 0 );

    info->block_flg = 0x00;

    init_waitqueue_head( &info->wait_queue );
    init_waitqueue_head( &info->wait_queue_block );

    dtvd_tuner_msg_init( ( D_DTVD_TUNER_EXEVT_CUE_NUM + 1 ),
                         sizeof( DTVD_TUNER_EX_MSG_DATA_t ) );

    dtvd_tuner_memset( &tdtvd_tuner_monitor,
                       0x00,
                       sizeof( DTVD_TUNER_MONITOR_INFO_t ),
                       sizeof( DTVD_TUNER_MONITOR_INFO_t ) );

    dtvd_tuner_memset( &tdtvd_tuner_main,
                       0x00,
                       sizeof( DTVD_TUNER_MAIN_t ),
                       sizeof( DTVD_TUNER_MAIN_t ) );

    dtvd_tuner_timer_init();

    dtvd_tuner_core_init();
    dtvd_tuner_ant_init();
    dtvd_tuner_tuner_init();
    dtvd_tuner_agc_init();
    dtvd_tuner_tmcc_init();
    dtvd_tuner_cn_init();
    dtvd_tuner_ber_init();
    dtvd_tuner_state_init();
    dtvd_tuner_autoeco_init();

    dtvd_tuner_tsprcv_init();

    return;
}
Ejemplo n.º 4
0
void dtvd_tuner_main_inevt_send_msg
(
    signed int evtcode,                 
    unsigned short toid,                
    unsigned short fromid,              
    void* body,                         
    unsigned int length                 
)
{
    DTVD_TUNER_RCVMSG_t* send = tdtvd_tuner_main.inevt;
    signed int i;

    if( body == D_DTVD_TUNER_NULL )
    {

        DTVD_TUNER_SYSERR_RANK_A( D_DTVD_TUNER_SYSERR_DRV_PARAM,
                                  DTVD_TUNER_MAIN,
                                  0, 0, 0, 0, 0, 0 );
        return;
    }

    for( i = 0; i < D_DTVD_TUNER_INEVT_CUE_NUM; i++ )
    {

        if( send->available == D_DTVD_TUNER_FALSE )
        {
            break;
        }
        send++;
    }
    if( i == D_DTVD_TUNER_INEVT_CUE_NUM )
    {

        DTVD_TUNER_SYSERR_RANK_A( D_DTVD_TUNER_SYSERR_DRV_ETC,
                                  DTVD_TUNER_MAIN,
                                  0, 0, 0, 0, 0, 0 );
        return;
    }

    dtvd_tuner_memset( send, 0x00,
                       sizeof(DTVD_TUNER_RCVMSG_t),
                       sizeof(DTVD_TUNER_RCVMSG_t) );
    send->available = D_DTVD_TUNER_TRUE;
    send->toid      = toid;
    send->fromid    = fromid;
    send->command   = evtcode;
    dtvd_tuner_memmove( &send->buff, body, length, sizeof(DTVD_TUNER_MSG_u) );

    return;
}
Ejemplo n.º 5
0
static void dtvd_tuner_main_exevt_rcv( void )
{
    DTVD_TUNER_EX_MSG_DATA_t exevt;
    DTVD_TUNER_RCVMSG_t* msgp = &tdtvd_tuner_msg;

    dtvd_tuner_memset( &exevt, 0x00,
                       sizeof(DTVD_TUNER_EX_MSG_DATA_t),
                       sizeof(DTVD_TUNER_EX_MSG_DATA_t) );

    msgp->available = D_DTVD_TUNER_FALSE;

    dtvd_tuner_msg_rcv( &exevt );

    dtvd_tuner_memset( msgp, 0x00,
                       sizeof(DTVD_TUNER_RCVMSG_t),
                       sizeof(DTVD_TUNER_RCVMSG_t) );
    msgp->fromid = exevt.fromid;
    msgp->command = exevt.command;
    dtvd_tuner_memmove( &msgp->buff, &exevt.buf,
                        sizeof(DTVD_TUNER_MSG_u),
                        sizeof(DTVD_TUNER_MSG_u) );
    return;
}
Ejemplo n.º 6
0
void dtvd_tuner_tuner_inevt_core_end( void )
{
    DTVD_TUNER_INEVT_CORE_TUNER_END_t data;
    unsigned int length = sizeof(DTVD_TUNER_INEVT_CORE_TUNER_END_t);

    DTVD_DEBUG_MSG_ENTER( 0, 0, 0 );

    dtvd_tuner_memset( &data, 0x00, length, length );

    dtvd_tuner_main_inevt_send_msg( D_DTVD_TUNER_INEVT_CORE_TUNER_END,
                                    D_DTVD_TUNER_CTL_CORE,
                                    D_DTVD_TUNER_CTL_TUNER,
                                    &data, length );
    DTVD_DEBUG_MSG_EXIT();
    return;
}
Ejemplo n.º 7
0
void dtvd_tuner_tuner_inevt_state_tuner_init( void )
{
    DTVD_TUNER_INEVT_STATE_TUNER_INIT_t data;
    unsigned int length = sizeof(DTVD_TUNER_INEVT_STATE_TUNER_INIT_t);

    DTVD_DEBUG_MSG_ENTER( 0, 0, 0 );

    dtvd_tuner_memset( &data, 0x00, length, length );

    dtvd_tuner_main_inevt_send_msg( D_DTVD_TUNER_INEVT_STATE_TUNER_INIT,
                                    D_DTVD_TUNER_CTL_WATCH_STATE,
                                    D_DTVD_TUNER_CTL_TUNER,
                                    &data, length );
    DTVD_DEBUG_MSG_EXIT();
    return;
}
Ejemplo n.º 8
0
void dtvd_tuner_tuner_inevt_tmcc_stop( void )
{
    DTVD_TUNER_INEVT_TMCC_TUNER_STOP_t data;
    unsigned int length = sizeof(DTVD_TUNER_INEVT_TMCC_TUNER_STOP_t);

    DTVD_DEBUG_MSG_ENTER( 0, 0, 0 );

    dtvd_tuner_memset( &data, 0x00, length, length );

    dtvd_tuner_main_inevt_send_msg( D_DTVD_TUNER_INEVT_TMCC_TUNER_STOP,
                                    D_DTVD_TUNER_CTL_WATCH_TMCC,
                                    D_DTVD_TUNER_CTL_TUNER,
                                    &data, length );
    DTVD_DEBUG_MSG_EXIT();
    return;
}
Ejemplo n.º 9
0
void dtvd_tuner_tuner_inevt_core_tune_set( unsigned int result )
{
    DTVD_TUNER_INEVT_CORE_TUNER_TUNE_SET_t data;
    unsigned int length = sizeof(DTVD_TUNER_INEVT_CORE_TUNER_TUNE_SET_t);

    DTVD_DEBUG_MSG_ENTER( 0, 0, 0 );

    dtvd_tuner_memset( &data, 0x00, length, length );
    data.result = result;

    dtvd_tuner_main_inevt_send_msg( D_DTVD_TUNER_INEVT_CORE_TUNER_TUNE_SET,
                                    D_DTVD_TUNER_CTL_CORE,
                                    D_DTVD_TUNER_CTL_TUNER,
                                    &data, length );
    DTVD_DEBUG_MSG_EXIT();
    return;
}
Ejemplo n.º 10
0
void dtvd_tuner_tuner_inevt_state_tuner_confirm( unsigned char kind )
{
    DTVD_TUNER_INEVT_STATE_TUNER_CONFIRM_t data;
    unsigned int length = sizeof(DTVD_TUNER_INEVT_STATE_TUNER_CONFIRM_t);

    DTVD_DEBUG_MSG_ENTER( 0, 0, 0 );

    dtvd_tuner_memset( &data, 0x00, length, length );
    data.kind = kind;

    dtvd_tuner_main_inevt_send_msg( D_DTVD_TUNER_INEVT_STATE_TUNER_CONFIRM,
                                    D_DTVD_TUNER_CTL_WATCH_STATE,
                                    D_DTVD_TUNER_CTL_TUNER,
                                    &data, length );

    DTVD_DEBUG_MSG_EXIT();
    return;

}
Ejemplo n.º 11
0
void dtvd_tuner_tuner_inevt_core_nostd
(
    unsigned char kind      
)
{
    DTVD_TUNER_INEVT_CORE_TUNER_NONSTD_t data;
    unsigned int length = sizeof(DTVD_TUNER_INEVT_CORE_TUNER_NONSTD_t);

    DTVD_DEBUG_MSG_ENTER( kind, 0, 0 );

    dtvd_tuner_memset( &data, 0x00, length, length );

    data.kind = kind;

    dtvd_tuner_main_inevt_send_msg( D_DTVD_TUNER_INEVT_CORE_TUNER_NONSTD,
                                    D_DTVD_TUNER_CTL_CORE,
                                    D_DTVD_TUNER_CTL_TUNER,
                                    &data, length );
    DTVD_DEBUG_MSG_EXIT();
    return;
}
Ejemplo n.º 12
0
void dtvd_tuner_tuner_inevt_core_tune_ng
(
    unsigned char cause     
)
{
    DTVD_TUNER_INEVT_CORE_TUNER_TUNE_NG_t data;
    unsigned int length = sizeof(DTVD_TUNER_INEVT_CORE_TUNER_TUNE_NG_t);
    
    printk("********ng**cause=%d**%s\n", cause, __func__);
    DTVD_DEBUG_MSG_ENTER( cause, 0, 0 );

    dtvd_tuner_memset( &data, 0x00, length, length );

    data.cause = cause;

    dtvd_tuner_main_inevt_send_msg( D_DTVD_TUNER_INEVT_CORE_TUNER_TUNE_NG,
                                    D_DTVD_TUNER_CTL_CORE,
                                    D_DTVD_TUNER_CTL_TUNER,
                                    &data, length );
    DTVD_DEBUG_MSG_EXIT();
    return;
}
Ejemplo n.º 13
0
static void dtvd_tuner_timer_tasklet
(
    unsigned long data      
)
{
    DTVD_TUNER_MSG_u    body;
    unsigned int        len;

    DTVD_DEBUG_MSG_ENTER( (int)data, 0, 0 );

    len = sizeof(DTVD_TUNER_EXEVT_TIMEOUT_t);
    dtvd_tuner_memset( &body, 0x00,
                       len,
                       sizeof(DTVD_TUNER_MSG_u) );

    body.ex_timeout.timer_id = data;

    dtvd_tuner_msg_send( D_DTVD_TUNER_BLK_TIMER,
                         D_DTVD_TUNER_CMD_TIMER_TIMEOUT,
                         &body, len );
    DTVD_DEBUG_MSG_EXIT();
    return;
}