source: svn/newcon3bcm2_21bu/nexus/modules/surface/7552/src/nexus_surface_module.h

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

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

  • Property svn:executable set to *
File size: 4.9 KB
Line 
1/***************************************************************************
2 *     (c)2007-2011 Broadcom Corporation
3 *
4 *  This program is the proprietary software of Broadcom Corporation and/or its licensors,
5 *  and may only be used, duplicated, modified or distributed pursuant to the terms and
6 *  conditions of a separate, written license agreement executed between you and Broadcom
7 *  (an "Authorized License").  Except as set forth in an Authorized License, Broadcom grants
8 *  no license (express or implied), right to use, or waiver of any kind with respect to the
9 *  Software, and Broadcom expressly reserves all rights in and to the Software and all
10 *  intellectual property rights therein.  IF YOU HAVE NO AUTHORIZED LICENSE, THEN YOU
11 *  HAVE NO RIGHT TO USE THIS SOFTWARE IN ANY WAY, AND SHOULD IMMEDIATELY
12 *  NOTIFY BROADCOM AND DISCONTINUE ALL USE OF THE SOFTWARE.
13 *
14 *  Except as expressly set forth in the Authorized License,
15 *
16 *  1.     This program, including its structure, sequence and organization, constitutes the valuable trade
17 *  secrets of Broadcom, and you shall use all reasonable efforts to protect the confidentiality thereof,
18 *  and to use this information only in connection with your use of Broadcom integrated circuit products.
19 *
20 *  2.     TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
21 *  AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES, REPRESENTATIONS OR
22 *  WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO
23 *  THE SOFTWARE.  BROADCOM SPECIFICALLY DISCLAIMS ANY AND ALL IMPLIED WARRANTIES
24 *  OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE,
25 *  LACK OF VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION
26 *  OR CORRESPONDENCE TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING OUT OF
27 *  USE OR PERFORMANCE OF THE SOFTWARE.
28 *
29 *  3.     TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM OR ITS
30 *  LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL, INCIDENTAL, SPECIAL, INDIRECT, OR
31 *  EXEMPLARY DAMAGES WHATSOEVER ARISING OUT OF OR IN ANY WAY RELATING TO YOUR
32 *  USE OF OR INABILITY TO USE THE SOFTWARE EVEN IF BROADCOM HAS BEEN ADVISED OF
33 *  THE POSSIBILITY OF SUCH DAMAGES; OR (ii) ANY AMOUNT IN EXCESS OF THE AMOUNT
34 *  ACTUALLY PAID FOR THE SOFTWARE ITSELF OR U.S. $1, WHICHEVER IS GREATER. THESE
35 *  LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF
36 *  ANY LIMITED REMEDY.
37 *
38 * $brcm_Workfile: nexus_surface_module.h $
39 * $brcm_Revision: 8 $
40 * $brcm_Date: 10/7/11 1:49p $
41 *
42 * Module Description:
43 *
44 * Revision History:
45 *
46 * $brcm_Log: /nexus/modules/surface/7400/src/nexus_surface_module.h $
47 *
48 * 8   10/7/11 1:49p vsilyaev
49 * SW7420-2085: Added support for object reference counting
50 *
51 * 7   5/23/11 1:34p erickson
52 * SW7420-1200: add NEXUS_Surface_InitPlane_priv
53 *
54 * 6   3/8/11 5:11p erickson
55 * SW7420-1575: add NEXUS_Surface_InitPlane for packet blit verification
56 *
57 * 5   6/23/10 12:14p erickson
58 * SW7550-453: add nexus_striped_surface.h interface
59 *
60 * 4   1/26/09 11:29a erickson
61 * PR51468: global variable naming convention
62 *
63 * 3   11/26/08 9:59a erickson
64 * PR49649: added NEXUS_SurfaceCreateSettings.heap option
65 *
66 * 2   11/7/08 9:43a erickson
67 * PR46300: moved NEXUS_Surface to module.h to allow for extension
68 *
69 * 1   1/18/08 2:19p jgarrett
70 * PR 38808: Merging to main branch
71 *
72 * Nexus_Devel/4   9/28/07 10:01a erickson
73 * PR34419: 0.1 prerel review
74 *
75 * Nexus_Devel/3   9/26/07 1:35p vsilyaev
76 * PR 34662: Added API to return magnum surface handle
77 *
78 * Nexus_Devel/2   9/21/07 1:20p erickson
79 * PR35198: update
80 *
81 * Nexus_Devel/1   9/21/07 12:35p erickson
82 * PR35198: initial impl
83 *
84 **************************************************************************/
85#ifndef NEXUS_SURFACE_MODULE_H__
86#define NEXUS_SURFACE_MODULE_H__
87
88#include "nexus_surface_thunks.h"
89#include "nexus_base.h"
90#include "nexus_surface.h"
91#include "nexus_striped_surface.h"
92#if NEXUS_SURFACE_EXTENSION
93#include "nexus_surface_extension.h"
94#endif
95#include "nexus_surface_init.h"
96#include "priv/nexus_surface_priv.h"
97
98#ifdef __cplusplus
99extern "C" {
100#endif
101
102#ifdef NEXUS_MODULE_SELF
103#error Cant be in two modules at the same time
104#endif
105
106#define NEXUS_MODULE_NAME surface
107#define NEXUS_MODULE_SELF g_NEXUS_surfaceModule
108
109/* global handle. there is no global data. */
110extern NEXUS_ModuleHandle g_NEXUS_surfaceModule;
111
112BDBG_OBJECT_ID_DECLARE(NEXUS_Surface);
113
114/* This is the implementation of NEXUS_SurfaceHandle */
115struct NEXUS_Surface {
116    BDBG_OBJECT(NEXUS_Surface)
117    NEXUS_SurfaceSettings settings;
118    NEXUS_SurfaceCreateSettings createSettings;
119    NEXUS_SurfaceMemory mem;
120    void *buffer; /* set to uncached addr if NEXUS allocated externally from magnum */
121    unsigned offset;
122    unsigned paletteOffset;
123
124    /* Magnum data */
125    BSUR_Surface_Handle surface;
126    BSUR_Palette_Handle palette;
127    BMEM_Heap_Handle heap; /* which heap this surface is allocated from */
128    NEXUS_RefCnt ref_cnt;
129};
130
131
132#ifdef __cplusplus
133}
134#endif
135
136#endif
Note: See TracBrowser for help on using the repository browser.