| 1 | /*************************************************************************** |
|---|
| 2 | * Copyright (c) 2004-2011, 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: bmrc_monitor_clients.c $ |
|---|
| 11 | * $brcm_Revision: Hydra_Software_Devel/40 $ |
|---|
| 12 | * $brcm_Date: 11/2/11 6:10p $ |
|---|
| 13 | * |
|---|
| 14 | * Module Description: |
|---|
| 15 | * |
|---|
| 16 | * Implementation of the Realtime Memory Monitor for 7038 |
|---|
| 17 | * |
|---|
| 18 | * Revision History: |
|---|
| 19 | * |
|---|
| 20 | * $brcm_Log: /magnum/commonutils/mrc/7125/bmrc_monitor_clients.c $ |
|---|
| 21 | * |
|---|
| 22 | * Hydra_Software_Devel/40 11/2/11 6:10p albertl |
|---|
| 23 | * SW7435-12: Added 7435 support to MRC. |
|---|
| 24 | * |
|---|
| 25 | * Hydra_Software_Devel/39 9/16/11 6:19p albertl |
|---|
| 26 | * SW7425-1298: Updated clients for 7425. |
|---|
| 27 | * |
|---|
| 28 | * Hydra_Software_Devel/38 3/23/11 4:44p albertl |
|---|
| 29 | * SWDTV-5969: Updated MRC to be compatible with 35233 a0. |
|---|
| 30 | * |
|---|
| 31 | * Hydra_Software_Devel/37 11/22/10 6:15p albertl |
|---|
| 32 | * SW7422-15, SW7125-27: Fixed SVD and AVD client names. Fixed wrong |
|---|
| 33 | * client assignment for 7135. |
|---|
| 34 | * |
|---|
| 35 | * Hydra_Software_Devel/36 10/11/10 11:25a jessem |
|---|
| 36 | * SW7420-173: Removed VFD from HW client table. |
|---|
| 37 | * |
|---|
| 38 | * Hydra_Software_Devel/SW7420-173/2 10/1/10 3:12p jessem |
|---|
| 39 | * SW7420-173: Added VFD to VDC client table and removed VFD from HW |
|---|
| 40 | * client table. |
|---|
| 41 | * |
|---|
| 42 | * Hydra_Software_Devel/SW7420-173/1 6/11/10 5:01p jessem |
|---|
| 43 | * SW7420-173: Removed VFD clients from VDC list since VFD will be |
|---|
| 44 | * accessing host memory when VFD is used as a source. |
|---|
| 45 | * |
|---|
| 46 | * Hydra_Software_Devel/35 6/30/10 5:08p albertl |
|---|
| 47 | * SW35230-498: Changed to use BMRC_ALLOW_PCU_TO_ACCESS_KERNEL flag. |
|---|
| 48 | * |
|---|
| 49 | * Hydra_Software_Devel/34 6/30/10 7:20p jhaberf |
|---|
| 50 | * SW35230-498: Allow PCU client to access kernel space on the 35230 |
|---|
| 51 | * |
|---|
| 52 | * Hydra_Software_Devel/33 6/29/10 7:40p albertl |
|---|
| 53 | * SW7422-15: Updated for 7422 again and removed extraneous clients from |
|---|
| 54 | * default hardware jail. |
|---|
| 55 | * |
|---|
| 56 | * Hydra_Software_Devel/32 6/25/10 5:06p pntruong |
|---|
| 57 | * SW7422-15: Rolled back support for 7422 for further review. |
|---|
| 58 | * |
|---|
| 59 | * Hydra_Software_Devel/30 6/9/10 1:23p albertl |
|---|
| 60 | * SW35230-250: Merged 35230 additions to monitor client lists. |
|---|
| 61 | * |
|---|
| 62 | * Hydra_Software_Devel/SW35230-250/2 6/4/10 11:26a mbatchel |
|---|
| 63 | * SW35230-250: Update vdc clients list for 35230. |
|---|
| 64 | * |
|---|
| 65 | * Hydra_Software_Devel/SW35230-250/1 6/2/10 1:12p mbatchel |
|---|
| 66 | * SW35230-250: Update blocked clients list for 35230. |
|---|
| 67 | * |
|---|
| 68 | * Hydra_Software_Devel/29 3/24/10 5:35p albertl |
|---|
| 69 | * SW7335-689: Updated hardware client list to be more complete and |
|---|
| 70 | * ordered same as enum list. |
|---|
| 71 | * |
|---|
| 72 | * Hydra_Software_Devel/28 3/18/10 11:55a erickson |
|---|
| 73 | * SW7405-3892: change default list of non-OS HW clients to prevent |
|---|
| 74 | * GFD/M2MC access to kernel memory. this is rarely done. added export |
|---|
| 75 | * BMRC_ALLOW_GFX_TO_ACCESS_KERNEL=y compile time option to allow this |
|---|
| 76 | * access. |
|---|
| 77 | * |
|---|
| 78 | * Hydra_Software_Devel/27 3/2/10 1:21p erickson |
|---|
| 79 | * SW7405-3892: add new enum values to various arrays |
|---|
| 80 | * |
|---|
| 81 | * Hydra_Software_Devel/26 2/17/09 6:43p albertl |
|---|
| 82 | * PR51612: Updated to correct naming conventions. |
|---|
| 83 | * |
|---|
| 84 | * Hydra_Software_Devel/25 11/3/08 7:19p albertl |
|---|
| 85 | * PR47849: Removed M2MC_0 from list of clients monitored. |
|---|
| 86 | * |
|---|
| 87 | * Hydra_Software_Devel/24 10/6/08 6:11p albertl |
|---|
| 88 | * PR47324: Removed GFD from the list of clients monitored. |
|---|
| 89 | * |
|---|
| 90 | * Hydra_Software_Devel/23 9/19/08 5:21p albertl |
|---|
| 91 | * PR46837: Removed most chip specific defines and consolidated clients of |
|---|
| 92 | * different platforms. BMRC_Monitor implementation will ignore invalid |
|---|
| 93 | * clients for a platform. |
|---|
| 94 | * |
|---|
| 95 | * Hydra_Software_Devel/22 9/11/08 6:09p albertl |
|---|
| 96 | * PR46761: Fixed build errors. |
|---|
| 97 | * |
|---|
| 98 | * Hydra_Software_Devel/21 9/11/08 5:51p albertl |
|---|
| 99 | * PR46761: Updated for 7420. |
|---|
| 100 | * |
|---|
| 101 | * Hydra_Software_Devel/20 3/5/08 10:20p pntruong |
|---|
| 102 | * PR34853: Added ifdef for 3556. |
|---|
| 103 | * |
|---|
| 104 | * Hydra_Software_Devel/19 2/25/08 10:38p albertl |
|---|
| 105 | * PR34853: Added 3548 MRC support. Fixed client naming errors. |
|---|
| 106 | * |
|---|
| 107 | * Hydra_Software_Devel/18 2/25/08 7:03p albertl |
|---|
| 108 | * PR36876: Rewrote MRC to abstract client names and streamline adding of |
|---|
| 109 | * future chips. 3548 support added. |
|---|
| 110 | * |
|---|
| 111 | * Hydra_Software_Devel/17 12/14/07 3:49p tdo |
|---|
| 112 | * PR36876: Add mrc support for 7335 |
|---|
| 113 | * |
|---|
| 114 | * Hydra_Software_Devel/16 10/30/07 7:25p albertl |
|---|
| 115 | * PR35322: Updated mrc for 7325. |
|---|
| 116 | * |
|---|
| 117 | * Hydra_Software_Devel/15 6/8/07 5:09p mward |
|---|
| 118 | * PR21938: For 7118 don't exclude AVD clients from s_astHwClients. They |
|---|
| 119 | * do use common region. |
|---|
| 120 | * |
|---|
| 121 | * Hydra_Software_Devel/14 5/1/07 5:08p albertl |
|---|
| 122 | * PR29633: Updated and changed MRC for 7405. |
|---|
| 123 | * |
|---|
| 124 | * Hydra_Software_Devel/13 1/16/07 11:58a erickson |
|---|
| 125 | * PR25037: change AI0 (with a zero) to AIO (with the letter 'o'). this |
|---|
| 126 | * was a typo that makes for frustrating text searches. |
|---|
| 127 | * |
|---|
| 128 | * Hydra_Software_Devel/12 10/31/06 9:10a erickson |
|---|
| 129 | * PR25108: add 7403 support |
|---|
| 130 | * |
|---|
| 131 | * Hydra_Software_Devel/11 10/25/06 11:43a pntruong |
|---|
| 132 | * PR24997: Since the MFD need to read memory from xvd/mvd decoded |
|---|
| 133 | * buffers, it also need to be in the list of allow access for xvd/mvd. |
|---|
| 134 | * |
|---|
| 135 | * Hydra_Software_Devel/10 8/8/06 6:14p albertl |
|---|
| 136 | * PR23361: Added 3563 support. |
|---|
| 137 | * |
|---|
| 138 | * Hydra_Software_Devel/9 6/22/06 2:22p albertl |
|---|
| 139 | * PR21938: Added 7118 support. |
|---|
| 140 | * |
|---|
| 141 | * Hydra_Software_Devel/8 5/8/06 2:33p erickson |
|---|
| 142 | * PR18701: fix AUD_ZSP name for 7401 |
|---|
| 143 | * |
|---|
| 144 | * Hydra_Software_Devel/7 4/24/06 3:02p erickson |
|---|
| 145 | * PR18701: fix AUD_AIO name for 7401 |
|---|
| 146 | * |
|---|
| 147 | * Hydra_Software_Devel/6 3/7/06 3:53p syang |
|---|
| 148 | * PR 19670: added 7438 support |
|---|
| 149 | * |
|---|
| 150 | * Hydra_Software_Devel/5 3/2/06 3:51p albertl |
|---|
| 151 | * PR18701: Fixed build errors for 7401 and 7400. |
|---|
| 152 | * |
|---|
| 153 | * Hydra_Software_Devel/4 3/1/06 5:27p albertl |
|---|
| 154 | * PR18701: Renamed structs to use private names. |
|---|
| 155 | * |
|---|
| 156 | * Hydra_Software_Devel/3 3/1/06 5:16p albertl |
|---|
| 157 | * PR18701: Updated to match include latest RMM updates. |
|---|
| 158 | * |
|---|
| 159 | * Hydra_Software_Devel/2 2/16/06 7:46p albertl |
|---|
| 160 | * PR19101: Fixed #elif for 7401. |
|---|
| 161 | * |
|---|
| 162 | * Hydra_Software_Devel/1 2/16/06 7:41p albertl |
|---|
| 163 | * PR19101: Moved chip specific tables to bmrc_monitor_clients.c. |
|---|
| 164 | * |
|---|
| 165 | ***************************************************************************/ |
|---|
| 166 | |
|---|
| 167 | #include "bmrc.h" |
|---|
| 168 | #include "bmrc_monitor_priv.h" |
|---|
| 169 | |
|---|
| 170 | /* MVD and AUD modules for older chips */ |
|---|
| 171 | static const BMRC_Client s_astMvdFileClients[] = |
|---|
| 172 | { |
|---|
| 173 | BMRC_Client_eBVNF_MFD_0, |
|---|
| 174 | BMRC_Client_eBVNF_MFD_1, |
|---|
| 175 | BMRC_Client_eMTP_0_MTT, |
|---|
| 176 | BMRC_Client_eMTP_0_VDMA, |
|---|
| 177 | BMRC_Client_eMTP_0_MRERD, |
|---|
| 178 | BMRC_Client_eMTP_0_MREWR, |
|---|
| 179 | BMRC_Client_eMTP_0_SRERD, |
|---|
| 180 | BMRC_Client_eMTP_0_SREWR, |
|---|
| 181 | BMRC_Client_eMTP_1_MTT, |
|---|
| 182 | BMRC_Client_eMTP_1_VDMA, |
|---|
| 183 | BMRC_Client_eMTP_1_MRERD, |
|---|
| 184 | BMRC_Client_eMTP_1_MREWR, |
|---|
| 185 | BMRC_Client_eMTP_1_SRERD, |
|---|
| 186 | BMRC_Client_eMTP_1_SREWR, |
|---|
| 187 | BMRC_Client_eMaxCount |
|---|
| 188 | }; |
|---|
| 189 | |
|---|
| 190 | static const BMRC_Client s_astAudFileClients[] = |
|---|
| 191 | { |
|---|
| 192 | BMRC_Client_eBACH_ADP_SPDIF_WR, |
|---|
| 193 | BMRC_Client_eBACH_ADP_1_WR, |
|---|
| 194 | BMRC_Client_eBACH_ADP_0_WR, |
|---|
| 195 | BMRC_Client_eBACH_ADP_SPDIF_RD, |
|---|
| 196 | BMRC_Client_eBACH_ADP_1_RD, |
|---|
| 197 | BMRC_Client_eBACH_ADP_0_RD, |
|---|
| 198 | BMRC_Client_eBACH_PCM, |
|---|
| 199 | BMRC_Client_eMaxCount |
|---|
| 200 | }; |
|---|
| 201 | |
|---|
| 202 | /* XVD, XPT, and RAP modules for newer chips */ |
|---|
| 203 | static const BMRC_Client s_astXvdFileClients[] = |
|---|
| 204 | { |
|---|
| 205 | BMRC_Client_eBVNF_MFD_0, |
|---|
| 206 | BMRC_Client_eBVNF_MFD_1, |
|---|
| 207 | BMRC_Client_eAVD_0_BLK, |
|---|
| 208 | BMRC_Client_eAVD_0_ILA, |
|---|
| 209 | BMRC_Client_eAVD_0_OLA, |
|---|
| 210 | BMRC_Client_eAVD_0_CAB, |
|---|
| 211 | BMRC_Client_eAVD_0_SYM, |
|---|
| 212 | BMRC_Client_eAVD_0_PFR, |
|---|
| 213 | BMRC_Client_eAVD_0_MCP, |
|---|
| 214 | BMRC_Client_eAVD_1_BLK, |
|---|
| 215 | BMRC_Client_eAVD_1_BLK_1, |
|---|
| 216 | BMRC_Client_eAVD_1_ILA, |
|---|
| 217 | BMRC_Client_eAVD_1_OLA, |
|---|
| 218 | BMRC_Client_eAVD_1_CAB, |
|---|
| 219 | BMRC_Client_eAVD_1_SYM, |
|---|
| 220 | BMRC_Client_eAVD_1_PFR, |
|---|
| 221 | BMRC_Client_eAVD_1_MCP, |
|---|
| 222 | BMRC_Client_eSVD_0_BLK, |
|---|
| 223 | BMRC_Client_eSVD_0_BLK_1, |
|---|
| 224 | BMRC_Client_eSVD_0_ILA, |
|---|
| 225 | BMRC_Client_eSVD_0_OLA, |
|---|
| 226 | BMRC_Client_eSVD_0_CAB, |
|---|
| 227 | BMRC_Client_eSVD_0_ILSYM, |
|---|
| 228 | BMRC_Client_eSVD_0_BLA, |
|---|
| 229 | BMRC_Client_eSVD_0_BLSYM, |
|---|
| 230 | BMRC_Client_eSVD_0_MVSCL, |
|---|
| 231 | BMRC_Client_eSVD_0_SPIXSTR, |
|---|
| 232 | BMRC_Client_eSVD_0_PFR, |
|---|
| 233 | BMRC_Client_eSVD_0_MCP, |
|---|
| 234 | BMRC_Client_eMaxCount |
|---|
| 235 | }; |
|---|
| 236 | |
|---|
| 237 | static const BMRC_Client s_astXptRaveFileClients[] = |
|---|
| 238 | { |
|---|
| 239 | BMRC_Client_eAVD_0_BLK, |
|---|
| 240 | BMRC_Client_eAVD_0_ILA, |
|---|
| 241 | BMRC_Client_eAVD_0_OLA, |
|---|
| 242 | BMRC_Client_eAVD_0_CAB, |
|---|
| 243 | BMRC_Client_eAVD_0_SYM, |
|---|
| 244 | BMRC_Client_eAUD_ZSP, |
|---|
| 245 | BMRC_Client_eAUD_AIO, |
|---|
| 246 | BMRC_Client_eXPT_0, |
|---|
| 247 | BMRC_Client_eXPT_1, |
|---|
| 248 | BMRC_Client_eXPT_2, |
|---|
| 249 | BMRC_Client_eXPT_3, |
|---|
| 250 | BMRC_Client_eXPT_WR_0, |
|---|
| 251 | BMRC_Client_eXPT_WR_1, |
|---|
| 252 | BMRC_Client_eXPT_WR_2, |
|---|
| 253 | BMRC_Client_eXPT_RD_0, |
|---|
| 254 | BMRC_Client_eXPT_RD_1, |
|---|
| 255 | BMRC_Client_eXPT_RD_2, |
|---|
| 256 | |
|---|
| 257 | BMRC_Client_eMaxCount, |
|---|
| 258 | }; |
|---|
| 259 | |
|---|
| 260 | /* Common file modules */ |
|---|
| 261 | static const BMRC_Client s_astRapFileClients[] = |
|---|
| 262 | { |
|---|
| 263 | BMRC_Client_eAUD_ZSP, |
|---|
| 264 | BMRC_Client_eAUD_AIO, |
|---|
| 265 | BMRC_Client_eMaxCount |
|---|
| 266 | }; |
|---|
| 267 | |
|---|
| 268 | static const BMRC_Client s_astVdcFileClients[] = |
|---|
| 269 | { |
|---|
| 270 | BMRC_Client_eBVNF_MFD_0, |
|---|
| 271 | BMRC_Client_eBVNF_MFD_1, |
|---|
| 272 | BMRC_Client_eBVNF_VFD_0, |
|---|
| 273 | BMRC_Client_eBVNF_VFD_1, |
|---|
| 274 | BMRC_Client_eBVNF_VFD_2, |
|---|
| 275 | BMRC_Client_eBVNF_VFD_3, |
|---|
| 276 | BMRC_Client_eBVNF_VFD_4, |
|---|
| 277 | BMRC_Client_eBVNB_CAP_0, |
|---|
| 278 | BMRC_Client_eBVNB_CAP_1, |
|---|
| 279 | BMRC_Client_eBVNB_CAP_2, |
|---|
| 280 | BMRC_Client_eBVNB_CAP_3, |
|---|
| 281 | BMRC_Client_eBVNB_CAP_4, |
|---|
| 282 | BMRC_Client_eVEC_0_VBI_ENC, |
|---|
| 283 | BMRC_Client_eVEC_1_VBI_ENC, |
|---|
| 284 | BMRC_Client_eVEC_2_VBI_ENC, |
|---|
| 285 | BMRC_Client_eVDEC_0_3D, |
|---|
| 286 | BMRC_Client_eVDEC_1_3D, |
|---|
| 287 | BMRC_Client_eVDEC_0_TTX, |
|---|
| 288 | BMRC_Client_eVDEC_0_656, |
|---|
| 289 | BMRC_Client_eVDEC_0_WR_0, |
|---|
| 290 | BMRC_Client_eVDEC_0_RD_0, |
|---|
| 291 | BMRC_Client_eVDEC_0_RD_1, |
|---|
| 292 | BMRC_Client_eBVN_DNR_RW, |
|---|
| 293 | BMRC_Client_eBVN_MCVP_0_RD, |
|---|
| 294 | BMRC_Client_eBVN_MCVP_0_RW_0, |
|---|
| 295 | BMRC_Client_eBVN_MCVP_0_RW_1, |
|---|
| 296 | BMRC_Client_eBVN_PDP_RD_0, |
|---|
| 297 | BMRC_Client_eBVN_PDP_WR_0, |
|---|
| 298 | BMRC_Client_eBVN_PDP_RD_1, |
|---|
| 299 | BMRC_Client_eBVN_PDP_WR_1, |
|---|
| 300 | BMRC_Client_eBVN_FRC_0_CE, |
|---|
| 301 | BMRC_Client_eBVN_FRC_0_TMRV, |
|---|
| 302 | BMRC_Client_eBVN_FRC_0_PROF, |
|---|
| 303 | BMRC_Client_eBVN_FRC_0_WS2, |
|---|
| 304 | BMRC_Client_eBVN_FRC_0_WS1B, |
|---|
| 305 | BMRC_Client_eBVN_FRC_0_WS1, |
|---|
| 306 | BMRC_Client_eBVN_FRC_0_WS0, |
|---|
| 307 | BMRC_Client_eBVN_FRC_0_RSM, |
|---|
| 308 | BMRC_Client_eBVN_FRC_0_RS2, |
|---|
| 309 | BMRC_Client_eBVN_FRC_0_RS1, |
|---|
| 310 | BMRC_Client_eBVN_FRC_0_RS0P, |
|---|
| 311 | BMRC_Client_eBVN_FRC_0_RS0N, |
|---|
| 312 | BMRC_Client_eBVN_FRC_0_SRD, |
|---|
| 313 | BMRC_Client_eBVN_FRC_0_RS1B, |
|---|
| 314 | BMRC_Client_eBVN_FRC_0_WSM, |
|---|
| 315 | BMRC_Client_eMAD_0_PIX, |
|---|
| 316 | BMRC_Client_eMAD_0_PIX_CAP, |
|---|
| 317 | BMRC_Client_eMAD_0_PIX_FD, |
|---|
| 318 | BMRC_Client_eMAD_0_QUANT, |
|---|
| 319 | |
|---|
| 320 | BMRC_Client_eMaxCount |
|---|
| 321 | }; |
|---|
| 322 | |
|---|
| 323 | static const BMRC_Client s_astVbiFileClients[] = |
|---|
| 324 | { |
|---|
| 325 | BMRC_Client_eVEC_0_VBI_ENC, |
|---|
| 326 | BMRC_Client_eVEC_1_VBI_ENC, |
|---|
| 327 | BMRC_Client_eVEC_2_VBI_ENC, |
|---|
| 328 | BMRC_Client_eVDEC_0_TTX, |
|---|
| 329 | |
|---|
| 330 | BMRC_Client_eMaxCount |
|---|
| 331 | }; |
|---|
| 332 | |
|---|
| 333 | static const BMRC_Client s_astRdcFileClients[] = |
|---|
| 334 | { |
|---|
| 335 | BMRC_Client_eBVNF_RDC_0, |
|---|
| 336 | BMRC_Client_eMaxCount |
|---|
| 337 | }; |
|---|
| 338 | |
|---|
| 339 | static const BMRC_Client s_astSurFileClients[] = |
|---|
| 340 | { |
|---|
| 341 | BMRC_Client_eBVNB_GFD_0, |
|---|
| 342 | BMRC_Client_eBVNB_GFD_1, |
|---|
| 343 | BMRC_Client_eBVNB_GFD_2, |
|---|
| 344 | BMRC_Client_eBVNB_GFD_3, |
|---|
| 345 | BMRC_Client_eMaxCount |
|---|
| 346 | }; |
|---|
| 347 | |
|---|
| 348 | static const BMRC_Client s_astGrcFileClients[] = |
|---|
| 349 | { |
|---|
| 350 | BMRC_Client_eM2MC_0, |
|---|
| 351 | BMRC_Client_eM2MC_1, |
|---|
| 352 | BMRC_Client_eMaxCount |
|---|
| 353 | }; |
|---|
| 354 | |
|---|
| 355 | static const BMRC_Client s_astXptFileClients[] = |
|---|
| 356 | { |
|---|
| 357 | BMRC_Client_eXPT_0, |
|---|
| 358 | BMRC_Client_eXPT_1, |
|---|
| 359 | BMRC_Client_eXPT_2, |
|---|
| 360 | BMRC_Client_eXPT_3, |
|---|
| 361 | BMRC_Client_eXPT_WR_0, |
|---|
| 362 | BMRC_Client_eXPT_WR_1, |
|---|
| 363 | BMRC_Client_eXPT_WR_2, |
|---|
| 364 | BMRC_Client_eXPT_RD_0, |
|---|
| 365 | BMRC_Client_eXPT_RD_1, |
|---|
| 366 | BMRC_Client_eXPT_RD_2, |
|---|
| 367 | |
|---|
| 368 | BMRC_Client_eMaxCount |
|---|
| 369 | }; |
|---|
| 370 | |
|---|
| 371 | static const BMRC_Client s_astPvrFileClients[] = |
|---|
| 372 | { |
|---|
| 373 | BMRC_Client_eXPT_0, |
|---|
| 374 | BMRC_Client_eXPT_1, |
|---|
| 375 | BMRC_Client_eXPT_2, |
|---|
| 376 | BMRC_Client_eXPT_3, |
|---|
| 377 | BMRC_Client_eXPT_WR_0, |
|---|
| 378 | BMRC_Client_eXPT_WR_1, |
|---|
| 379 | BMRC_Client_eXPT_WR_2, |
|---|
| 380 | BMRC_Client_eXPT_RD_0, |
|---|
| 381 | BMRC_Client_eXPT_RD_1, |
|---|
| 382 | BMRC_Client_eXPT_RD_2, |
|---|
| 383 | |
|---|
| 384 | BMRC_Client_eMaxCount |
|---|
| 385 | }; |
|---|
| 386 | |
|---|
| 387 | const BMRC_P_Monitor_FileClientInfo BMRC_P_Monitor_astFileClients[] = { |
|---|
| 388 | {"bmvd", s_astMvdFileClients }, |
|---|
| 389 | {"baud", s_astAudFileClients }, |
|---|
| 390 | {"bxpt_rave", s_astXptRaveFileClients }, |
|---|
| 391 | {"bxvd", s_astXvdFileClients }, |
|---|
| 392 | {"brap", s_astRapFileClients }, |
|---|
| 393 | {"bvdc", s_astVdcFileClients }, |
|---|
| 394 | {"bvbi", s_astVbiFileClients }, |
|---|
| 395 | {"brdc", s_astRdcFileClients }, |
|---|
| 396 | {"bsur", s_astSurFileClients }, |
|---|
| 397 | {"bgrc", s_astGrcFileClients }, |
|---|
| 398 | {"bxpt", s_astXptFileClients }, |
|---|
| 399 | {"bpvr", s_astPvrFileClients } |
|---|
| 400 | }; |
|---|
| 401 | |
|---|
| 402 | const uint32_t BMRC_P_Monitor_FileClientsTblSize = (sizeof(BMRC_P_Monitor_astFileClients) / sizeof(BMRC_P_Monitor_FileClientInfo)); |
|---|
| 403 | |
|---|
| 404 | /* The following clients are only allowed to access the MEM region (i.e. not allowed to access the OS region) */ |
|---|
| 405 | const BMRC_Client BMRC_P_Monitor_astHwClients[]= { |
|---|
| 406 | BMRC_Client_eXPT_0, |
|---|
| 407 | BMRC_Client_eXPT_1, |
|---|
| 408 | BMRC_Client_eXPT_2, |
|---|
| 409 | BMRC_Client_eXPT_3, |
|---|
| 410 | BMRC_Client_eXPT_4, |
|---|
| 411 | BMRC_Client_eXPT_5, |
|---|
| 412 | BMRC_Client_eXPT_6, |
|---|
| 413 | |
|---|
| 414 | BMRC_Client_eXPT_WR_0, |
|---|
| 415 | BMRC_Client_eXPT_WR_1, |
|---|
| 416 | BMRC_Client_eXPT_WR_2, |
|---|
| 417 | BMRC_Client_eXPT_RD_0, |
|---|
| 418 | BMRC_Client_eXPT_RD_1, |
|---|
| 419 | BMRC_Client_eXPT_RD_2, |
|---|
| 420 | |
|---|
| 421 | BMRC_Client_eXPT_MEM_DMA, |
|---|
| 422 | |
|---|
| 423 | BMRC_Client_eXPT_WR_RS, |
|---|
| 424 | BMRC_Client_eXPT_WR_XC, |
|---|
| 425 | BMRC_Client_eXPT_WR_CDB, |
|---|
| 426 | BMRC_Client_eXPT_WR_ITB_MSG, |
|---|
| 427 | BMRC_Client_eXPT_RD_RS, |
|---|
| 428 | BMRC_Client_eXPT_RD_XC_RMX_MSG, |
|---|
| 429 | BMRC_Client_eXPT_RD_XC_RAVE, |
|---|
| 430 | BMRC_Client_eXPT_RD_PB, |
|---|
| 431 | |
|---|
| 432 | |
|---|
| 433 | BMRC_Client_eANR_0_REC_CAP, |
|---|
| 434 | BMRC_Client_eANR_0_REC_VFD, |
|---|
| 435 | |
|---|
| 436 | BMRC_Client_eMBR_CAP_0, |
|---|
| 437 | BMRC_Client_eMBR_CAP_1, |
|---|
| 438 | BMRC_Client_eMBR_VFD_0, |
|---|
| 439 | |
|---|
| 440 | BMRC_Client_eMTP_0_SREWR, |
|---|
| 441 | BMRC_Client_eMTP_0_SRERD, |
|---|
| 442 | BMRC_Client_eMTP_0_MREWR, |
|---|
| 443 | BMRC_Client_eMTP_0_MRERD, |
|---|
| 444 | BMRC_Client_eMTP_0_VDMA, |
|---|
| 445 | BMRC_Client_eMTP_0_MTT, |
|---|
| 446 | |
|---|
| 447 | BMRC_Client_eMTP_1_SREWR, |
|---|
| 448 | BMRC_Client_eMTP_1_SRERD, |
|---|
| 449 | BMRC_Client_eMTP_1_MREWR, |
|---|
| 450 | BMRC_Client_eMTP_1_MRERD, |
|---|
| 451 | BMRC_Client_eMTP_1_VDMA, |
|---|
| 452 | BMRC_Client_eMTP_1_MTT, |
|---|
| 453 | |
|---|
| 454 | BMRC_Client_eAVD_0_BLK, |
|---|
| 455 | BMRC_Client_eAVD_0_ILA, |
|---|
| 456 | BMRC_Client_eAVD_0_OLA, |
|---|
| 457 | BMRC_Client_eAVD_0_CAB, |
|---|
| 458 | BMRC_Client_eAVD_0_SYM, |
|---|
| 459 | BMRC_Client_eAVD_0_PFR, |
|---|
| 460 | BMRC_Client_eAVD_0_MCP, |
|---|
| 461 | |
|---|
| 462 | BMRC_Client_eAVD_1_BLK, |
|---|
| 463 | BMRC_Client_eAVD_1_BLK_1, |
|---|
| 464 | BMRC_Client_eAVD_1_ILA, |
|---|
| 465 | BMRC_Client_eAVD_1_OLA, |
|---|
| 466 | BMRC_Client_eAVD_1_CAB, |
|---|
| 467 | BMRC_Client_eAVD_1_SYM, |
|---|
| 468 | BMRC_Client_eAVD_1_PFR, |
|---|
| 469 | BMRC_Client_eAVD_1_MCP, |
|---|
| 470 | |
|---|
| 471 | BMRC_Client_eSVD_0_BLK, |
|---|
| 472 | BMRC_Client_eSVD_0_BLK_1, |
|---|
| 473 | BMRC_Client_eSVD_0_ILA, |
|---|
| 474 | BMRC_Client_eSVD_0_OLA, |
|---|
| 475 | BMRC_Client_eSVD_0_CAB, |
|---|
| 476 | BMRC_Client_eSVD_0_ILSYM, |
|---|
| 477 | BMRC_Client_eSVD_0_BLA, |
|---|
| 478 | BMRC_Client_eSVD_0_BLSYM, |
|---|
| 479 | BMRC_Client_eSVD_0_MVSCL, |
|---|
| 480 | BMRC_Client_eSVD_0_SPIXSTR, |
|---|
| 481 | BMRC_Client_eSVD_0_PFR, |
|---|
| 482 | BMRC_Client_eSVD_0_MCP, |
|---|
| 483 | |
|---|
| 484 | BMRC_Client_eBLKAVG_0, |
|---|
| 485 | BMRC_Client_eBLKAVG_1, |
|---|
| 486 | |
|---|
| 487 | BMRC_Client_eBACH_PCM, |
|---|
| 488 | BMRC_Client_eBACH_ADP_0_RD, |
|---|
| 489 | BMRC_Client_eBACH_ADP_1_RD, |
|---|
| 490 | BMRC_Client_eBACH_ADP_SPDIF_RD, |
|---|
| 491 | BMRC_Client_eBACH_ADP_0_WR, |
|---|
| 492 | BMRC_Client_eBACH_ADP_1_WR, |
|---|
| 493 | BMRC_Client_eBACH_ADP_SPDIF_WR, |
|---|
| 494 | |
|---|
| 495 | BMRC_Client_eAUD_ZSP, |
|---|
| 496 | BMRC_Client_eAUD_AIO, |
|---|
| 497 | |
|---|
| 498 | BMRC_Client_eRAPTOR_0, |
|---|
| 499 | BMRC_Client_eRAPTOR_1, |
|---|
| 500 | |
|---|
| 501 | BMRC_Client_eVDEC_0_TTX, |
|---|
| 502 | BMRC_Client_eVDEC_0_3D, |
|---|
| 503 | BMRC_Client_eVDEC_0_656, |
|---|
| 504 | BMRC_Client_eVDEC_1_3D, |
|---|
| 505 | |
|---|
| 506 | BMRC_Client_eVDEC_0_WR_0, |
|---|
| 507 | BMRC_Client_eVDEC_0_RD_0, |
|---|
| 508 | BMRC_Client_eVDEC_0_RD_1, |
|---|
| 509 | |
|---|
| 510 | BMRC_Client_eAVFE_VDEC_0_TTX, |
|---|
| 511 | BMRC_Client_eAVFE_VDEC_0_MD_RD, |
|---|
| 512 | BMRC_Client_eAVFE_VDEC_0_MD_WR, |
|---|
| 513 | BMRC_Client_eAVFE_VDEC_0_VD_RD, |
|---|
| 514 | BMRC_Client_eAVFE_VDEC_0_VD_WR, |
|---|
| 515 | BMRC_Client_eAVFE_VIDBLK_CAP0, |
|---|
| 516 | BMRC_Client_eAVFE_VIDBLK_CAP1, |
|---|
| 517 | |
|---|
| 518 | BMRC_Client_eVEC_0_VBI_ENC, |
|---|
| 519 | BMRC_Client_eVEC_1_VBI_ENC, |
|---|
| 520 | BMRC_Client_eVEC_2_VBI_ENC, |
|---|
| 521 | |
|---|
| 522 | BMRC_Client_eVEC_0, |
|---|
| 523 | BMRC_Client_eVEC_1, |
|---|
| 524 | |
|---|
| 525 | BMRC_Client_eI656_ANC_0, |
|---|
| 526 | BMRC_Client_eI656_ANC_1, |
|---|
| 527 | |
|---|
| 528 | BMRC_Client_eAEGIS, |
|---|
| 529 | |
|---|
| 530 | BMRC_Client_eBVNB_CAP_0, |
|---|
| 531 | BMRC_Client_eBVNB_CAP_1, |
|---|
| 532 | BMRC_Client_eBVNB_CAP_2, |
|---|
| 533 | BMRC_Client_eBVNB_CAP_3, |
|---|
| 534 | BMRC_Client_eBVNB_CAP_4, |
|---|
| 535 | |
|---|
| 536 | BMRC_Client_eBVNF_RDC_0, |
|---|
| 537 | |
|---|
| 538 | BMRC_Client_eBVNF_MFD_0, |
|---|
| 539 | BMRC_Client_eBVNF_MFD_0_1, |
|---|
| 540 | BMRC_Client_eBVNF_MFD_1, |
|---|
| 541 | BMRC_Client_eBVNF_MFD_1_1, |
|---|
| 542 | BMRC_Client_eBVNF_MFD_2, |
|---|
| 543 | BMRC_Client_eBVNF_MFD_2_1, |
|---|
| 544 | |
|---|
| 545 | BMRC_Client_eBVNM_FGT_0, |
|---|
| 546 | BMRC_Client_eBVN_FGT_0, |
|---|
| 547 | |
|---|
| 548 | BMRC_Client_eBVN_FGT_0_BLKAVG_RD, |
|---|
| 549 | BMRC_Client_eBVN_FGT_0_RDMA, |
|---|
| 550 | BMRC_Client_eBVN_FGT_0_WR, |
|---|
| 551 | |
|---|
| 552 | BMRC_Client_eBVN_MCVP_0, |
|---|
| 553 | BMRC_Client_eBVN_MCVP_1, |
|---|
| 554 | BMRC_Client_eBVN_MCVP_2, |
|---|
| 555 | |
|---|
| 556 | BMRC_Client_eBVN_DNR_RW, |
|---|
| 557 | BMRC_Client_eBVN_MCVP_0_RD, |
|---|
| 558 | BMRC_Client_eBVN_MCVP_0_RW_0, |
|---|
| 559 | BMRC_Client_eBVN_MCVP_0_RW_1, |
|---|
| 560 | |
|---|
| 561 | BMRC_Client_eBVN_PDP_RD_0, |
|---|
| 562 | BMRC_Client_eBVN_PDP_WR_0, |
|---|
| 563 | BMRC_Client_eBVN_PDP_RD_1, |
|---|
| 564 | BMRC_Client_eBVN_PDP_WR_1, |
|---|
| 565 | |
|---|
| 566 | BMRC_Client_eBVN_FRC_0_CE, |
|---|
| 567 | BMRC_Client_eBVN_FRC_0_TMRV, |
|---|
| 568 | BMRC_Client_eBVN_FRC_0_PROF, |
|---|
| 569 | BMRC_Client_eBVN_FRC_0_WS2, |
|---|
| 570 | BMRC_Client_eBVN_FRC_0_WS1B, |
|---|
| 571 | BMRC_Client_eBVN_FRC_0_WS1, |
|---|
| 572 | BMRC_Client_eBVN_FRC_0_WS0, |
|---|
| 573 | BMRC_Client_eBVN_FRC_0_RSM, |
|---|
| 574 | BMRC_Client_eBVN_FRC_0_RS2, |
|---|
| 575 | BMRC_Client_eBVN_FRC_0_RS1, |
|---|
| 576 | BMRC_Client_eBVN_FRC_0_RS0P, |
|---|
| 577 | BMRC_Client_eBVN_FRC_0_RS0N, |
|---|
| 578 | BMRC_Client_eBVN_FRC_0_SRD, |
|---|
| 579 | BMRC_Client_eBVN_FRC_0_RS1B, |
|---|
| 580 | BMRC_Client_eBVN_FRC_0_WSM, |
|---|
| 581 | |
|---|
| 582 | BMRC_Client_ePC_VBI_TTX_REC, |
|---|
| 583 | BMRC_Client_ePC_VBI_656_REC, |
|---|
| 584 | BMRC_Client_ePC_VBI_FD, |
|---|
| 585 | |
|---|
| 586 | BMRC_Client_eMAD_0_PIX, |
|---|
| 587 | BMRC_Client_eMAD_0_QUANT, |
|---|
| 588 | |
|---|
| 589 | BMRC_Client_eMAD_0_FD_0, |
|---|
| 590 | BMRC_Client_eMAD_0_FD_1, |
|---|
| 591 | BMRC_Client_eMAD_0_FD_2, |
|---|
| 592 | BMRC_Client_eMAD_0_FD_3, |
|---|
| 593 | BMRC_Client_eMAD_0_CAP, |
|---|
| 594 | BMRC_Client_eMAD_0_QM, |
|---|
| 595 | |
|---|
| 596 | BMRC_Client_eMAD_1_FD_0, |
|---|
| 597 | BMRC_Client_eMAD_1_FD_1, |
|---|
| 598 | BMRC_Client_eMAD_1_FD_2, |
|---|
| 599 | BMRC_Client_eMAD_1_FD_3, |
|---|
| 600 | BMRC_Client_eMAD_1_CAP, |
|---|
| 601 | BMRC_Client_eMAD_1_QM, |
|---|
| 602 | |
|---|
| 603 | BMRC_Client_eTHD, |
|---|
| 604 | |
|---|
| 605 | #if BMRC_ALLOW_PCU_TO_ACCESS_KERNEL |
|---|
| 606 | /* PCU DMA client is used for page swapping on the 35230 so */ |
|---|
| 607 | /* it requires access to the kernel space. */ |
|---|
| 608 | #else |
|---|
| 609 | BMRC_Client_ePCU, |
|---|
| 610 | #endif |
|---|
| 611 | BMRC_Client_eRAAGA_0_0, |
|---|
| 612 | BMRC_Client_eRAAGA_0_1, |
|---|
| 613 | BMRC_Client_eRAAGA_1_0, |
|---|
| 614 | BMRC_Client_eRAAGA_1_1, |
|---|
| 615 | BMRC_Client_eTDI_RD, |
|---|
| 616 | BMRC_Client_eTDI_WR, |
|---|
| 617 | |
|---|
| 618 | #if BMRC_ALLOW_GFX_TO_ACCESS_KERNEL |
|---|
| 619 | /* allow magnum graphics HW cores (feeder and blitter) to read/write to/from kernel memory. */ |
|---|
| 620 | #else |
|---|
| 621 | /* prevent magnum graphics HW cores (feeder and blitter) from reading/writing to/from kernel memory. |
|---|
| 622 | This is default. |
|---|
| 623 | See BMRC_ALLOW_GFX_TO_ACCESS_KERNEL in bmrc.inc if you want to change this default. */ |
|---|
| 624 | BMRC_Client_eBVNB_GFD_0, |
|---|
| 625 | BMRC_Client_eBVNB_GFD_1, |
|---|
| 626 | BMRC_Client_eBVNB_GFD_2, |
|---|
| 627 | BMRC_Client_eBVNB_GFD_3, |
|---|
| 628 | BMRC_Client_eBVNB_GFD_CCC, |
|---|
| 629 | BMRC_Client_eM2MC_0, |
|---|
| 630 | BMRC_Client_eM2MC_1, |
|---|
| 631 | BMRC_Client_eSID, |
|---|
| 632 | BMRC_Client_ePIX_3D, |
|---|
| 633 | BMRC_Client_eBVN_JFD_0, |
|---|
| 634 | BMRC_Client_eV3D_0, |
|---|
| 635 | BMRC_Client_eV3D_1, |
|---|
| 636 | #endif |
|---|
| 637 | |
|---|
| 638 | BMRC_Client_eMaxCount |
|---|
| 639 | }; |
|---|