source: svn/newcon3bcm2_21bu/magnum/portinginterface/xpt/7552/bxpt_directv_playback.c

Last change on this file was 76, checked in by megakiss, 10 years ago

1W 대기전력을 만족시키기 위하여 POWEROFF시 튜너를 Standby 상태로 함

  • Property svn:executable set to *
File size: 3.8 KB
Line 
1/***************************************************************************
2 *     Copyright (c) 2003-2010, Broadcom Corporation
3 *     All Rights Reserved
4 *     Confidential Property of Broadcom Corporation
5 *
6 *  THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED SOFTWARE LICENSE
7 *  AGREEMENT  BETWEEN THE USER AND BROADCOM.  YOU HAVE NO RIGHT TO USE OR
8 *  EXPLOIT THIS MATERIAL EXCEPT SUBJECT TO THE TERMS OF SUCH AN AGREEMENT.
9 *
10 * $brcm_Workfile: bxpt_directv_playback.c $
11 * $brcm_Revision: Hydra_Software_Devel/3 $
12 * $brcm_Date: 10/28/10 6:01p $
13 *
14 * Porting interface code for the data transport core.
15 *
16 * Revision History:
17 *
18 * $brcm_Log: /magnum/portinginterface/xpt/base2/bxpt_directv_playback.c $
19 *
20 * Hydra_Software_Devel/3   10/28/10 6:01p gmullen
21 * SW7425-15: Ported files
22 *
23 * Hydra_Software_Devel/2   10/28/10 2:08p gmullen
24 * SW7422-20: Checkin ported files
25 *
26 * Hydra_Software_Devel/2   9/21/05 2:17p gmullen
27 * PR15309: Added support for AAC HE and AC3+ audio, fixed bug in playback
28 * PI, modified RAVE PI to support channel change and reset.
29 *
30 * Hydra_Software_Devel/1   7/28/05 3:40p gmullen
31 * PR15309: Initial version for building.
32 *
33 *
34 ***************************************************************************/
35
36#include "bstd.h"
37#include "bxpt_priv.h"
38#include "bxpt_playback.h"
39#include "bxpt_directv_playback.h"
40
41#if( BDBG_DEBUG_BUILD == 1 )
42BDBG_MODULE( xpt_directv_playback );
43#endif
44
45#include "bchp_xpt_pb0.h"
46
47BERR_Code BXPT_DirecTvPlayback_SetParserBandMode( 
48        BXPT_Playback_Handle hPb,               /* [in] Handle for the playback channel */
49        BXPT_ParserMode Mode                                    /* [in] Which mode (packet format) is being used. */
50        )
51{
52        uint32_t Reg;
53
54        BERR_Code ExitCode = BERR_SUCCESS;
55
56        BDBG_ASSERT( hPb );
57
58        Reg = BXPT_Playback_P_ReadReg( hPb, BCHP_XPT_PB0_PARSER_CTRL1 );
59        Reg &= ~( 
60                BCHP_MASK( XPT_PB0_PARSER_CTRL1, PARSER_PACKET_TYPE ) |
61                BCHP_MASK( XPT_PB0_PARSER_CTRL1, PARSER_PKT_LENGTH )
62                );
63        if( Mode == BXPT_ParserMode_eMpeg )
64        {
65                Reg |= (
66                        BCHP_FIELD_DATA( XPT_PB0_PARSER_CTRL1, PARSER_PACKET_TYPE, 0 ) |
67                        BCHP_FIELD_DATA( XPT_PB0_PARSER_CTRL1, PARSER_PKT_LENGTH, 188 )
68                );
69        }
70        else 
71        {
72                Reg |= (
73                        BCHP_FIELD_DATA( XPT_PB0_PARSER_CTRL1, PARSER_PACKET_TYPE, 1 ) |
74                        BCHP_FIELD_DATA( XPT_PB0_PARSER_CTRL1, PARSER_PKT_LENGTH, 130 )
75                );
76        }
77        BXPT_Playback_P_WriteReg( hPb, BCHP_XPT_PB0_PARSER_CTRL1, Reg ); 
78
79        return( ExitCode );
80}
81
82BERR_Code BXPT_DirecTvPlayback_GetSyncThresholds( 
83        BXPT_Playback_Handle PlaybackHandle,    /* [in] Handle for the playback channel */
84        unsigned int *SyncInCount,                      /* [out] In-sync threshold. */
85        unsigned int *SyncOutCount                      /* [out] Out-of-sync threshold. */
86        )
87{
88        uint32_t Reg;
89
90        BERR_Code ExitCode = BERR_SUCCESS;
91
92        BDBG_ASSERT( PlaybackHandle );
93
94        /* Get the sync in/out counts. */
95        Reg = BXPT_Playback_P_ReadReg( PlaybackHandle, BCHP_XPT_PB0_CTRL3 );
96        *SyncInCount = ( uint8_t ) ( BCHP_GET_FIELD_DATA( Reg, XPT_PB0_CTRL3, DIRECTV_SYNC_IN_CNT ) & 0xFF );
97        *SyncOutCount = ( uint8_t ) ( BCHP_GET_FIELD_DATA( Reg, XPT_PB0_CTRL3, DIRECTV_SYNC_OUT_CNT ) & 0xFF );
98       
99        return( ExitCode );
100}
101
102
103BERR_Code BXPT_DirecTvPlayback_SetSyncThresholds( 
104        BXPT_Playback_Handle PlaybackHandle,    /* [in] Handle for the playback channel */
105        unsigned int SyncInCount,                       /* [in] In-sync threshold. */
106        unsigned int SyncOutCount                       /* [in] Out-of-sync threshold. */
107        )
108{
109        uint32_t Reg;
110
111        BERR_Code ExitCode = BERR_SUCCESS;
112
113        Reg = BXPT_Playback_P_ReadReg( PlaybackHandle, BCHP_XPT_PB0_CTRL3 );
114
115        Reg &= ~( 
116                BCHP_MASK( XPT_PB0_CTRL3, DIRECTV_SYNC_IN_CNT ) |
117                BCHP_MASK( XPT_PB0_CTRL3, DIRECTV_SYNC_OUT_CNT )
118                );
119        Reg |= ( 
120                BCHP_FIELD_DATA( XPT_PB0_CTRL3, DIRECTV_SYNC_IN_CNT, SyncInCount ) |
121                BCHP_FIELD_DATA( XPT_PB0_CTRL3, DIRECTV_SYNC_OUT_CNT, SyncOutCount ) 
122                );
123       
124        BXPT_Playback_P_WriteReg( PlaybackHandle, BCHP_XPT_PB0_CTRL3, Reg ); 
125
126        return( ExitCode );
127}
128
129
Note: See TracBrowser for help on using the repository browser.