source: svn/newcon3bcm2_21bu/nexus/modules/dma/7552/src/nexus_dma_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.1 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_dma_module.h $
39 * $brcm_Revision: 12 $
40 * $brcm_Date: 10/3/11 11:10a $
41 *
42 * Module Description:
43 *
44 * Revision History:
45 *
46 * $brcm_Log: /nexus/modules/dma/7400/src/nexus_dma_module.h $
47 *
48 * 12   10/3/11 11:10a erickson
49 * SW7420-1995: cannot unregister handles is module is being
50 *  uninitialized. requires special case.
51 *
52 * 11   5/12/11 2:53p jtna
53 * SW7550-739: merge SHARF support
54 *
55 * 10   4/22/11 6:50p jtna
56 * SW7420-420: merge BMMD-based Nexus DMA module
57 *
58 **************************************************************************/
59
60#include "nexus_base.h"
61#include "nexus_dma_thunks.h"
62#include "nexus_dma.h"
63#include "priv/nexus_dma_priv.h"
64#include "priv/nexus_core.h"
65#include "nexus_platform_features.h"
66#include "blst_slist.h"
67#include "bmmd.h"
68
69#ifndef NEXUS_DMA_MODULE_H__
70#define NEXUS_DMA_MODULE_H__
71
72#ifdef NEXUS_MODULE_SELF
73#error Cant be in two modules at the same time
74#endif
75
76#ifndef NEXUS_NUM_SHARF_DMA_CHANNELS
77#define NEXUS_NUM_SHARF_DMA_CHANNELS 0
78#endif
79
80#define NEXUS_MODULE_NAME dma
81#define NEXUS_MODULE_SELF g_NEXUS_dmaModuleData.dmaModule
82
83BDBG_OBJECT_ID_DECLARE(NEXUS_Dma);
84BDBG_OBJECT_ID_DECLARE(NEXUS_DmaJob);
85
86typedef struct NEXUS_DmaModuleData
87{
88    NEXUS_ModuleHandle dmaModule;
89    bool shutdown;
90    struct {
91        BMMD_Handle mmd;
92        BLST_S_HEAD(NEXUS_DmaContexts, NEXUS_Dma) dmaHandles; /* virtualization in nexus allows opening multiple nexus DMA handles against one HW block */
93    } channel[NEXUS_NUM_DMA_CHANNELS+NEXUS_NUM_SHARF_DMA_CHANNELS]; /* a channel represents a HW block */
94} NEXUS_DmaModuleData;
95
96/* global module handle & data */
97extern NEXUS_DmaModuleData g_NEXUS_dmaModuleData;
98
99#endif /* #ifndef NEXUS_DMA_MODULE_H__ */
100
Note: See TracBrowser for help on using the repository browser.