linux/drivers/net/ethernet/broadcom/bnx2x/bnx2x_self_test.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0
   2#include <linux/kernel.h>
   3#include <linux/netdevice.h>
   4#include "bnx2x.h"
   5
   6#define NA 0xCD
   7
   8#define IDLE_CHK_E1                     0x01
   9#define IDLE_CHK_E1H                    0x02
  10#define IDLE_CHK_E2                     0x04
  11#define IDLE_CHK_E3A0                   0x08
  12#define IDLE_CHK_E3B0                   0x10
  13
  14#define IDLE_CHK_ERROR                  1
  15#define IDLE_CHK_ERROR_NO_TRAFFIC       2
  16#define IDLE_CHK_WARNING                3
  17
  18#define MAX_FAIL_MSG 256
  19
  20/* statistics and error reporting */
  21static int idle_chk_errors, idle_chk_warnings;
  22
  23/* masks for all chip types */
  24static int is_e1, is_e1h, is_e2, is_e3a0, is_e3b0;
  25
  26/* struct for the argument list for a predicate in the self test databasei */
  27struct st_pred_args {
  28        u32 val1; /* value read from first register */
  29        u32 val2; /* value read from second register, if applicable */
  30        u32 imm1; /* 1st value in predicate condition, left-to-right */
  31        u32 imm2; /* 2nd value in predicate condition, left-to-right */
  32        u32 imm3; /* 3rd value in predicate condition, left-to-right */
  33        u32 imm4; /* 4th value in predicate condition, left-to-right */
  34};
  35
  36/* struct representing self test record - a single test */
  37struct st_record {
  38        u8 chip_mask;
  39        u8 macro;
  40        u32 reg1;
  41        u32 reg2;
  42        u16 loop;
  43        u16 incr;
  44        int (*bnx2x_predicate)(struct st_pred_args *pred_args);
  45        u32 reg3;
  46        u8 severity;
  47        char *fail_msg;
  48        struct st_pred_args pred_args;
  49};
  50
  51/* predicates for self test */
  52static int peq(struct st_pred_args *args)
  53{
  54        return (args->val1 == args->imm1);
  55}
  56
  57static int pneq(struct st_pred_args *args)
  58{
  59        return (args->val1 != args->imm1);
  60}
  61
  62static int pand_neq(struct st_pred_args *args)
  63{
  64        return ((args->val1 & args->imm1) != args->imm2);
  65}
  66
  67static int pand_neq_x2(struct st_pred_args *args)
  68{
  69        return (((args->val1 & args->imm1) != args->imm2) &&
  70                ((args->val1 & args->imm3) != args->imm4));
  71}
  72
  73static int pneq_err(struct st_pred_args *args)
  74{
  75        return ((args->val1 != args->imm1) && (idle_chk_errors > args->imm2));
  76}
  77
  78static int pgt(struct st_pred_args *args)
  79{
  80        return (args->val1 > args->imm1);
  81}
  82
  83static int pneq_r2(struct st_pred_args *args)
  84{
  85        return (args->val1 != args->val2);
  86}
  87
  88static int plt_sub_r2(struct st_pred_args *args)
  89{
  90        return (args->val1 < (args->val2 - args->imm1));
  91}
  92
  93static int pne_sub_r2(struct st_pred_args *args)
  94{
  95        return (args->val1 != (args->val2 - args->imm1));
  96}
  97
  98static int prsh_and_neq(struct st_pred_args *args)
  99{
 100        return (((args->val1 >> args->imm1) & args->imm2) != args->imm3);
 101}
 102
 103static int peq_neq_r2(struct st_pred_args *args)
 104{
 105        return ((args->val1 == args->imm1) && (args->val2 != args->imm2));
 106}
 107
 108static int peq_neq_neq_r2(struct st_pred_args *args)
 109{
 110        return ((args->val1 == args->imm1) && (args->val2 != args->imm2) &&
 111                (args->val2 != args->imm3));
 112}
 113
 114/* struct holding the database of self test checks (registers and predicates) */
 115/* lines start from 2 since line 1 is heading in csv */
 116#define ST_DB_LINES 468
 117static struct st_record st_database[ST_DB_LINES] = {
 118/*line 2*/{(0x3), 1, 0x2114,
 119        NA, 1, 0, pand_neq,
 120        NA, IDLE_CHK_ERROR,
 121        "PCIE: ucorr_err_status is not 0",
 122        {NA, NA, 0x0FF010, 0, NA, NA} },
 123
 124/*line 3*/{(0x3), 1, 0x2114,
 125        NA, 1, 0, pand_neq,
 126        NA, IDLE_CHK_WARNING,
 127        "PCIE: ucorr_err_status - Unsupported request error",
 128        {NA, NA, 0x100000, 0, NA, NA} },
 129
 130/*line 4*/{(0x3), 1, 0x2120,
 131        NA, 1, 0, pand_neq_x2,
 132        NA, IDLE_CHK_WARNING,
 133        "PCIE: corr_err_status is not 0x2000",
 134        {NA, NA, 0x31C1, 0x2000, 0x31C1, 0} },
 135
 136/*line 5*/{(0x3), 1, 0x2814,
 137        NA, 1, 0, pand_neq,
 138        NA, IDLE_CHK_ERROR,
 139        "PCIE: attentions register is not 0x40100",
 140        {NA, NA, ~0x40100, 0, NA, NA} },
 141
 142/*line 6*/{(0x2), 1, 0x281c,
 143        NA, 1, 0, pand_neq,
 144        NA, IDLE_CHK_ERROR,
 145        "PCIE: attentions register is not 0x40040100",
 146        {NA, NA, ~0x40040100, 0, NA, NA} },
 147
 148/*line 7*/{(0x2), 1, 0x2820,
 149        NA, 1, 0, pand_neq,
 150        NA, IDLE_CHK_ERROR,
 151        "PCIE: attentions register is not 0x40040100",
 152        {NA, NA, ~0x40040100, 0, NA, NA} },
 153
 154/*line 8*/{(0x3), 1, PXP2_REG_PGL_EXP_ROM2,
 155        NA, 1, 0, pneq,
 156        NA, IDLE_CHK_WARNING,
 157        "PXP2: There are outstanding read requests. Not all completios have arrived for read requests on tags that are marked with 0",
 158        {NA, NA, 0xffffffff, NA, NA, NA} },
 159
 160/*line 9*/{(0x3), 2, 0x212c,
 161        NA, 4, 4, pneq_err,
 162        NA, IDLE_CHK_WARNING,
 163        "PCIE: error packet header is not 0",
 164        {NA, NA, 0, NA, NA, NA} },
 165
 166/*line 10*/{(0x1C), 1, 0x2104,
 167        NA, 1, 0, pand_neq,
 168        NA, IDLE_CHK_ERROR,
 169        "PCIE: ucorr_err_status is not 0",
 170        {NA, NA, 0x0FD010, 0, NA, NA} },
 171
 172/*line 11*/{(0x1C), 1, 0x2104,
 173        NA, 1, 0, pand_neq,
 174        NA, IDLE_CHK_WARNING,
 175        "PCIE: ucorr_err_status - Unsupported request error",
 176        {NA, NA, 0x100000, 0, NA, NA} },
 177
 178/*line 12*/{(0x1C), 1, 0x2104,
 179        NA, 1, 0, pand_neq,
 180        NA, IDLE_CHK_WARNING,
 181        "PCIE: ucorr_err_status - Flow Control Protocol Error",
 182        {NA, NA, 0x2000, 0, NA, NA} },
 183
 184/*line 13*/{(0x1C), 1, 0x2110,
 185        NA, 1, 0, pand_neq_x2,
 186        NA, IDLE_CHK_WARNING,
 187        "PCIE: corr_err_status is not 0x2000",
 188        {NA, NA, 0x31C1, 0x2000, 0x31C1, 0} },
 189
 190/*line 14*/{(0x1C), 1, 0x2814,
 191        NA, 1, 0, pand_neq,
 192        NA, IDLE_CHK_WARNING,
 193        "PCIE: TTX_BRIDGE_FORWARD_ERR - Received master request while BME was 0",
 194        {NA, NA, 0x2000000, 0, NA, NA} },
 195
 196/*line 15*/{(0x1C), 1, 0x2814,
 197        NA, 1, 0, pand_neq,
 198        NA, IDLE_CHK_ERROR,
 199        "PCIE: Func 0 1: attentions register is not 0x2040902",
 200        {NA, NA, ~0x2040902, 0, NA, NA} },
 201
 202/*line 16*/{(0x1C), 1, 0x2854,
 203        NA, 1, 0, pand_neq,
 204        NA, IDLE_CHK_ERROR,
 205        "PCIE: Func 2 3 4: attentions register is not 0x10240902",
 206        {NA, NA, ~0x10240902, 0, NA, NA} },
 207
 208/*line 17*/{(0x1C), 1, 0x285c,
 209        NA, 1, 0, pand_neq,
 210        NA, IDLE_CHK_ERROR,
 211        "PCIE: Func 5 6 7: attentions register is not 0x10240902",
 212        {NA, NA, ~0x10240902, 0, NA, NA} },
 213
 214/*line 18*/{(0x18), 1, 0x3040,
 215        NA, 1, 0, pand_neq,
 216        NA, IDLE_CHK_ERROR,
 217        "PCIE: Overflow in DLP2TLP buffer",
 218        {NA, NA, 0x2, 0, NA, NA} },
 219
 220/*line 19*/{(0x1C), 1, PXP2_REG_PGL_EXP_ROM2,
 221        NA, 1, 0, pneq,
 222        NA, IDLE_CHK_WARNING,
 223        "PXP2: There are outstanding read requests for tags 0-31. Not all completios have arrived for read requests on tags that are marked with 0",
 224        {NA, NA, 0xffffffff, NA, NA, NA} },
 225
 226/*line 20*/{(0x1C), 2, 0x211c,
 227        NA, 4, 4, pneq_err,
 228        NA, IDLE_CHK_WARNING,
 229        "PCIE: error packet header is not 0",
 230        {NA, NA, 0, NA, NA, NA} },
 231
 232/*line 21*/{(0x1C), 1, PGLUE_B_REG_INCORRECT_RCV_DETAILS,
 233        NA, 1, 0, pneq,
 234        NA, IDLE_CHK_ERROR,
 235        "PGLUE_B: Packet received from PCIe not according to the rules",
 236        {NA, NA, 0, NA, NA, NA} },
 237
 238/*line 22*/{(0x1C), 1, PGLUE_B_REG_WAS_ERROR_VF_31_0,
 239        NA, 1, 0, pneq,
 240        NA, IDLE_CHK_WARNING,
 241        "PGLUE_B: was_error for VFs 0-31 is not 0",
 242        {NA, NA, 0, NA, NA, NA} },
 243
 244/*line 23*/{(0x1C), 1, PGLUE_B_REG_WAS_ERROR_VF_63_32,
 245        NA, 1, 0, pneq,
 246        NA, IDLE_CHK_WARNING,
 247        "PGLUE_B: was_error for VFs 32-63 is not 0",
 248        {NA, NA, 0, NA, NA, NA} },
 249
 250/*line 24*/{(0x1C), 1, PGLUE_B_REG_WAS_ERROR_VF_95_64,
 251        NA, 1, 0, pneq,
 252        NA, IDLE_CHK_WARNING,
 253        "PGLUE_B: was_error for VFs 64-95 is not 0",
 254        {NA, NA, 0, NA, NA, NA} },
 255
 256/*line 25*/{(0x1C), 1, PGLUE_B_REG_WAS_ERROR_VF_127_96,
 257        NA, 1, 0, pneq,
 258        NA, IDLE_CHK_WARNING,
 259        "PGLUE_B: was_error for VFs 96-127 is not 0",
 260        {NA, NA, 0, NA, NA, NA} },
 261
 262/*line 26*/{(0x1C), 1, PGLUE_B_REG_WAS_ERROR_PF_7_0,
 263        NA, 1, 0, pneq,
 264        NA, IDLE_CHK_WARNING,
 265        "PGLUE_B: was_error for PFs 0-7 is not 0",
 266        {NA, NA, 0, NA, NA, NA} },
 267
 268/*line 27*/{(0x1C), 1, PGLUE_B_REG_RX_ERR_DETAILS,
 269        NA, 1, 0, pneq,
 270        NA, IDLE_CHK_WARNING,
 271        "PGLUE_B: Completion received with error. (2:0) - PFID. (3) - VF_VALID. (9:4) - VFID. (11:10) - Error code : 0 - Completion Timeout; 1 - Unsupported Request; 2 - Completer Abort. (12) - valid bit",
 272        {NA, NA, 0, NA, NA, NA} },
 273
 274/*line 28*/{(0x1C), 1, PGLUE_B_REG_RX_TCPL_ERR_DETAILS,
 275        NA, 1, 0, pneq,
 276        NA, IDLE_CHK_WARNING,
 277        "PGLUE_B: ATS TCPL received with error. (2:0) - PFID. (3) - VF_VALID. (9:4) - VFID. (11:10) - Error code : 0 - Completion Timeout ; 1 - Unsupported Request; 2 - Completer Abort. (16:12) - OTB Entry ID. (17) - valid bit",
 278        {NA, NA, 0, NA, NA, NA} },
 279
 280/*line 29*/{(0x1C), 1, PGLUE_B_REG_TX_ERR_WR_ADD_31_0,
 281        NA, 1, 0, pneq,
 282        NA, IDLE_CHK_WARNING,
 283        "PGLUE_B: Error in master write. Address(31:0) is not 0",
 284        {NA, NA, 0, NA, NA, NA} },
 285
 286/*line 30*/{(0x1C), 1, PGLUE_B_REG_TX_ERR_WR_ADD_63_32,
 287        NA, 1, 0, pneq,
 288        NA, IDLE_CHK_WARNING,
 289        "PGLUE_B: Error in master write. Address(63:32) is not 0",
 290        {NA, NA, 0, NA, NA, NA} },
 291
 292/*line 31*/{(0x1C), 1, PGLUE_B_REG_TX_ERR_WR_DETAILS,
 293        NA, 1, 0, pneq,
 294        NA, IDLE_CHK_WARNING,
 295        "PGLUE_B: Error in master write. Error details register is not 0. (4:0) VQID. (23:21) - PFID. (24) - VF_VALID. (30:25) - VFID",
 296        {NA, NA, 0, NA, NA, NA} },
 297
 298/*line 32*/{(0x1C), 1, PGLUE_B_REG_TX_ERR_WR_DETAILS2,
 299        NA, 1, 0, pneq,
 300        NA, IDLE_CHK_WARNING,
 301        "PGLUE_B: Error in master write. Error details 2nd register is not 0. (21) - was_error set; (22) - BME cleared; (23) - FID_enable cleared; (24) - VF with parent PF FLR_request or IOV_disable_request",
 302        {NA, NA, 0, NA, NA, NA} },
 303
 304/*line 33*/{(0x1C), 1, PGLUE_B_REG_TX_ERR_RD_ADD_31_0,
 305        NA, 1, 0, pneq,
 306        NA, IDLE_CHK_WARNING,
 307        "PGLUE: Error in master read address(31:0) is not 0",
 308        {NA, NA, 0, NA, NA, NA} },
 309
 310/*line 34*/{(0x1C), 1, PGLUE_B_REG_TX_ERR_RD_ADD_63_32,
 311        NA, 1, 0, pneq,
 312        NA, IDLE_CHK_WARNING,
 313        "PGLUE_B: Error in master read address(63:32) is not 0",
 314        {NA, NA, 0, NA, NA, NA} },
 315
 316/*line 35*/{(0x1C), 1, PGLUE_B_REG_TX_ERR_RD_DETAILS,
 317        NA, 1, 0, pneq,
 318        NA, IDLE_CHK_WARNING,
 319        "PGLUE_B: Error in master read Error details register is not 0. (4:0) VQID. (23:21) - PFID. (24) - VF_VALID. (30:25) - VFID",
 320        {NA, NA, 0, NA, NA, NA} },
 321
 322/*line 36*/{(0x1C), 1, PGLUE_B_REG_TX_ERR_RD_DETAILS2,
 323        NA, 1, 0, pneq,
 324        NA, IDLE_CHK_WARNING,
 325        "PGLUE_B: Error in master read Error details 2nd register is not 0. (21) - was_error set; (22) - BME cleared; (23) - FID_enable cleared; (24) - VF with parent PF FLR_request or IOV_disable_request",
 326        {NA, NA, 0, NA, NA, NA} },
 327
 328/*line 37*/{(0x1C), 1, PGLUE_B_REG_VF_LENGTH_VIOLATION_DETAILS,
 329        NA, 1, 0, pneq,
 330        NA, IDLE_CHK_WARNING,
 331        "PGLUE_B: Target VF length violation access",
 332        {NA, NA, 0, NA, NA, NA} },
 333
 334/*line 38*/{(0x1C), 1, PGLUE_B_REG_VF_GRC_SPACE_VIOLATION_DETAILS,
 335        NA, 1, 0, pneq,
 336        NA, IDLE_CHK_WARNING,
 337        "PGLUE_B: Target VF GRC space access failed permission check",
 338        {NA, NA, 0, NA, NA, NA} },
 339
 340/*line 39*/{(0x1C), 1, PGLUE_B_REG_TAGS_63_32,
 341        NA, 1, 0, pneq,
 342        NA, IDLE_CHK_WARNING,
 343        "PGLUE_B: There are outstanding read requests for tags 32-63. Not all completios have arrived for read requests on tags that are marked with 0",
 344        {NA, NA, 0xffffffff, NA, NA, NA} },
 345
 346/*line 40*/{(0x1C), 3, PXP_REG_HST_VF_DISABLED_ERROR_VALID,
 347        PXP_REG_HST_VF_DISABLED_ERROR_DATA, 1, 0, pneq,
 348        NA, IDLE_CHK_WARNING,
 349        "PXP: Access to disabled VF took place",
 350        {NA, NA, 0, NA, NA, NA} },
 351
 352/*line 41*/{(0x1C), 1, PXP_REG_HST_PER_VIOLATION_VALID,
 353        NA, 1, 0, pneq,
 354        NA, IDLE_CHK_WARNING,
 355        "PXP: Zone A permission violation occurred",
 356        {NA, NA, 0, NA, NA, NA} },
 357
 358/*line 42*/{(0x1C), 1, PXP_REG_HST_INCORRECT_ACCESS_VALID,
 359        NA, 1, 0, pneq,
 360        NA, IDLE_CHK_WARNING,
 361        "PXP: Incorrect transaction took place",
 362        {NA, NA, 0, NA, NA, NA} },
 363
 364/*line 43*/{(0x1C), 1, PXP2_REG_RD_CPL_ERR_DETAILS,
 365        NA, 1, 0, pneq,
 366        NA, IDLE_CHK_WARNING,
 367        "PXP2: Completion received with error. Error details register is not 0. (15:0) - ECHO. (28:16) - Sub Request length plus start_offset_2_0 minus 1",
 368        {NA, NA, 0, NA, NA, NA} },
 369
 370/*line 44*/{(0x1C), 1, PXP2_REG_RD_CPL_ERR_DETAILS2,
 371        NA, 1, 0, pneq,
 372        NA, IDLE_CHK_WARNING,
 373        "PXP2: Completion received with error. Error details 2nd register is not 0. (4:0) - VQ ID. (8:5) - client ID. (9) - valid bit",
 374        {NA, NA, 0, NA, NA, NA} },
 375
 376/*line 45*/{(0x1F), 1, PXP2_REG_RQ_VQ0_ENTRY_CNT,
 377        NA, 1, 0, pneq,
 378        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 379        "PXP2: VQ0 is not empty",
 380        {NA, NA, 0, NA, NA, NA} },
 381
 382/*line 46*/{(0x1F), 1, PXP2_REG_RQ_VQ1_ENTRY_CNT,
 383        NA, 1, 0, pneq,
 384        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 385        "PXP2: VQ1 is not empty",
 386        {NA, NA, 0, NA, NA, NA} },
 387
 388/*line 47*/{(0x1F), 1, PXP2_REG_RQ_VQ2_ENTRY_CNT,
 389        NA, 1, 0, pneq,
 390        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 391        "PXP2: VQ2 is not empty",
 392        {NA, NA, 0, NA, NA, NA} },
 393
 394/*line 48*/{(0x1F), 1, PXP2_REG_RQ_VQ3_ENTRY_CNT,
 395        NA, 1, 0, pgt,
 396        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 397        "PXP2: VQ3 is not empty",
 398        {NA, NA, 2, NA, NA, NA} },
 399
 400/*line 49*/{(0x1F), 1, PXP2_REG_RQ_VQ4_ENTRY_CNT,
 401        NA, 1, 0, pneq,
 402        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 403        "PXP2: VQ4 is not empty",
 404        {NA, NA, 0, NA, NA, NA} },
 405
 406/*line 50*/{(0x1F), 1, PXP2_REG_RQ_VQ5_ENTRY_CNT,
 407        NA, 1, 0, pneq,
 408        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 409        "PXP2: VQ5 is not empty",
 410        {NA, NA, 0, NA, NA, NA} },
 411
 412/*line 51*/{(0x1F), 1, PXP2_REG_RQ_VQ6_ENTRY_CNT,
 413        NA, 1, 0, pneq,
 414        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 415        "PXP2: VQ6 is not empty",
 416        {NA, NA, 0, NA, NA, NA} },
 417
 418/*line 52*/{(0x1F), 1, PXP2_REG_RQ_VQ7_ENTRY_CNT,
 419        NA, 1, 0, pneq,
 420        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 421        "PXP2: VQ7 is not empty",
 422        {NA, NA, 0, NA, NA, NA} },
 423
 424/*line 53*/{(0x1F), 1, PXP2_REG_RQ_VQ8_ENTRY_CNT,
 425        NA, 1, 0, pneq,
 426        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 427        "PXP2: VQ8 is not empty",
 428        {NA, NA, 0, NA, NA, NA} },
 429
 430/*line 54*/{(0x1F), 1, PXP2_REG_RQ_VQ9_ENTRY_CNT,
 431        NA, 1, 0, pneq,
 432        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 433        "PXP2: VQ9 is not empty",
 434        {NA, NA, 0, NA, NA, NA} },
 435
 436/*line 55*/{(0x1F), 1, PXP2_REG_RQ_VQ10_ENTRY_CNT,
 437        NA, 1, 0, pneq,
 438        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 439        "PXP2: VQ10 is not empty",
 440        {NA, NA, 0, NA, NA, NA} },
 441
 442/*line 56*/{(0x1F), 1, PXP2_REG_RQ_VQ11_ENTRY_CNT,
 443        NA, 1, 0, pneq,
 444        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 445        "PXP2: VQ11 is not empty",
 446        {NA, NA, 0, NA, NA, NA} },
 447
 448/*line 57*/{(0x1F), 1, PXP2_REG_RQ_VQ12_ENTRY_CNT,
 449        NA, 1, 0, pneq,
 450        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 451        "PXP2: VQ12 is not empty",
 452        {NA, NA, 0, NA, NA, NA} },
 453
 454/*line 58*/{(0x1F), 1, PXP2_REG_RQ_VQ13_ENTRY_CNT,
 455        NA, 1, 0, pneq,
 456        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 457        "PXP2: VQ13 is not empty",
 458        {NA, NA, 0, NA, NA, NA} },
 459
 460/*line 59*/{(0x1F), 1, PXP2_REG_RQ_VQ14_ENTRY_CNT,
 461        NA, 1, 0, pneq,
 462        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 463        "PXP2: VQ14 is not empty",
 464        {NA, NA, 0, NA, NA, NA} },
 465
 466/*line 60*/{(0x1F), 1, PXP2_REG_RQ_VQ15_ENTRY_CNT,
 467        NA, 1, 0, pneq,
 468        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 469        "PXP2: VQ15 is not empty",
 470        {NA, NA, 0, NA, NA, NA} },
 471
 472/*line 61*/{(0x1F), 1, PXP2_REG_RQ_VQ16_ENTRY_CNT,
 473        NA, 1, 0, pneq,
 474        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 475        "PXP2: VQ16 is not empty",
 476        {NA, NA, 0, NA, NA, NA} },
 477
 478/*line 62*/{(0x1F), 1, PXP2_REG_RQ_VQ17_ENTRY_CNT,
 479        NA, 1, 0, pneq,
 480        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 481        "PXP2: VQ17 is not empty",
 482        {NA, NA, 0, NA, NA, NA} },
 483
 484/*line 63*/{(0x1F), 1, PXP2_REG_RQ_VQ18_ENTRY_CNT,
 485        NA, 1, 0, pneq,
 486        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 487        "PXP2: VQ18 is not empty",
 488        {NA, NA, 0, NA, NA, NA} },
 489
 490/*line 64*/{(0x1F), 1, PXP2_REG_RQ_VQ19_ENTRY_CNT,
 491        NA, 1, 0, pneq,
 492        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 493        "PXP2: VQ19 is not empty",
 494        {NA, NA, 0, NA, NA, NA} },
 495
 496/*line 65*/{(0x1F), 1, PXP2_REG_RQ_VQ20_ENTRY_CNT,
 497        NA, 1, 0, pneq,
 498        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 499        "PXP2: VQ20 is not empty",
 500        {NA, NA, 0, NA, NA, NA} },
 501
 502/*line 66*/{(0x1F), 1, PXP2_REG_RQ_VQ21_ENTRY_CNT,
 503        NA, 1, 0, pneq,
 504        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 505        "PXP2: VQ21 is not empty",
 506        {NA, NA, 0, NA, NA, NA} },
 507
 508/*line 67*/{(0x1F), 1, PXP2_REG_RQ_VQ22_ENTRY_CNT,
 509        NA, 1, 0, pneq,
 510        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 511        "PXP2: VQ22 is not empty",
 512        {NA, NA, 0, NA, NA, NA} },
 513
 514/*line 68*/{(0x1F), 1, PXP2_REG_RQ_VQ23_ENTRY_CNT,
 515        NA, 1, 0, pneq,
 516        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 517        "PXP2: VQ23 is not empty",
 518        {NA, NA, 0, NA, NA, NA} },
 519
 520/*line 69*/{(0x1F), 1, PXP2_REG_RQ_VQ24_ENTRY_CNT,
 521        NA, 1, 0, pneq,
 522        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 523        "PXP2: VQ24 is not empty",
 524        {NA, NA, 0, NA, NA, NA} },
 525
 526/*line 70*/{(0x1F), 1, PXP2_REG_RQ_VQ25_ENTRY_CNT,
 527        NA, 1, 0, pneq,
 528        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 529        "PXP2: VQ25 is not empty",
 530        {NA, NA, 0, NA, NA, NA} },
 531
 532/*line 71*/{(0x1F), 1, PXP2_REG_RQ_VQ26_ENTRY_CNT,
 533        NA, 1, 0, pneq,
 534        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 535        "PXP2: VQ26 is not empty",
 536        {NA, NA, 0, NA, NA, NA} },
 537
 538/*line 72*/{(0x1F), 1, PXP2_REG_RQ_VQ27_ENTRY_CNT,
 539        NA, 1, 0, pneq,
 540        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 541        "PXP2: VQ27 is not empty",
 542        {NA, NA, 0, NA, NA, NA} },
 543
 544/*line 73*/{(0x1F), 1, PXP2_REG_RQ_VQ28_ENTRY_CNT,
 545        NA, 1, 0, pneq,
 546        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 547        "PXP2: VQ28 is not empty",
 548        {NA, NA, 0, NA, NA, NA} },
 549
 550/*line 74*/{(0x1F), 1, PXP2_REG_RQ_VQ29_ENTRY_CNT,
 551        NA, 1, 0, pneq,
 552        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 553        "PXP2: VQ29 is not empty",
 554        {NA, NA, 0, NA, NA, NA} },
 555
 556/*line 75*/{(0x1F), 1, PXP2_REG_RQ_VQ30_ENTRY_CNT,
 557        NA, 1, 0, pneq,
 558        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 559        "PXP2: VQ30 is not empty",
 560        {NA, NA, 0, NA, NA, NA} },
 561
 562/*line 76*/{(0x1F), 1, PXP2_REG_RQ_VQ31_ENTRY_CNT,
 563        NA, 1, 0, pneq,
 564        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 565        "PXP2: VQ31 is not empty",
 566        {NA, NA, 0, NA, NA, NA} },
 567
 568/*line 77*/{(0x1F), 1, PXP2_REG_RQ_UFIFO_NUM_OF_ENTRY,
 569        NA, 1, 0, pneq,
 570        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 571        "PXP2: rq_ufifo_num_of_entry is not 0",
 572        {NA, NA, 0, NA, NA, NA} },
 573
 574/*line 78*/{(0x1F), 1, PXP2_REG_RQ_RBC_DONE,
 575        NA, 1, 0, pneq,
 576        NA, IDLE_CHK_ERROR,
 577        "PXP2: rq_rbc_done is not 1",
 578        {NA, NA, 1, NA, NA, NA} },
 579
 580/*line 79*/{(0x1F), 1, PXP2_REG_RQ_CFG_DONE,
 581        NA, 1, 0, pneq,
 582        NA, IDLE_CHK_ERROR,
 583        "PXP2: rq_cfg_done is not 1",
 584        {NA, NA, 1, NA, NA, NA} },
 585
 586/*line 80*/{(0x3), 1, PXP2_REG_PSWRQ_BW_CREDIT,
 587        NA, 1, 0, pneq,
 588        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 589        "PXP2: rq_read_credit and rq_write_credit are not 3",
 590        {NA, NA, 0x1B, NA, NA, NA} },
 591
 592/*line 81*/{(0x1F), 1, PXP2_REG_RD_START_INIT,
 593        NA, 1, 0, pneq,
 594        NA, IDLE_CHK_ERROR,
 595        "PXP2: rd_start_init is not 1",
 596        {NA, NA, 1, NA, NA, NA} },
 597
 598/*line 82*/{(0x1F), 1, PXP2_REG_RD_INIT_DONE,
 599        NA, 1, 0, pneq,
 600        NA, IDLE_CHK_ERROR,
 601        "PXP2: rd_init_done is not 1",
 602        {NA, NA, 1, NA, NA, NA} },
 603
 604/*line 83*/{(0x1F), 3, PXP2_REG_RD_SR_CNT,
 605        PXP2_REG_RD_SR_NUM_CFG, 1, 0, pne_sub_r2,
 606        NA, IDLE_CHK_WARNING,
 607        "PXP2: rd_sr_cnt is not equal to rd_sr_num_cfg",
 608        {NA, NA, 1, NA, NA, NA} },
 609
 610/*line 84*/{(0x1F), 3, PXP2_REG_RD_BLK_CNT,
 611        PXP2_REG_RD_BLK_NUM_CFG, 1, 0, pneq_r2,
 612        NA, IDLE_CHK_WARNING,
 613        "PXP2: rd_blk_cnt is not equal to rd_blk_num_cfg",
 614        {NA, NA, NA, NA, NA, NA} },
 615
 616/*line 85*/{(0x1F), 3, PXP2_REG_RD_SR_CNT,
 617        PXP2_REG_RD_SR_NUM_CFG, 1, 0, plt_sub_r2,
 618        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 619        "PXP2: There are more than two unused SRs",
 620        {NA, NA, 3, NA, NA, NA} },
 621
 622/*line 86*/{(0x1F), 3, PXP2_REG_RD_BLK_CNT,
 623        PXP2_REG_RD_BLK_NUM_CFG, 1, 0, plt_sub_r2,
 624        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 625        "PXP2: There are more than two unused blocks",
 626        {NA, NA, 2, NA, NA, NA} },
 627
 628/*line 87*/{(0x1F), 1, PXP2_REG_RD_PORT_IS_IDLE_0,
 629        NA, 1, 0, pneq,
 630        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 631        "PXP2: P0 All delivery ports are not idle",
 632        {NA, NA, 1, NA, NA, NA} },
 633
 634/*line 88*/{(0x1F), 1, PXP2_REG_RD_PORT_IS_IDLE_1,
 635        NA, 1, 0, pneq,
 636        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 637        "PXP2: P1 All delivery ports are not idle",
 638        {NA, NA, 1, NA, NA, NA} },
 639
 640/*line 89*/{(0x1F), 2, PXP2_REG_RD_ALMOST_FULL_0,
 641        NA, 11, 4, pneq,
 642        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 643        "PXP2: rd_almost_full is not 0",
 644        {NA, NA, 0, NA, NA, NA} },
 645
 646/*line 90*/{(0x1F), 1, PXP2_REG_RD_DISABLE_INPUTS,
 647        NA, 1, 0, pneq,
 648        NA, IDLE_CHK_ERROR,
 649        "PXP2: PSWRD inputs are disabled",
 650        {NA, NA, 0, NA, NA, NA} },
 651
 652/*line 91*/{(0x1F), 1, PXP2_REG_HST_HEADER_FIFO_STATUS,
 653        NA, 1, 0, pneq,
 654        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 655        "PXP2: HST header FIFO status is not 0",
 656        {NA, NA, 0, NA, NA, NA} },
 657
 658/*line 92*/{(0x1F), 1, PXP2_REG_HST_DATA_FIFO_STATUS,
 659        NA, 1, 0, pneq,
 660        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 661        "PXP2: HST data FIFO status is not 0",
 662        {NA, NA, 0, NA, NA, NA} },
 663
 664/*line 93*/{(0x3), 1, PXP2_REG_PGL_WRITE_BLOCKED,
 665        NA, 1, 0, pneq,
 666        NA, IDLE_CHK_ERROR,
 667        "PXP2: pgl_write_blocked is not 0",
 668        {NA, NA, 0, NA, NA, NA} },
 669
 670/*line 94*/{(0x3), 1, PXP2_REG_PGL_READ_BLOCKED,
 671        NA, 1, 0, pneq,
 672        NA, IDLE_CHK_ERROR,
 673        "PXP2: pgl_read_blocked is not 0",
 674        {NA, NA, 0, NA, NA, NA} },
 675
 676/*line 95*/{(0x1C), 1, PXP2_REG_PGL_WRITE_BLOCKED,
 677        NA, 1, 0, pneq,
 678        NA, IDLE_CHK_WARNING,
 679        "PXP2: pgl_write_blocked is not 0",
 680        {NA, NA, 0, NA, NA, NA} },
 681
 682/*line 96*/{(0x1C), 1, PXP2_REG_PGL_READ_BLOCKED,
 683        NA, 1, 0, pneq,
 684        NA, IDLE_CHK_WARNING,
 685        "PXP2: pgl_read_blocked is not 0",
 686        {NA, NA, 0, NA, NA, NA} },
 687
 688/*line 97*/{(0x1F), 1, PXP2_REG_PGL_TXW_CDTS,
 689        NA, 1, 0, prsh_and_neq,
 690        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 691        "PXP2: There is data which is ready",
 692        {NA, NA, 17, 1, 0, NA} },
 693
 694/*line 98*/{(0x1F), 1, PXP_REG_HST_ARB_IS_IDLE,
 695        NA, 1, 0, pneq,
 696        NA, IDLE_CHK_WARNING,
 697        "PXP: HST arbiter is not idle",
 698        {NA, NA, 1, NA, NA, NA} },
 699
 700/*line 99*/{(0x1F), 1, PXP_REG_HST_CLIENTS_WAITING_TO_ARB,
 701        NA, 1, 0, pneq,
 702        NA, IDLE_CHK_WARNING,
 703        "PXP: HST one of the clients is waiting for delivery",
 704        {NA, NA, 0, NA, NA, NA} },
 705
 706/*line 100*/{(0x1E), 1, PXP_REG_HST_DISCARD_INTERNAL_WRITES_STATUS,
 707        NA, 1, 0, pneq,
 708        NA, IDLE_CHK_WARNING,
 709        "PXP: HST Close the gates: Discarding internal writes",
 710        {NA, NA, 0, NA, NA, NA} },
 711
 712/*line 101*/{(0x1E), 1, PXP_REG_HST_DISCARD_DOORBELLS_STATUS,
 713        NA, 1, 0, pneq,
 714        NA, IDLE_CHK_WARNING,
 715        "PXP: HST Close the gates: Discarding doorbells",
 716        {NA, NA, 0, NA, NA, NA} },
 717
 718/*line 102*/{(0x1C), 1, PXP2_REG_RQ_GARB,
 719        NA, 1, 0, pand_neq,
 720        NA, IDLE_CHK_WARNING,
 721        "PXP2: PSWRQ Close the gates is asserted. Check AEU AFTER_INVERT registers for parity errors",
 722        {NA, NA, 0x1000, 0, NA, NA} },
 723
 724/*line 103*/{(0x1F), 1, DMAE_REG_GO_C0,
 725        NA, 1, 0, pneq,
 726        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 727        "DMAE: command 0 go is not 0",
 728        {NA, NA, 0, NA, NA, NA} },
 729
 730/*line 104*/{(0x1F), 1, DMAE_REG_GO_C1,
 731        NA, 1, 0, pneq,
 732        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 733        "DMAE: command 1 go is not 0",
 734        {NA, NA, 0, NA, NA, NA} },
 735
 736/*line 105*/{(0x1F), 1, DMAE_REG_GO_C2,
 737        NA, 1, 0, pneq,
 738        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 739        "DMAE: command 2 go is not 0",
 740        {NA, NA, 0, NA, NA, NA} },
 741
 742/*line 106*/{(0x1F), 1, DMAE_REG_GO_C3,
 743        NA, 1, 0, pneq,
 744        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 745        "DMAE: command 3 go is not 0",
 746        {NA, NA, 0, NA, NA, NA} },
 747
 748/*line 107*/{(0x1F), 1, DMAE_REG_GO_C4,
 749        NA, 1, 0, pneq,
 750        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 751        "DMAE: command 4 go is not 0",
 752        {NA, NA, 0, NA, NA, NA} },
 753
 754/*line 108*/{(0x1F), 1, DMAE_REG_GO_C5,
 755        NA, 1, 0, pneq,
 756        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 757        "DMAE: command 5 go is not 0",
 758        {NA, NA, 0, NA, NA, NA} },
 759
 760/*line 109*/{(0x1F), 1, DMAE_REG_GO_C6,
 761        NA, 1, 0, pneq,
 762        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 763        "DMAE: command 6 go is not 0",
 764        {NA, NA, 0, NA, NA, NA} },
 765
 766/*line 110*/{(0x1F), 1, DMAE_REG_GO_C7,
 767        NA, 1, 0, pneq,
 768        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 769        "DMAE: command 7 go is not 0",
 770        {NA, NA, 0, NA, NA, NA} },
 771
 772/*line 111*/{(0x1F), 1, DMAE_REG_GO_C8,
 773        NA, 1, 0, pneq,
 774        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 775        "DMAE: command 8 go is not 0",
 776        {NA, NA, 0, NA, NA, NA} },
 777
 778/*line 112*/{(0x1F), 1, DMAE_REG_GO_C9,
 779        NA, 1, 0, pneq,
 780        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 781        "DMAE: command 9 go is not 0",
 782        {NA, NA, 0, NA, NA, NA} },
 783
 784/*line 113*/{(0x1F), 1, DMAE_REG_GO_C10,
 785        NA, 1, 0, pneq,
 786        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 787        "DMAE: command 10 go is not 0",
 788        {NA, NA, 0, NA, NA, NA} },
 789
 790/*line 114*/{(0x1F), 1, DMAE_REG_GO_C11,
 791        NA, 1, 0, pneq,
 792        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 793        "DMAE: command 11 go is not 0",
 794        {NA, NA, 0, NA, NA, NA} },
 795
 796/*line 115*/{(0x1F), 1, DMAE_REG_GO_C12,
 797        NA, 1, 0, pneq,
 798        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 799        "DMAE: command 12 go is not 0",
 800        {NA, NA, 0, NA, NA, NA} },
 801
 802/*line 116*/{(0x1F), 1, DMAE_REG_GO_C13,
 803        NA, 1, 0, pneq,
 804        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 805        "DMAE: command 13 go is not 0",
 806        {NA, NA, 0, NA, NA, NA} },
 807
 808/*line 117*/{(0x1F), 1, DMAE_REG_GO_C14,
 809        NA, 1, 0, pneq,
 810        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 811        "DMAE: command 14 go is not 0",
 812        {NA, NA, 0, NA, NA, NA} },
 813
 814/*line 118*/{(0x1F), 1, DMAE_REG_GO_C15,
 815        NA, 1, 0, pneq,
 816        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 817        "DMAE: command 15 go is not 0",
 818        {NA, NA, 0, NA, NA, NA} },
 819
 820/*line 119*/{(0x1F), 1, CFC_REG_ERROR_VECTOR,
 821        NA, 1, 0, pneq,
 822        NA, IDLE_CHK_ERROR,
 823        "CFC: error vector is not 0",
 824        {NA, NA, 0, NA, NA, NA} },
 825
 826/*line 120*/{(0x1F), 1, CFC_REG_NUM_LCIDS_ARRIVING,
 827        NA, 1, 0, pneq,
 828        NA, IDLE_CHK_ERROR,
 829        "CFC: number of arriving LCIDs is not 0",
 830        {NA, NA, 0, NA, NA, NA} },
 831
 832/*line 121*/{(0x1F), 1, CFC_REG_NUM_LCIDS_ALLOC,
 833        NA, 1, 0, pneq,
 834        NA, IDLE_CHK_ERROR,
 835        "CFC: number of alloc LCIDs is not 0",
 836        {NA, NA, 0, NA, NA, NA} },
 837
 838/*line 122*/{(0x1F), 1, CFC_REG_NUM_LCIDS_LEAVING,
 839        NA, 1, 0, pneq,
 840        NA, IDLE_CHK_ERROR,
 841        "CFC: number of leaving LCIDs is not 0",
 842        {NA, NA, 0, NA, NA, NA} },
 843
 844/*line 123*/{(0x1F), 7, CFC_REG_INFO_RAM,
 845        CFC_REG_CID_CAM, (CFC_REG_INFO_RAM_SIZE >> 4), 16, peq_neq_neq_r2,
 846        CFC_REG_ACTIVITY_COUNTER, IDLE_CHK_ERROR_NO_TRAFFIC,
 847        "CFC: AC is neither 0 nor 2 on connType 0 (ETH)",
 848        {NA, NA, 0, 0, 2, NA} },
 849
 850/*line 124*/{(0x1F), 7, CFC_REG_INFO_RAM,
 851        CFC_REG_CID_CAM, (CFC_REG_INFO_RAM_SIZE >> 4), 16, peq_neq_r2,
 852        CFC_REG_ACTIVITY_COUNTER, IDLE_CHK_ERROR_NO_TRAFFIC,
 853        "CFC: AC is not 0 on connType 1 (TOE)",
 854        {NA, NA, 1, 0, NA, NA} },
 855
 856/*line 125*/{(0x1F), 7, CFC_REG_INFO_RAM,
 857        CFC_REG_CID_CAM, (CFC_REG_INFO_RAM_SIZE >> 4), 16, peq_neq_r2,
 858        CFC_REG_ACTIVITY_COUNTER, IDLE_CHK_ERROR_NO_TRAFFIC,
 859        "CFC: AC is not 0 on connType 3 (iSCSI)",
 860        {NA, NA, 3, 0, NA, NA} },
 861
 862/*line 126*/{(0x1F), 7, CFC_REG_INFO_RAM,
 863        CFC_REG_CID_CAM, (CFC_REG_INFO_RAM_SIZE >> 4), 16, peq_neq_r2,
 864        CFC_REG_ACTIVITY_COUNTER, IDLE_CHK_ERROR_NO_TRAFFIC,
 865        "CFC: AC is not 0 on connType 4 (FCoE)",
 866        {NA, NA, 4, 0, NA, NA} },
 867
 868/*line 127*/{(0x1F), 2, QM_REG_QTASKCTR_0,
 869        NA, 64, 4, pneq,
 870        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 871        "QM: Queue is not empty",
 872        {NA, NA, 0, NA, NA, NA} },
 873
 874/*line 128*/{(0xF), 3, QM_REG_VOQCREDIT_0,
 875        QM_REG_VOQINITCREDIT_0, 1, 0, pneq_r2,
 876        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 877        "QM: VOQ_0, VOQ credit is not equal to initial credit",
 878        {NA, NA, NA, NA, NA, NA} },
 879
 880/*line 129*/{(0xF), 3, QM_REG_VOQCREDIT_1,
 881        QM_REG_VOQINITCREDIT_1, 1, 0, pneq_r2,
 882        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 883        "QM: VOQ_1, VOQ credit is not equal to initial credit",
 884        {NA, NA, NA, NA, NA, NA} },
 885
 886/*line 130*/{(0xF), 3, QM_REG_VOQCREDIT_4,
 887        QM_REG_VOQINITCREDIT_4, 1, 0, pneq_r2,
 888        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 889        "QM: VOQ_4, VOQ credit is not equal to initial credit",
 890        {NA, NA, NA, NA, NA, NA} },
 891
 892/*line 131*/{(0x3), 3, QM_REG_PORT0BYTECRD,
 893        QM_REG_BYTECRDINITVAL, 1, 0, pneq_r2,
 894        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 895        "QM: P0 Byte credit is not equal to initial credit",
 896        {NA, NA, NA, NA, NA, NA} },
 897
 898/*line 132*/{(0x3), 3, QM_REG_PORT1BYTECRD,
 899        QM_REG_BYTECRDINITVAL, 1, 0, pneq_r2,
 900        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 901        "QM: P1 Byte credit is not equal to initial credit",
 902        {NA, NA, NA, NA, NA, NA} },
 903
 904/*line 133*/{(0x1F), 1, CCM_REG_CAM_OCCUP,
 905        NA, 1, 0, pneq,
 906        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 907        "CCM: XX protection CAM is not empty",
 908        {NA, NA, 0, NA, NA, NA} },
 909
 910/*line 134*/{(0x1F), 1, TCM_REG_CAM_OCCUP,
 911        NA, 1, 0, pneq,
 912        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 913        "TCM: XX protection CAM is not empty",
 914        {NA, NA, 0, NA, NA, NA} },
 915
 916/*line 135*/{(0x1F), 1, UCM_REG_CAM_OCCUP,
 917        NA, 1, 0, pneq,
 918        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 919        "UCM: XX protection CAM is not empty",
 920        {NA, NA, 0, NA, NA, NA} },
 921
 922/*line 136*/{(0x1F), 1, XCM_REG_CAM_OCCUP,
 923        NA, 1, 0, pneq,
 924        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 925        "XCM: XX protection CAM is not empty",
 926        {NA, NA, 0, NA, NA, NA} },
 927
 928/*line 137*/{(0x1F), 1, BRB1_REG_NUM_OF_FULL_BLOCKS,
 929        NA, 1, 0, pneq,
 930        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 931        "BRB1: BRB is not empty",
 932        {NA, NA, 0, NA, NA, NA} },
 933
 934/*line 138*/{(0x1F), 1, CSEM_REG_SLEEP_THREADS_VALID,
 935        NA, 1, 0, pneq,
 936        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 937        "CSEM: There are sleeping threads",
 938        {NA, NA, 0, NA, NA, NA} },
 939
 940/*line 139*/{(0x1F), 1, TSEM_REG_SLEEP_THREADS_VALID,
 941        NA, 1, 0, pneq,
 942        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 943        "TSEM: There are sleeping threads",
 944        {NA, NA, 0, NA, NA, NA} },
 945
 946/*line 140*/{(0x1F), 1, USEM_REG_SLEEP_THREADS_VALID,
 947        NA, 1, 0, pneq,
 948        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 949        "USEM: There are sleeping threads",
 950        {NA, NA, 0, NA, NA, NA} },
 951
 952/*line 141*/{(0x1F), 1, XSEM_REG_SLEEP_THREADS_VALID,
 953        NA, 1, 0, pneq,
 954        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 955        "XSEM: There are sleeping threads",
 956        {NA, NA, 0, NA, NA, NA} },
 957
 958/*line 142*/{(0x1F), 1, CSEM_REG_SLOW_EXT_STORE_EMPTY,
 959        NA, 1, 0, pneq,
 960        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 961        "CSEM: External store FIFO is not empty",
 962        {NA, NA, 1, NA, NA, NA} },
 963
 964/*line 143*/{(0x1F), 1, TSEM_REG_SLOW_EXT_STORE_EMPTY,
 965        NA, 1, 0, pneq,
 966        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 967        "TSEM: External store FIFO is not empty",
 968        {NA, NA, 1, NA, NA, NA} },
 969
 970/*line 144*/{(0x1F), 1, USEM_REG_SLOW_EXT_STORE_EMPTY,
 971        NA, 1, 0, pneq,
 972        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 973        "USEM: External store FIFO is not empty",
 974        {NA, NA, 1, NA, NA, NA} },
 975
 976/*line 145*/{(0x1F), 1, XSEM_REG_SLOW_EXT_STORE_EMPTY,
 977        NA, 1, 0, pneq,
 978        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 979        "XSEM: External store FIFO is not empty",
 980        {NA, NA, 1, NA, NA, NA} },
 981
 982/*line 146*/{(0x1F), 1, CSDM_REG_SYNC_PARSER_EMPTY,
 983        NA, 1, 0, pneq,
 984        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 985        "CSDM: Parser serial FIFO is not empty",
 986        {NA, NA, 1, NA, NA, NA} },
 987
 988/*line 147*/{(0x1F), 1, TSDM_REG_SYNC_PARSER_EMPTY,
 989        NA, 1, 0, pneq,
 990        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 991        "TSDM: Parser serial FIFO is not empty",
 992        {NA, NA, 1, NA, NA, NA} },
 993
 994/*line 148*/{(0x1F), 1, USDM_REG_SYNC_PARSER_EMPTY,
 995        NA, 1, 0, pneq,
 996        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
 997        "USDM: Parser serial FIFO is not empty",
 998        {NA, NA, 1, NA, NA, NA} },
 999
1000/*line 149*/{(0x1F), 1, XSDM_REG_SYNC_PARSER_EMPTY,
1001        NA, 1, 0, pneq,
1002        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1003        "XSDM: Parser serial FIFO is not empty",
1004        {NA, NA, 1, NA, NA, NA} },
1005
1006/*line 150*/{(0x1F), 1, CSDM_REG_SYNC_SYNC_EMPTY,
1007        NA, 1, 0, pneq,
1008        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1009        "CSDM: Parser SYNC serial FIFO is not empty",
1010        {NA, NA, 1, NA, NA, NA} },
1011
1012/*line 151*/{(0x1F), 1, TSDM_REG_SYNC_SYNC_EMPTY,
1013        NA, 1, 0, pneq,
1014        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1015        "TSDM: Parser SYNC serial FIFO is not empty",
1016        {NA, NA, 1, NA, NA, NA} },
1017
1018/*line 152*/{(0x1F), 1, USDM_REG_SYNC_SYNC_EMPTY,
1019        NA, 1, 0, pneq,
1020        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1021        "USDM: Parser SYNC serial FIFO is not empty",
1022        {NA, NA, 1, NA, NA, NA} },
1023
1024/*line 153*/{(0x1F), 1, XSDM_REG_SYNC_SYNC_EMPTY,
1025        NA, 1, 0, pneq,
1026        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1027        "XSDM: Parser SYNC serial FIFO is not empty",
1028        {NA, NA, 1, NA, NA, NA} },
1029
1030/*line 154*/{(0x1F), 1, CSDM_REG_RSP_PXP_CTRL_RDATA_EMPTY,
1031        NA, 1, 0, pneq,
1032        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1033        "CSDM: pxp_ctrl rd_data fifo is not empty in sdm_dma_rsp block",
1034        {NA, NA, 1, NA, NA, NA} },
1035
1036/*line 155*/{(0x1F), 1, TSDM_REG_RSP_PXP_CTRL_RDATA_EMPTY,
1037        NA, 1, 0, pneq,
1038        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1039        "TSDM: pxp_ctrl rd_data fifo is not empty in sdm_dma_rsp block",
1040        {NA, NA, 1, NA, NA, NA} },
1041
1042/*line 156*/{(0x1F), 1, USDM_REG_RSP_PXP_CTRL_RDATA_EMPTY,
1043        NA, 1, 0, pneq,
1044        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1045        "USDM: pxp_ctrl rd_data fifo is not empty in sdm_dma_rsp block",
1046        {NA, NA, 1, NA, NA, NA} },
1047
1048/*line 157*/{(0x1F), 1, XSDM_REG_RSP_PXP_CTRL_RDATA_EMPTY,
1049        NA, 1, 0, pneq,
1050        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1051        "XSDM: pxp_ctrl rd_data fifo is not empty in sdm_dma_rsp block",
1052        {NA, NA, 1, NA, NA, NA} },
1053
1054/*line 158*/{(0x1F), 1, DORQ_REG_DQ_FILL_LVLF,
1055        NA, 1, 0, pneq,
1056        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1057        "DORQ: DORQ queue is not empty",
1058        {NA, NA, 0, NA, NA, NA} },
1059
1060/*line 159*/{(0x1F), 1, CFC_REG_CFC_INT_STS,
1061        NA, 1, 0, pneq,
1062        NA, IDLE_CHK_ERROR,
1063        "CFC: Interrupt status is not 0",
1064        {NA, NA, 0, NA, NA, NA} },
1065
1066/*line 160*/{(0x1F), 1, CDU_REG_CDU_INT_STS,
1067        NA, 1, 0, pneq,
1068        NA, IDLE_CHK_ERROR,
1069        "CDU: Interrupt status is not 0",
1070        {NA, NA, 0, NA, NA, NA} },
1071
1072/*line 161*/{(0x1F), 1, CCM_REG_CCM_INT_STS,
1073        NA, 1, 0, pneq,
1074        NA, IDLE_CHK_ERROR,
1075        "CCM: Interrupt status is not 0",
1076        {NA, NA, 0, NA, NA, NA} },
1077
1078/*line 162*/{(0x1F), 1, TCM_REG_TCM_INT_STS,
1079        NA, 1, 0, pneq,
1080        NA, IDLE_CHK_ERROR,
1081        "TCM: Interrupt status is not 0",
1082        {NA, NA, 0, NA, NA, NA} },
1083
1084/*line 163*/{(0x1F), 1, UCM_REG_UCM_INT_STS,
1085        NA, 1, 0, pneq,
1086        NA, IDLE_CHK_ERROR,
1087        "UCM: Interrupt status is not 0",
1088        {NA, NA, 0, NA, NA, NA} },
1089
1090/*line 164*/{(0x1F), 1, XCM_REG_XCM_INT_STS,
1091        NA, 1, 0, pneq,
1092        NA, IDLE_CHK_ERROR,
1093        "XCM: Interrupt status is not 0",
1094        {NA, NA, 0, NA, NA, NA} },
1095
1096/*line 165*/{(0xF), 1, PBF_REG_PBF_INT_STS,
1097        NA, 1, 0, pneq,
1098        NA, IDLE_CHK_ERROR,
1099        "PBF: Interrupt status is not 0",
1100        {NA, NA, 0, NA, NA, NA} },
1101
1102/*line 166*/{(0x1F), 1, TM_REG_TM_INT_STS,
1103        NA, 1, 0, pneq,
1104        NA, IDLE_CHK_ERROR,
1105        "TIMERS: Interrupt status is not 0",
1106        {NA, NA, 0, NA, NA, NA} },
1107
1108/*line 167*/{(0x1F), 1, DORQ_REG_DORQ_INT_STS,
1109        NA, 1, 0, pneq,
1110        NA, IDLE_CHK_ERROR,
1111        "DORQ: Interrupt status is not 0",
1112        {NA, NA, 0, NA, NA, NA} },
1113
1114/*line 168*/{(0x1F), 1, SRC_REG_SRC_INT_STS,
1115        NA, 1, 0, pneq,
1116        NA, IDLE_CHK_ERROR,
1117        "SRCH: Interrupt status is not 0",
1118        {NA, NA, 0, NA, NA, NA} },
1119
1120/*line 169*/{(0x1F), 1, PRS_REG_PRS_INT_STS,
1121        NA, 1, 0, pneq,
1122        NA, IDLE_CHK_ERROR,
1123        "PRS: Interrupt status is not 0",
1124        {NA, NA, 0, NA, NA, NA} },
1125
1126/*line 170*/{(0x1F), 1, BRB1_REG_BRB1_INT_STS,
1127        NA, 1, 0, pand_neq,
1128        NA, IDLE_CHK_ERROR,
1129        "BRB1: Interrupt status is not 0",
1130        {NA, NA, ~0xFC00, 0, NA, NA} },
1131
1132/*line 171*/{(0x1F), 1, GRCBASE_XPB + PB_REG_PB_INT_STS,
1133        NA, 1, 0, pneq,
1134        NA, IDLE_CHK_ERROR,
1135        "XPB: Interrupt status is not 0",
1136        {NA, NA, 0, NA, NA, NA} },
1137
1138/*line 172*/{(0x1F), 1, GRCBASE_UPB + PB_REG_PB_INT_STS,
1139        NA, 1, 0, pneq,
1140        NA, IDLE_CHK_ERROR,
1141        "UPB: Interrupt status is not 0",
1142        {NA, NA, 0, NA, NA, NA} },
1143
1144/*line 173*/{(0x1), 1, PXP2_REG_PXP2_INT_STS,
1145        NA, 1, 0, pneq,
1146        NA, IDLE_CHK_WARNING,
1147        "PXP2: Interrupt status 0 is not 0",
1148        {NA, NA, 0, NA, NA, NA} },
1149
1150/*line 174*/{(0x1E), 1, PXP2_REG_PXP2_INT_STS_0,
1151        NA, 1, 0, pneq,
1152        NA, IDLE_CHK_WARNING,
1153        "PXP2: Interrupt status 0 is not 0",
1154        {NA, NA, 0, NA, NA, NA} },
1155
1156/*line 175*/{(0x1E), 1, PXP2_REG_PXP2_INT_STS_1,
1157        NA, 1, 0, pneq,
1158        NA, IDLE_CHK_WARNING,
1159        "PXP2: Interrupt status 1 is not 0",
1160        {NA, NA, 0, NA, NA, NA} },
1161
1162/*line 176*/{(0x1F), 1, QM_REG_QM_INT_STS,
1163        NA, 1, 0, pneq,
1164        NA, IDLE_CHK_ERROR,
1165        "QM: Interrupt status is not 0",
1166        {NA, NA, 0, NA, NA, NA} },
1167
1168/*line 177*/{(0x1F), 1, PXP_REG_PXP_INT_STS_0,
1169        NA, 1, 0, pneq,
1170        NA, IDLE_CHK_WARNING,
1171        "PXP: P0 Interrupt status is not 0",
1172        {NA, NA, 0, NA, NA, NA} },
1173
1174/*line 178*/{(0x1F), 1, PXP_REG_PXP_INT_STS_1,
1175        NA, 1, 0, pneq,
1176        NA, IDLE_CHK_WARNING,
1177        "PXP: P1 Interrupt status is not 0",
1178        {NA, NA, 0, NA, NA, NA} },
1179
1180/*line 179*/{(0x1C), 1, PGLUE_B_REG_PGLUE_B_INT_STS,
1181        NA, 1, 0, pneq,
1182        NA, IDLE_CHK_WARNING,
1183        "PGLUE_B: Interrupt status is not 0",
1184        {NA, NA, 0, NA, NA, NA} },
1185
1186/*line 180*/{(0x1F), 1, DORQ_REG_RSPA_CRD_CNT,
1187        NA, 1, 0, pneq,
1188        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1189        "DORQ: Credit to XCM is not full",
1190        {NA, NA, 2, NA, NA, NA} },
1191
1192/*line 181*/{(0x1F), 1, DORQ_REG_RSPB_CRD_CNT,
1193        NA, 1, 0, pneq,
1194        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1195        "DORQ: Credit to UCM is not full",
1196        {NA, NA, 2, NA, NA, NA} },
1197
1198/*line 182*/{(0x3), 1, QM_REG_VOQCRDERRREG,
1199        NA, 1, 0, pneq,
1200        NA, IDLE_CHK_ERROR,
1201        "QM: Credit error register is not 0 (byte or credit overflow/underflow)",
1202        {NA, NA, 0, NA, NA, NA} },
1203
1204/*line 183*/{(0x1F), 1, DORQ_REG_DQ_FULL_ST,
1205        NA, 1, 0, pneq,
1206        NA, IDLE_CHK_ERROR,
1207        "DORQ: DORQ queue is full",
1208        {NA, NA, 0, NA, NA, NA} },
1209
1210/*line 184*/{(0x1F), 1, MISC_REG_AEU_AFTER_INVERT_1_FUNC_0,
1211        NA, 1, 0, pand_neq,
1212        NA, IDLE_CHK_WARNING,
1213        "AEU: P0 AFTER_INVERT_1 is not 0",
1214        {NA, NA, ~0xCFFC, 0, NA, NA} },
1215
1216/*line 185*/{(0x1F), 1, MISC_REG_AEU_AFTER_INVERT_2_FUNC_0,
1217        NA, 1, 0, pneq,
1218        NA, IDLE_CHK_ERROR,
1219        "AEU: P0 AFTER_INVERT_2 is not 0",
1220        {NA, NA, 0, NA, NA, NA} },
1221
1222/*line 186*/{(0x1F), 1, MISC_REG_AEU_AFTER_INVERT_3_FUNC_0,
1223        NA, 1, 0, pand_neq,
1224        NA, IDLE_CHK_ERROR,
1225        "AEU: P0 AFTER_INVERT_3 is not 0",
1226        {NA, NA, ~0xFFFF0000, 0, NA, NA} },
1227
1228/*line 187*/{(0x1F), 1, MISC_REG_AEU_AFTER_INVERT_4_FUNC_0,
1229        NA, 1, 0, pand_neq,
1230        NA, IDLE_CHK_ERROR,
1231        "AEU: P0 AFTER_INVERT_4 is not 0",
1232        {NA, NA, ~0x801FFFFF, 0, NA, NA} },
1233
1234/*line 188*/{(0x3), 1, MISC_REG_AEU_AFTER_INVERT_1_FUNC_1,
1235        NA, 1, 0, pand_neq,
1236        NA, IDLE_CHK_WARNING,
1237        "AEU: P1 AFTER_INVERT_1 is not 0",
1238        {NA, NA, ~0xCFFC, 0, NA, NA} },
1239
1240/*line 189*/{(0x3), 1, MISC_REG_AEU_AFTER_INVERT_2_FUNC_1,
1241        NA, 1, 0, pneq,
1242        NA, IDLE_CHK_ERROR,
1243        "AEU: P1 AFTER_INVERT_2 is not 0",
1244        {NA, NA, 0, NA, NA, NA} },
1245
1246/*line 190*/{(0x3), 1, MISC_REG_AEU_AFTER_INVERT_3_FUNC_1,
1247        NA, 1, 0, pand_neq,
1248        NA, IDLE_CHK_ERROR,
1249        "AEU: P1 AFTER_INVERT_3 is not 0",
1250        {NA, NA, ~0xFFFF0000, 0, NA, NA} },
1251
1252/*line 191*/{(0x3), 1, MISC_REG_AEU_AFTER_INVERT_4_FUNC_1,
1253        NA, 1, 0, pand_neq,
1254        NA, IDLE_CHK_ERROR,
1255        "AEU: P1 AFTER_INVERT_4 is not 0",
1256        {NA, NA, ~0x801FFFFF, 0, NA, NA} },
1257
1258/*line 192*/{(0x1F), 1, MISC_REG_AEU_AFTER_INVERT_1_MCP,
1259        NA, 1, 0, pand_neq,
1260        NA, IDLE_CHK_WARNING,
1261        "AEU: MCP AFTER_INVERT_1 is not 0",
1262        {NA, NA, ~0xCFFC, 0, NA, NA} },
1263
1264/*line 193*/{(0x1F), 1, MISC_REG_AEU_AFTER_INVERT_2_MCP,
1265        NA, 1, 0, pneq,
1266        NA, IDLE_CHK_ERROR,
1267        "AEU: MCP AFTER_INVERT_2 is not 0",
1268        {NA, NA, 0, NA, NA, NA} },
1269
1270/*line 194*/{(0x1F), 1, MISC_REG_AEU_AFTER_INVERT_3_MCP,
1271        NA, 1, 0, pand_neq,
1272        NA, IDLE_CHK_ERROR,
1273        "AEU: MCP AFTER_INVERT_3 is not 0",
1274        {NA, NA, ~0xFFFF0000, 0, NA, NA} },
1275
1276/*line 195*/{(0x1F), 1, MISC_REG_AEU_AFTER_INVERT_4_MCP,
1277        NA, 1, 0, pand_neq,
1278        NA, IDLE_CHK_ERROR,
1279        "AEU: MCP AFTER_INVERT_4 is not 0",
1280        {NA, NA, ~0x801FFFFF, 0, NA, NA} },
1281
1282/*line 196*/{(0xF), 5, PBF_REG_P0_CREDIT,
1283        PBF_REG_P0_INIT_CRD, 1, 0, pneq_r2,
1284        PBF_REG_DISABLE_NEW_TASK_PROC_P0, IDLE_CHK_ERROR_NO_TRAFFIC,
1285        "PBF: P0 credit is not equal to init_crd",
1286        {NA, NA, NA, NA, NA, NA} },
1287
1288/*line 197*/{(0xF), 5, PBF_REG_P1_CREDIT,
1289        PBF_REG_P1_INIT_CRD, 1, 0, pneq_r2,
1290        PBF_REG_DISABLE_NEW_TASK_PROC_P1, IDLE_CHK_ERROR_NO_TRAFFIC,
1291        "PBF: P1 credit is not equal to init_crd",
1292        {NA, NA, NA, NA, NA, NA} },
1293
1294/*line 198*/{(0xF), 3, PBF_REG_P4_CREDIT,
1295        PBF_REG_P4_INIT_CRD, 1, 0, pneq_r2,
1296        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1297        "PBF: P4 credit is not equal to init_crd",
1298        {NA, NA, NA, NA, NA, NA} },
1299
1300/*line 199*/{(0x10), 5, PBF_REG_CREDIT_Q0,
1301        PBF_REG_INIT_CRD_Q0, 1, 0, pneq_r2,
1302        PBF_REG_DISABLE_NEW_TASK_PROC_Q0, IDLE_CHK_ERROR_NO_TRAFFIC,
1303        "PBF: Q0 credit is not equal to init_crd",
1304        {NA, NA, NA, NA, NA, NA} },
1305
1306/*line 200*/{(0x10), 5, PBF_REG_CREDIT_Q1,
1307        PBF_REG_INIT_CRD_Q1, 1, 0, pneq_r2,
1308        PBF_REG_DISABLE_NEW_TASK_PROC_Q1, IDLE_CHK_ERROR_NO_TRAFFIC,
1309        "PBF: Q1 credit is not equal to init_crd",
1310        {NA, NA, NA, NA, NA, NA} },
1311
1312/*line 201*/{(0x10), 5, PBF_REG_CREDIT_Q2,
1313        PBF_REG_INIT_CRD_Q2, 1, 0, pneq_r2,
1314        PBF_REG_DISABLE_NEW_TASK_PROC_Q2, IDLE_CHK_ERROR_NO_TRAFFIC,
1315        "PBF: Q2 credit is not equal to init_crd",
1316        {NA, NA, NA, NA, NA, NA} },
1317
1318/*line 202*/{(0x10), 5, PBF_REG_CREDIT_Q3,
1319        PBF_REG_INIT_CRD_Q3, 1, 0, pneq_r2,
1320        PBF_REG_DISABLE_NEW_TASK_PROC_Q3, IDLE_CHK_ERROR_NO_TRAFFIC,
1321        "PBF: Q3 credit is not equal to init_crd",
1322        {NA, NA, NA, NA, NA, NA} },
1323
1324/*line 203*/{(0x10), 5, PBF_REG_CREDIT_Q4,
1325        PBF_REG_INIT_CRD_Q4, 1, 0, pneq_r2,
1326        PBF_REG_DISABLE_NEW_TASK_PROC_Q4, IDLE_CHK_ERROR_NO_TRAFFIC,
1327        "PBF: Q4 credit is not equal to init_crd",
1328        {NA, NA, NA, NA, NA, NA} },
1329
1330/*line 204*/{(0x10), 5, PBF_REG_CREDIT_Q5,
1331        PBF_REG_INIT_CRD_Q5, 1, 0, pneq_r2,
1332        PBF_REG_DISABLE_NEW_TASK_PROC_Q5, IDLE_CHK_ERROR_NO_TRAFFIC,
1333        "PBF: Q5 credit is not equal to init_crd",
1334        {NA, NA, NA, NA, NA, NA} },
1335
1336/*line 205*/{(0x10), 3, PBF_REG_CREDIT_LB_Q,
1337        PBF_REG_INIT_CRD_LB_Q, 1, 0, pneq_r2,
1338        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1339        "PBF: LB Q credit is not equal to init_crd",
1340        {NA, NA, NA, NA, NA, NA} },
1341
1342/*line 206*/{(0xF), 1, PBF_REG_P0_TASK_CNT,
1343        NA, 1, 0, pneq,
1344        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1345        "PBF: P0 task_cnt is not 0",
1346        {NA, NA, 0, NA, NA, NA} },
1347
1348/*line 207*/{(0xF), 1, PBF_REG_P1_TASK_CNT,
1349        NA, 1, 0, pneq,
1350        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1351        "PBF: P1 task_cnt is not 0",
1352        {NA, NA, 0, NA, NA, NA} },
1353
1354/*line 208*/{(0xF), 1, PBF_REG_P4_TASK_CNT,
1355        NA, 1, 0, pneq,
1356        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1357        "PBF: P4 task_cnt is not 0",
1358        {NA, NA, 0, NA, NA, NA} },
1359
1360/*line 209*/{(0x10), 1, PBF_REG_TASK_CNT_Q0,
1361        NA, 1, 0, pneq,
1362        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1363        "PBF: Q0 task_cnt is not 0",
1364        {NA, NA, 0, NA, NA, NA} },
1365
1366/*line 210*/{(0x10), 1, PBF_REG_TASK_CNT_Q1,
1367        NA, 1, 0, pneq,
1368        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1369        "PBF: Q1 task_cnt is not 0",
1370        {NA, NA, 0, NA, NA, NA} },
1371
1372/*line 211*/{(0x10), 1, PBF_REG_TASK_CNT_Q2,
1373        NA, 1, 0, pneq,
1374        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1375        "PBF: Q2 task_cnt is not 0",
1376        {NA, NA, 0, NA, NA, NA} },
1377
1378/*line 212*/{(0x10), 1, PBF_REG_TASK_CNT_Q3,
1379        NA, 1, 0, pneq,
1380        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1381        "PBF: Q3 task_cnt is not 0",
1382        {NA, NA, 0, NA, NA, NA} },
1383
1384/*line 213*/{(0x10), 1, PBF_REG_TASK_CNT_Q4,
1385        NA, 1, 0, pneq,
1386        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1387        "PBF: Q4 task_cnt is not 0",
1388        {NA, NA, 0, NA, NA, NA} },
1389
1390/*line 214*/{(0x10), 1, PBF_REG_TASK_CNT_Q5,
1391        NA, 1, 0, pneq,
1392        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1393        "PBF: Q5 task_cnt is not 0",
1394        {NA, NA, 0, NA, NA, NA} },
1395
1396/*line 215*/{(0x10), 1, PBF_REG_TASK_CNT_LB_Q,
1397        NA, 1, 0, pneq,
1398        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1399        "PBF: LB Q task_cnt is not 0",
1400        {NA, NA, 0, NA, NA, NA} },
1401
1402/*line 216*/{(0x1F), 1, XCM_REG_CFC_INIT_CRD,
1403        NA, 1, 0, pneq,
1404        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1405        "XCM: CFC_INIT_CRD is not 1",
1406        {NA, NA, 1, NA, NA, NA} },
1407
1408/*line 217*/{(0x1F), 1, UCM_REG_CFC_INIT_CRD,
1409        NA, 1, 0, pneq,
1410        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1411        "UCM: CFC_INIT_CRD is not 1",
1412        {NA, NA, 1, NA, NA, NA} },
1413
1414/*line 218*/{(0x1F), 1, TCM_REG_CFC_INIT_CRD,
1415        NA, 1, 0, pneq,
1416        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1417        "TCM: CFC_INIT_CRD is not 1",
1418        {NA, NA, 1, NA, NA, NA} },
1419
1420/*line 219*/{(0x1F), 1, CCM_REG_CFC_INIT_CRD,
1421        NA, 1, 0, pneq,
1422        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1423        "CCM: CFC_INIT_CRD is not 1",
1424        {NA, NA, 1, NA, NA, NA} },
1425
1426/*line 220*/{(0x1F), 1, XCM_REG_XQM_INIT_CRD,
1427        NA, 1, 0, pneq,
1428        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1429        "XCM: XQM_INIT_CRD is not 32",
1430        {NA, NA, 32, NA, NA, NA} },
1431
1432/*line 221*/{(0x1F), 1, UCM_REG_UQM_INIT_CRD,
1433        NA, 1, 0, pneq,
1434        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1435        "UCM: UQM_INIT_CRD is not 32",
1436        {NA, NA, 32, NA, NA, NA} },
1437
1438/*line 222*/{(0x1F), 1, TCM_REG_TQM_INIT_CRD,
1439        NA, 1, 0, pneq,
1440        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1441        "TCM: TQM_INIT_CRD is not 32",
1442        {NA, NA, 32, NA, NA, NA} },
1443
1444/*line 223*/{(0x1F), 1, CCM_REG_CQM_INIT_CRD,
1445        NA, 1, 0, pneq,
1446        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1447        "CCM: CQM_INIT_CRD is not 32",
1448        {NA, NA, 32, NA, NA, NA} },
1449
1450/*line 224*/{(0x1F), 1, XCM_REG_TM_INIT_CRD,
1451        NA, 1, 0, pneq,
1452        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1453        "XCM: TM_INIT_CRD is not 4",
1454        {NA, NA, 4, NA, NA, NA} },
1455
1456/*line 225*/{(0x1F), 1, UCM_REG_TM_INIT_CRD,
1457        NA, 1, 0, pneq,
1458        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1459        "UCM: TM_INIT_CRD is not 4",
1460        {NA, NA, 4, NA, NA, NA} },
1461
1462/*line 226*/{(0x1F), 1, XCM_REG_FIC0_INIT_CRD,
1463        NA, 1, 0, pneq,
1464        NA, IDLE_CHK_WARNING,
1465        "XCM: FIC0_INIT_CRD is not 64",
1466        {NA, NA, 64, NA, NA, NA} },
1467
1468/*line 227*/{(0x1F), 1, UCM_REG_FIC0_INIT_CRD,
1469        NA, 1, 0, pneq,
1470        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1471        "UCM: FIC0_INIT_CRD is not 64",
1472        {NA, NA, 64, NA, NA, NA} },
1473
1474/*line 228*/{(0x1F), 1, TCM_REG_FIC0_INIT_CRD,
1475        NA, 1, 0, pneq,
1476        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1477        "TCM: FIC0_INIT_CRD is not 64",
1478        {NA, NA, 64, NA, NA, NA} },
1479
1480/*line 229*/{(0x1F), 1, CCM_REG_FIC0_INIT_CRD,
1481        NA, 1, 0, pneq,
1482        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1483        "CCM: FIC0_INIT_CRD is not 64",
1484        {NA, NA, 64, NA, NA, NA} },
1485
1486/*line 230*/{(0x1F), 1, XCM_REG_FIC1_INIT_CRD,
1487        NA, 1, 0, pneq,
1488        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1489        "XCM: FIC1_INIT_CRD is not 64",
1490        {NA, NA, 64, NA, NA, NA} },
1491
1492/*line 231*/{(0x1F), 1, UCM_REG_FIC1_INIT_CRD,
1493        NA, 1, 0, pneq,
1494        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1495        "UCM: FIC1_INIT_CRD is not 64",
1496        {NA, NA, 64, NA, NA, NA} },
1497
1498/*line 232*/{(0x1F), 1, TCM_REG_FIC1_INIT_CRD,
1499        NA, 1, 0, pneq,
1500        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1501        "TCM: FIC1_INIT_CRD is not 64",
1502        {NA, NA, 64, NA, NA, NA} },
1503
1504/*line 233*/{(0x1F), 1, CCM_REG_FIC1_INIT_CRD,
1505        NA, 1, 0, pneq,
1506        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1507        "CCM: FIC1_INIT_CRD is not 64",
1508        {NA, NA, 64, NA, NA, NA} },
1509
1510/*line 234*/{(0x1), 1, XCM_REG_XX_FREE,
1511        NA, 1, 0, pneq,
1512        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1513        "XCM: XX_FREE differs from expected 31",
1514        {NA, NA, 31, NA, NA, NA} },
1515
1516/*line 235*/{(0x1E), 1, XCM_REG_XX_FREE,
1517        NA, 1, 0, pneq,
1518        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1519        "XCM: XX_FREE differs from expected 32",
1520        {NA, NA, 32, NA, NA, NA} },
1521
1522/*line 236*/{(0x1F), 1, UCM_REG_XX_FREE,
1523        NA, 1, 0, pneq,
1524        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1525        "UCM: XX_FREE differs from expected 27",
1526        {NA, NA, 27, NA, NA, NA} },
1527
1528/*line 237*/{(0x7), 1, TCM_REG_XX_FREE,
1529        NA, 1, 0, pneq,
1530        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1531        "TCM: XX_FREE differs from expected 32",
1532        {NA, NA, 32, NA, NA, NA} },
1533
1534/*line 238*/{(0x18), 1, TCM_REG_XX_FREE,
1535        NA, 1, 0, pneq,
1536        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1537        "TCM: XX_FREE differs from expected 29",
1538        {NA, NA, 29, NA, NA, NA} },
1539
1540/*line 239*/{(0x1F), 1, CCM_REG_XX_FREE,
1541        NA, 1, 0, pneq,
1542        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1543        "CCM: XX_FREE differs from expected 24",
1544        {NA, NA, 24, NA, NA, NA} },
1545
1546/*line 240*/{(0x1F), 1, XSEM_REG_FAST_MEMORY + 0x18000,
1547        NA, 1, 0, pneq,
1548        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1549        "XSEM: FOC0 credit less than initial credit",
1550        {NA, NA, 0, NA, NA, NA} },
1551
1552/*line 241*/{(0x1F), 1, XSEM_REG_FAST_MEMORY + 0x18040,
1553        NA, 1, 0, pneq,
1554        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1555        "XSEM: FOC1 credit less than initial credit",
1556        {NA, NA, 24, NA, NA, NA} },
1557
1558/*line 242*/{(0x1F), 1, XSEM_REG_FAST_MEMORY + 0x18080,
1559        NA, 1, 0, pneq,
1560        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1561        "XSEM: FOC2 credit less than initial credit",
1562        {NA, NA, 12, NA, NA, NA} },
1563
1564/*line 243*/{(0x1F), 1, USEM_REG_FAST_MEMORY + 0x18000,
1565        NA, 1, 0, pneq,
1566        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1567        "USEM: FOC0 credit less than initial credit",
1568        {NA, NA, 26, NA, NA, NA} },
1569
1570/*line 244*/{(0x1F), 1, USEM_REG_FAST_MEMORY + 0x18040,
1571        NA, 1, 0, pneq,
1572        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1573        "USEM: FOC1 credit less than initial credit",
1574        {NA, NA, 78, NA, NA, NA} },
1575
1576/*line 245*/{(0x1F), 1, USEM_REG_FAST_MEMORY + 0x18080,
1577        NA, 1, 0, pneq,
1578        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1579        "USEM: FOC2 credit less than initial credit",
1580        {NA, NA, 16, NA, NA, NA} },
1581
1582/*line 246*/{(0x1F), 1, USEM_REG_FAST_MEMORY + 0x180C0,
1583        NA, 1, 0, pneq,
1584        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1585        "USEM: FOC3 credit less than initial credit",
1586        {NA, NA, 32, NA, NA, NA} },
1587
1588/*line 247*/{(0x1F), 1, TSEM_REG_FAST_MEMORY + 0x18000,
1589        NA, 1, 0, pneq,
1590        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1591        "TSEM: FOC0 credit less than initial credit",
1592        {NA, NA, 52, NA, NA, NA} },
1593
1594/*line 248*/{(0x1F), 1, TSEM_REG_FAST_MEMORY + 0x18040,
1595        NA, 1, 0, pneq,
1596        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1597        "TSEM: FOC1 credit less than initial credit",
1598        {NA, NA, 24, NA, NA, NA} },
1599
1600/*line 249*/{(0x1F), 1, TSEM_REG_FAST_MEMORY + 0x18080,
1601        NA, 1, 0, pneq,
1602        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1603        "TSEM: FOC2 credit less than initial credit",
1604        {NA, NA, 12, NA, NA, NA} },
1605
1606/*line 250*/{(0x1F), 1, TSEM_REG_FAST_MEMORY + 0x180C0,
1607        NA, 1, 0, pneq,
1608        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1609        "TSEM: FOC3 credit less than initial credit",
1610        {NA, NA, 32, NA, NA, NA} },
1611
1612/*line 251*/{(0x1F), 1, CSEM_REG_FAST_MEMORY + 0x18000,
1613        NA, 1, 0, pneq,
1614        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1615        "CSEM: FOC0 credit less than initial credit",
1616        {NA, NA, 16, NA, NA, NA} },
1617
1618/*line 252*/{(0x1F), 1, CSEM_REG_FAST_MEMORY + 0x18040,
1619        NA, 1, 0, pneq,
1620        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1621        "CSEM: FOC1 credit less than initial credit",
1622        {NA, NA, 18, NA, NA, NA} },
1623
1624/*line 253*/{(0x1F), 1, CSEM_REG_FAST_MEMORY + 0x18080,
1625        NA, 1, 0, pneq,
1626        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1627        "CSEM: FOC2 credit less than initial credit",
1628        {NA, NA, 48, NA, NA, NA} },
1629
1630/*line 254*/{(0x1F), 1, CSEM_REG_FAST_MEMORY + 0x180C0,
1631        NA, 1, 0, pneq,
1632        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1633        "CSEM: FOC3 credit less than initial credit",
1634        {NA, NA, 14, NA, NA, NA} },
1635
1636/*line 255*/{(0x1F), 1, PRS_REG_TSDM_CURRENT_CREDIT,
1637        NA, 1, 0, pneq,
1638        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1639        "PRS: TSDM current credit is not 0",
1640        {NA, NA, 0, NA, NA, NA} },
1641
1642/*line 256*/{(0x1F), 1, PRS_REG_TCM_CURRENT_CREDIT,
1643        NA, 1, 0, pneq,
1644        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1645        "PRS: TCM current credit is not 0",
1646        {NA, NA, 0, NA, NA, NA} },
1647
1648/*line 257*/{(0x1F), 1, PRS_REG_CFC_LD_CURRENT_CREDIT,
1649        NA, 1, 0, pneq,
1650        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1651        "PRS: CFC_LD current credit is not 0",
1652        {NA, NA, 0, NA, NA, NA} },
1653
1654/*line 258*/{(0x1F), 1, PRS_REG_CFC_SEARCH_CURRENT_CREDIT,
1655        NA, 1, 0, pneq,
1656        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1657        "PRS: CFC_SEARCH current credit is not 0",
1658        {NA, NA, 0, NA, NA, NA} },
1659
1660/*line 259*/{(0x1F), 1, PRS_REG_SRC_CURRENT_CREDIT,
1661        NA, 1, 0, pneq,
1662        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1663        "PRS: SRCH current credit is not 0",
1664        {NA, NA, 0, NA, NA, NA} },
1665
1666/*line 260*/{(0x1F), 1, PRS_REG_PENDING_BRB_PRS_RQ,
1667        NA, 1, 0, pneq,
1668        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1669        "PRS: PENDING_BRB_PRS_RQ is not 0",
1670        {NA, NA, 0, NA, NA, NA} },
1671
1672/*line 261*/{(0x1F), 2, PRS_REG_PENDING_BRB_CAC0_RQ,
1673        NA, 5, 4, pneq,
1674        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1675        "PRS: PENDING_BRB_CAC_RQ is not 0",
1676        {NA, NA, 0, NA, NA, NA} },
1677
1678/*line 262*/{(0x1F), 1, PRS_REG_SERIAL_NUM_STATUS_LSB,
1679        NA, 1, 0, pneq,
1680        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1681        "PRS: SERIAL_NUM_STATUS_LSB is not 0",
1682        {NA, NA, 0, NA, NA, NA} },
1683
1684/*line 263*/{(0x1F), 1, PRS_REG_SERIAL_NUM_STATUS_MSB,
1685        NA, 1, 0, pneq,
1686        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1687        "PRS: SERIAL_NUM_STATUS_MSB is not 0",
1688        {NA, NA, 0, NA, NA, NA} },
1689
1690/*line 264*/{(0x1F), 1, CDU_REG_ERROR_DATA,
1691        NA, 1, 0, pneq,
1692        NA, IDLE_CHK_ERROR,
1693        "CDU: ERROR_DATA is not 0",
1694        {NA, NA, 0, NA, NA, NA} },
1695
1696/*line 265*/{(0x1F), 1, CCM_REG_STORM_LENGTH_MIS,
1697        NA, 1, 0, pneq,
1698        NA, IDLE_CHK_ERROR,
1699        "CCM: STORM declared message length unequal to actual",
1700        {NA, NA, 0, NA, NA, NA} },
1701
1702/*line 266*/{(0x1F), 1, CCM_REG_CSDM_LENGTH_MIS,
1703        NA, 1, 0, pneq,
1704        NA, IDLE_CHK_ERROR,
1705        "CCM: CSDM declared message length unequal to actual",
1706        {NA, NA, 0, NA, NA, NA} },
1707
1708/*line 267*/{(0x1F), 1, CCM_REG_TSEM_LENGTH_MIS,
1709        NA, 1, 0, pneq,
1710        NA, IDLE_CHK_ERROR,
1711        "CCM: TSEM declared message length unequal to actual",
1712        {NA, NA, 0, NA, NA, NA} },
1713
1714/*line 268*/{(0x1F), 1, CCM_REG_XSEM_LENGTH_MIS,
1715        NA, 1, 0, pneq,
1716        NA, IDLE_CHK_ERROR,
1717        "CCM: XSEM declared message length unequal to actual",
1718        {NA, NA, 0, NA, NA, NA} },
1719
1720/*line 269*/{(0x1F), 1, CCM_REG_USEM_LENGTH_MIS,
1721        NA, 1, 0, pneq,
1722        NA, IDLE_CHK_ERROR,
1723        "CCM: USEM declared message length unequal to actual",
1724        {NA, NA, 0, NA, NA, NA} },
1725
1726/*line 270*/{(0x1F), 1, CCM_REG_PBF_LENGTH_MIS,
1727        NA, 1, 0, pneq,
1728        NA, IDLE_CHK_ERROR,
1729        "CCM: PBF declared message length unequal to actual",
1730        {NA, NA, 0, NA, NA, NA} },
1731
1732/*line 271*/{(0x1F), 1, TCM_REG_STORM_LENGTH_MIS,
1733        NA, 1, 0, pneq,
1734        NA, IDLE_CHK_ERROR,
1735        "TCM: STORM declared message length unequal to actual",
1736        {NA, NA, 0, NA, NA, NA} },
1737
1738/*line 272*/{(0x1F), 1, TCM_REG_TSDM_LENGTH_MIS,
1739        NA, 1, 0, pneq,
1740        NA, IDLE_CHK_ERROR,
1741        "TCM: TSDM declared message length unequal to actual",
1742        {NA, NA, 0, NA, NA, NA} },
1743
1744/*line 273*/{(0x1F), 1, TCM_REG_PRS_LENGTH_MIS,
1745        NA, 1, 0, pneq,
1746        NA, IDLE_CHK_ERROR,
1747        "TCM: PRS declared message length unequal to actual",
1748        {NA, NA, 0, NA, NA, NA} },
1749
1750/*line 274*/{(0x1F), 1, TCM_REG_PBF_LENGTH_MIS,
1751        NA, 1, 0, pneq,
1752        NA, IDLE_CHK_ERROR,
1753        "TCM: PBF declared message length unequal to actual",
1754        {NA, NA, 0, NA, NA, NA} },
1755
1756/*line 275*/{(0x1F), 1, TCM_REG_USEM_LENGTH_MIS,
1757        NA, 1, 0, pneq,
1758        NA, IDLE_CHK_ERROR,
1759        "TCM: USEM declared message length unequal to actual",
1760        {NA, NA, 0, NA, NA, NA} },
1761
1762/*line 276*/{(0x1F), 1, TCM_REG_CSEM_LENGTH_MIS,
1763        NA, 1, 0, pneq,
1764        NA, IDLE_CHK_ERROR,
1765        "TCM: CSEM declared message length unequal to actual",
1766        {NA, NA, 0, NA, NA, NA} },
1767
1768/*line 277*/{(0x1F), 1, UCM_REG_STORM_LENGTH_MIS,
1769        NA, 1, 0, pneq,
1770        NA, IDLE_CHK_ERROR,
1771        "UCM: STORM declared message length unequal to actual",
1772        {NA, NA, 0, NA, NA, NA} },
1773
1774/*line 278*/{(0x1F), 1, UCM_REG_USDM_LENGTH_MIS,
1775        NA, 1, 0, pneq,
1776        NA, IDLE_CHK_ERROR,
1777        "UCM: USDM declared message length unequal to actual",
1778        {NA, NA, 0, NA, NA, NA} },
1779
1780/*line 279*/{(0x1F), 1, UCM_REG_TSEM_LENGTH_MIS,
1781        NA, 1, 0, pneq,
1782        NA, IDLE_CHK_ERROR,
1783        "UCM: TSEM declared message length unequal to actual",
1784        {NA, NA, 0, NA, NA, NA} },
1785
1786/*line 280*/{(0x1F), 1, UCM_REG_CSEM_LENGTH_MIS,
1787        NA, 1, 0, pneq,
1788        NA, IDLE_CHK_ERROR,
1789        "UCM: CSEM declared message length unequal to actual",
1790        {NA, NA, 0, NA, NA, NA} },
1791
1792/*line 281*/{(0x1F), 1, UCM_REG_XSEM_LENGTH_MIS,
1793        NA, 1, 0, pneq,
1794        NA, IDLE_CHK_ERROR,
1795        "UCM: XSEM declared message length unequal to actual",
1796        {NA, NA, 0, NA, NA, NA} },
1797
1798/*line 282*/{(0x1F), 1, UCM_REG_DORQ_LENGTH_MIS,
1799        NA, 1, 0, pneq,
1800        NA, IDLE_CHK_ERROR,
1801        "UCM: DORQ declared message length unequal to actual",
1802        {NA, NA, 0, NA, NA, NA} },
1803
1804/*line 283*/{(0x1F), 1, XCM_REG_STORM_LENGTH_MIS,
1805        NA, 1, 0, pneq,
1806        NA, IDLE_CHK_ERROR,
1807        "XCM: STORM declared message length unequal to actual",
1808        {NA, NA, 0, NA, NA, NA} },
1809
1810/*line 284*/{(0x1F), 1, XCM_REG_XSDM_LENGTH_MIS,
1811        NA, 1, 0, pneq,
1812        NA, IDLE_CHK_ERROR,
1813        "XCM: XSDM declared message length unequal to actual",
1814        {NA, NA, 0, NA, NA, NA} },
1815
1816/*line 285*/{(0x1F), 1, XCM_REG_TSEM_LENGTH_MIS,
1817        NA, 1, 0, pneq,
1818        NA, IDLE_CHK_ERROR,
1819        "XCM: TSEM declared message length unequal to actual",
1820        {NA, NA, 0, NA, NA, NA} },
1821
1822/*line 286*/{(0x1F), 1, XCM_REG_CSEM_LENGTH_MIS,
1823        NA, 1, 0, pneq,
1824        NA, IDLE_CHK_ERROR,
1825        "XCM: CSEM declared message length unequal to actual",
1826        {NA, NA, 0, NA, NA, NA} },
1827
1828/*line 287*/{(0x1F), 1, XCM_REG_USEM_LENGTH_MIS,
1829        NA, 1, 0, pneq,
1830        NA, IDLE_CHK_ERROR,
1831        "XCM: USEM declared message length unequal to actual",
1832        {NA, NA, 0, NA, NA, NA} },
1833
1834/*line 288*/{(0x1F), 1, XCM_REG_DORQ_LENGTH_MIS,
1835        NA, 1, 0, pneq,
1836        NA, IDLE_CHK_ERROR,
1837        "XCM: DORQ declared message length unequal to actual",
1838        {NA, NA, 0, NA, NA, NA} },
1839
1840/*line 289*/{(0x1F), 1, XCM_REG_PBF_LENGTH_MIS,
1841        NA, 1, 0, pneq,
1842        NA, IDLE_CHK_ERROR,
1843        "XCM: PBF declared message length unequal to actual",
1844        {NA, NA, 0, NA, NA, NA} },
1845
1846/*line 290*/{(0x1F), 1, XCM_REG_NIG0_LENGTH_MIS,
1847        NA, 1, 0, pneq,
1848        NA, IDLE_CHK_ERROR,
1849        "XCM: NIG0 declared message length unequal to actual",
1850        {NA, NA, 0, NA, NA, NA} },
1851
1852/*line 291*/{(0x1F), 1, XCM_REG_NIG1_LENGTH_MIS,
1853        NA, 1, 0, pneq,
1854        NA, IDLE_CHK_ERROR,
1855        "XCM: NIG1 declared message length unequal to actual",
1856        {NA, NA, 0, NA, NA, NA} },
1857
1858/*line 292*/{(0x1F), 1, QM_REG_XQM_WRC_FIFOLVL,
1859        NA, 1, 0, pneq,
1860        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1861        "QM: XQM wrc_fifolvl is not 0",
1862        {NA, NA, 0, NA, NA, NA} },
1863
1864/*line 293*/{(0x1F), 1, QM_REG_UQM_WRC_FIFOLVL,
1865        NA, 1, 0, pneq,
1866        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1867        "QM: UQM wrc_fifolvl is not 0",
1868        {NA, NA, 0, NA, NA, NA} },
1869
1870/*line 294*/{(0x1F), 1, QM_REG_TQM_WRC_FIFOLVL,
1871        NA, 1, 0, pneq,
1872        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1873        "QM: TQM wrc_fifolvl is not 0",
1874        {NA, NA, 0, NA, NA, NA} },
1875
1876/*line 295*/{(0x1F), 1, QM_REG_CQM_WRC_FIFOLVL,
1877        NA, 1, 0, pneq,
1878        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1879        "QM: CQM wrc_fifolvl is not 0",
1880        {NA, NA, 0, NA, NA, NA} },
1881
1882/*line 296*/{(0x1F), 1, QM_REG_QSTATUS_LOW,
1883        NA, 1, 0, pneq,
1884        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1885        "QM: QSTATUS_LOW is not 0",
1886        {NA, NA, 0, NA, NA, NA} },
1887
1888/*line 297*/{(0x1F), 1, QM_REG_QSTATUS_HIGH,
1889        NA, 1, 0, pneq,
1890        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1891        "QM: QSTATUS_HIGH is not 0",
1892        {NA, NA, 0, NA, NA, NA} },
1893
1894/*line 298*/{(0x1F), 1, QM_REG_PAUSESTATE0,
1895        NA, 1, 0, pneq,
1896        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1897        "QM: PAUSESTATE0 is not 0",
1898        {NA, NA, 0, NA, NA, NA} },
1899
1900/*line 299*/{(0x1F), 1, QM_REG_PAUSESTATE1,
1901        NA, 1, 0, pneq,
1902        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1903        "QM: PAUSESTATE1 is not 0",
1904        {NA, NA, 0, NA, NA, NA} },
1905
1906/*line 300*/{(0x1F), 1, QM_REG_OVFQNUM,
1907        NA, 1, 0, pneq,
1908        NA, IDLE_CHK_ERROR,
1909        "QM: OVFQNUM is not 0",
1910        {NA, NA, 0, NA, NA, NA} },
1911
1912/*line 301*/{(0x1F), 1, QM_REG_OVFERROR,
1913        NA, 1, 0, pneq,
1914        NA, IDLE_CHK_ERROR,
1915        "QM: OVFERROR is not 0",
1916        {NA, NA, 0, NA, NA, NA} },
1917
1918/*line 302*/{(0x1F), 6, QM_REG_PTRTBL,
1919        NA, 64, 8, pneq_r2,
1920        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
1921        "QM: read and write variables not equal",
1922        {NA, NA, NA, NA, NA, NA} },
1923
1924/*line 303*/{(0x1F), 1, BRB1_REG_BRB1_PRTY_STS,
1925        NA, 1, 0, pand_neq,
1926        NA, IDLE_CHK_WARNING,
1927        "BRB1: parity status is not 0",
1928        {NA, NA, ~0x8, 0, NA, NA} },
1929
1930/*line 304*/{(0x1F), 1, CDU_REG_CDU_PRTY_STS,
1931        NA, 1, 0, pneq,
1932        NA, IDLE_CHK_WARNING,
1933        "CDU: parity status is not 0",
1934        {NA, NA, 0, NA, NA, NA} },
1935
1936/*line 305*/{(0x1F), 1, CFC_REG_CFC_PRTY_STS,
1937        NA, 1, 0, pand_neq,
1938        NA, IDLE_CHK_WARNING,
1939        "CFC: parity status is not 0",
1940        {NA, NA, ~0x2, 0, NA, NA} },
1941
1942/*line 306*/{(0x1F), 1, CSDM_REG_CSDM_PRTY_STS,
1943        NA, 1, 0, pneq,
1944        NA, IDLE_CHK_WARNING,
1945        "CSDM: parity status is not 0",
1946        {NA, NA, 0, NA, NA, NA} },
1947
1948/*line 307*/{(0x3), 1, DBG_REG_DBG_PRTY_STS,
1949        NA, 1, 0, pneq,
1950        NA, IDLE_CHK_WARNING,
1951        "DBG: parity status is not 0",
1952        {NA, NA, 0, NA, NA, NA} },
1953
1954/*line 308*/{(0x1F), 1, DMAE_REG_DMAE_PRTY_STS,
1955        NA, 1, 0, pneq,
1956        NA, IDLE_CHK_WARNING,
1957        "DMAE: parity status is not 0",
1958        {NA, NA, 0, NA, NA, NA} },
1959
1960/*line 309*/{(0x1F), 1, DORQ_REG_DORQ_PRTY_STS,
1961        NA, 1, 0, pneq,
1962        NA, IDLE_CHK_WARNING,
1963        "DORQ: parity status is not 0",
1964        {NA, NA, 0, NA, NA, NA} },
1965
1966/*line 310*/{(0x1), 1, TCM_REG_TCM_PRTY_STS,
1967        NA, 1, 0, pand_neq,
1968        NA, IDLE_CHK_WARNING,
1969        "TCM: parity status is not 0",
1970        {NA, NA, ~0x3ffc0, 0, NA, NA} },
1971
1972/*line 311*/{(0x1E), 1, TCM_REG_TCM_PRTY_STS,
1973        NA, 1, 0, pneq,
1974        NA, IDLE_CHK_WARNING,
1975        "TCM: parity status is not 0",
1976        {NA, NA, 0, NA, NA, NA} },
1977
1978/*line 312*/{(0x1), 1, CCM_REG_CCM_PRTY_STS,
1979        NA, 1, 0, pand_neq,
1980        NA, IDLE_CHK_WARNING,
1981        "CCM: parity status is not 0",
1982        {NA, NA, ~0x3ffc0, 0, NA, NA} },
1983
1984/*line 313*/{(0x1E), 1, CCM_REG_CCM_PRTY_STS,
1985        NA, 1, 0, pneq,
1986        NA, IDLE_CHK_WARNING,
1987        "CCM: parity status is not 0",
1988        {NA, NA, 0, NA, NA, NA} },
1989
1990/*line 314*/{(0x1), 1, UCM_REG_UCM_PRTY_STS,
1991        NA, 1, 0, pand_neq,
1992        NA, IDLE_CHK_WARNING,
1993        "UCM: parity status is not 0",
1994        {NA, NA, ~0x3ffc0, 0, NA, NA} },
1995
1996/*line 315*/{(0x1E), 1, UCM_REG_UCM_PRTY_STS,
1997        NA, 1, 0, pneq,
1998        NA, IDLE_CHK_WARNING,
1999        "UCM: parity status is not 0",
2000        {NA, NA, 0, NA, NA, NA} },
2001
2002/*line 316*/{(0x1), 1, XCM_REG_XCM_PRTY_STS,
2003        NA, 1, 0, pand_neq,
2004        NA, IDLE_CHK_WARNING,
2005        "XCM: parity status is not 0",
2006        {NA, NA, ~0x3ffc0, 0, NA, NA} },
2007
2008/*line 317*/{(0x1E), 1, XCM_REG_XCM_PRTY_STS,
2009        NA, 1, 0, pneq,
2010        NA, IDLE_CHK_WARNING,
2011        "XCM: parity status is not 0",
2012        {NA, NA, 0, NA, NA, NA} },
2013
2014/*line 318*/{(0x1), 1, HC_REG_HC_PRTY_STS,
2015        NA, 1, 0, pand_neq,
2016        NA, IDLE_CHK_WARNING,
2017        "HC: parity status is not 0",
2018        {NA, NA, ~0x1, 0, NA, NA} },
2019
2020/*line 319*/{(0x1), 1, MISC_REG_MISC_PRTY_STS,
2021        NA, 1, 0, pand_neq,
2022        NA, IDLE_CHK_WARNING,
2023        "MISC: parity status is not 0",
2024        {NA, NA, ~0x1, 0, NA, NA} },
2025
2026/*line 320*/{(0x1F), 1, PRS_REG_PRS_PRTY_STS,
2027        NA, 1, 0, pneq,
2028        NA, IDLE_CHK_WARNING,
2029        "PRS: parity status is not 0",
2030        {NA, NA, 0, NA, NA, NA} },
2031
2032/*line 321*/{(0x1F), 1, PXP_REG_PXP_PRTY_STS,
2033        NA, 1, 0, pneq,
2034        NA, IDLE_CHK_WARNING,
2035        "PXP: parity status is not 0",
2036        {NA, NA, 0, NA, NA, NA} },
2037
2038/*line 322*/{(0x1F), 1, QM_REG_QM_PRTY_STS,
2039        NA, 1, 0, pneq,
2040        NA, IDLE_CHK_WARNING,
2041        "QM: parity status is not 0",
2042        {NA, NA, 0, NA, NA, NA} },
2043
2044/*line 323*/{(0x1), 1, SRC_REG_SRC_PRTY_STS,
2045        NA, 1, 0, pand_neq,
2046        NA, IDLE_CHK_WARNING,
2047        "SRCH: parity status is not 0",
2048        {NA, NA, ~0x4, 0, NA, NA} },
2049
2050/*line 324*/{(0x1F), 1, TSDM_REG_TSDM_PRTY_STS,
2051        NA, 1, 0, pneq,
2052        NA, IDLE_CHK_WARNING,
2053        "TSDM: parity status is not 0",
2054        {NA, NA, 0, NA, NA, NA} },
2055
2056/*line 325*/{(0x1F), 1, USDM_REG_USDM_PRTY_STS,
2057        NA, 1, 0, pand_neq,
2058        NA, IDLE_CHK_WARNING,
2059        "USDM: parity status is not 0",
2060        {NA, NA, ~0x20, 0, NA, NA} },
2061
2062/*line 326*/{(0x1F), 1, XSDM_REG_XSDM_PRTY_STS,
2063        NA, 1, 0, pneq,
2064        NA, IDLE_CHK_WARNING,
2065        "XSDM: parity status is not 0",
2066        {NA, NA, 0, NA, NA, NA} },
2067
2068/*line 327*/{(0x1F), 1, GRCBASE_XPB + PB_REG_PB_PRTY_STS,
2069        NA, 1, 0, pneq,
2070        NA, IDLE_CHK_WARNING,
2071        "XPB: parity status is not 0",
2072        {NA, NA, 0, NA, NA, NA} },
2073
2074/*line 328*/{(0x1F), 1, GRCBASE_UPB + PB_REG_PB_PRTY_STS,
2075        NA, 1, 0, pneq,
2076        NA, IDLE_CHK_WARNING,
2077        "UPB: parity status is not 0",
2078        {NA, NA, 0, NA, NA, NA} },
2079
2080/*line 329*/{(0x1F), 1, CSEM_REG_CSEM_PRTY_STS_0,
2081        NA, 1, 0, pneq,
2082        NA, IDLE_CHK_WARNING,
2083        "CSEM: parity status 0 is not 0",
2084        {NA, NA, 0, NA, NA, NA} },
2085
2086/*line 330*/{(0x1), 1, PXP2_REG_PXP2_PRTY_STS_0,
2087        NA, 1, 0, pand_neq,
2088        NA, IDLE_CHK_WARNING,
2089        "PXP2: parity status 0 is not 0",
2090        {NA, NA, ~0xfff40020, 0, NA, NA} },
2091
2092/*line 331*/{(0x1E), 1, PXP2_REG_PXP2_PRTY_STS_0,
2093        NA, 1, 0, pand_neq,
2094        NA, IDLE_CHK_WARNING,
2095        "PXP2: parity status 0 is not 0",
2096        {NA, NA, ~0x20, 0, NA, NA} },
2097
2098/*line 332*/{(0x1F), 1, TSEM_REG_TSEM_PRTY_STS_0,
2099        NA, 1, 0, pneq,
2100        NA, IDLE_CHK_WARNING,
2101        "TSEM: parity status 0 is not 0",
2102        {NA, NA, 0, NA, NA, NA} },
2103
2104/*line 333*/{(0x1F), 1, USEM_REG_USEM_PRTY_STS_0,
2105        NA, 1, 0, pneq,
2106        NA, IDLE_CHK_WARNING,
2107        "USEM: parity status 0 is not 0",
2108        {NA, NA, 0, NA, NA, NA} },
2109
2110/*line 334*/{(0x1F), 1, XSEM_REG_XSEM_PRTY_STS_0,
2111        NA, 1, 0, pneq,
2112        NA, IDLE_CHK_WARNING,
2113        "XSEM: parity status 0 is not 0",
2114        {NA, NA, 0, NA, NA, NA} },
2115
2116/*line 335*/{(0x1F), 1, CSEM_REG_CSEM_PRTY_STS_1,
2117        NA, 1, 0, pneq,
2118        NA, IDLE_CHK_WARNING,
2119        "CSEM: parity status 1 is not 0",
2120        {NA, NA, 0, NA, NA, NA} },
2121
2122/*line 336*/{(0x1), 1, PXP2_REG_PXP2_PRTY_STS_1,
2123        NA, 1, 0, pand_neq,
2124        NA, IDLE_CHK_WARNING,
2125        "PXP2: parity status 1 is not 0",
2126        {NA, NA, ~0x20, 0, NA, NA} },
2127
2128/*line 337*/{(0x1E), 1, PXP2_REG_PXP2_PRTY_STS_1,
2129        NA, 1, 0, pneq,
2130        NA, IDLE_CHK_WARNING,
2131        "PXP2: parity status 1 is not 0",
2132        {NA, NA, 0, NA, NA, NA} },
2133
2134/*line 338*/{(0x1F), 1, TSEM_REG_TSEM_PRTY_STS_1,
2135        NA, 1, 0, pneq,
2136        NA, IDLE_CHK_WARNING,
2137        "TSEM: parity status 1 is not 0",
2138        {NA, NA, 0, NA, NA, NA} },
2139
2140/*line 339*/{(0x1F), 1, USEM_REG_USEM_PRTY_STS_1,
2141        NA, 1, 0, pneq,
2142        NA, IDLE_CHK_WARNING,
2143        "USEM: parity status 1 is not 0",
2144        {NA, NA, 0, NA, NA, NA} },
2145
2146/*line 340*/{(0x1F), 1, XSEM_REG_XSEM_PRTY_STS_1,
2147        NA, 1, 0, pneq,
2148        NA, IDLE_CHK_WARNING,
2149        "XSEM: parity status 1 is not 0",
2150        {NA, NA, 0, NA, NA, NA} },
2151
2152/*line 341*/{(0x1C), 1, PGLUE_B_REG_PGLUE_B_PRTY_STS,
2153        NA, 1, 0, pneq,
2154        NA, IDLE_CHK_WARNING,
2155        "PGLUE_B: parity status is not 0",
2156        {NA, NA, 0, NA, NA, NA} },
2157
2158/*line 342*/{(0x2), 2, QM_REG_QTASKCTR_EXT_A_0,
2159        NA, 64, 4, pneq,
2160        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2161        "QM: Q_EXT_A (upper 64 queues), Queue is not empty",
2162        {NA, NA, 0, NA, NA, NA} },
2163
2164/*line 343*/{(0x2), 1, QM_REG_QSTATUS_LOW_EXT_A,
2165        NA, 1, 0, pneq,
2166        NA, IDLE_CHK_ERROR,
2167        "QM: QSTATUS_LOW_EXT_A is not 0",
2168        {NA, NA, 0, NA, NA, NA} },
2169
2170/*line 344*/{(0x2), 1, QM_REG_QSTATUS_HIGH_EXT_A,
2171        NA, 1, 0, pneq,
2172        NA, IDLE_CHK_ERROR,
2173        "QM: QSTATUS_HIGH_EXT_A is not 0",
2174        {NA, NA, 0, NA, NA, NA} },
2175
2176/*line 345*/{(0x1E), 1, QM_REG_PAUSESTATE2,
2177        NA, 1, 0, pneq,
2178        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2179        "QM: PAUSESTATE2 is not 0",
2180        {NA, NA, 0, NA, NA, NA} },
2181
2182/*line 346*/{(0x1E), 1, QM_REG_PAUSESTATE3,
2183        NA, 1, 0, pneq,
2184        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2185        "QM: PAUSESTATE3 is not 0",
2186        {NA, NA, 0, NA, NA, NA} },
2187
2188/*line 347*/{(0x2), 1, QM_REG_PAUSESTATE4,
2189        NA, 1, 0, pneq,
2190        NA, IDLE_CHK_ERROR,
2191        "QM: PAUSESTATE4 is not 0",
2192        {NA, NA, 0, NA, NA, NA} },
2193
2194/*line 348*/{(0x2), 1, QM_REG_PAUSESTATE5,
2195        NA, 1, 0, pneq,
2196        NA, IDLE_CHK_ERROR,
2197        "QM: PAUSESTATE5 is not 0",
2198        {NA, NA, 0, NA, NA, NA} },
2199
2200/*line 349*/{(0x2), 1, QM_REG_PAUSESTATE6,
2201        NA, 1, 0, pneq,
2202        NA, IDLE_CHK_ERROR,
2203        "QM: PAUSESTATE6 is not 0",
2204        {NA, NA, 0, NA, NA, NA} },
2205
2206/*line 350*/{(0x2), 1, QM_REG_PAUSESTATE7,
2207        NA, 1, 0, pneq,
2208        NA, IDLE_CHK_ERROR,
2209        "QM: PAUSESTATE7 is not 0",
2210        {NA, NA, 0, NA, NA, NA} },
2211
2212/*line 351*/{(0x2), 6, QM_REG_PTRTBL_EXT_A,
2213        NA, 64, 8, pneq_r2,
2214        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2215        "QM: read and write variables not equal in ext table",
2216        {NA, NA, NA, NA, NA, NA} },
2217
2218/*line 352*/{(0x1E), 1, MISC_REG_AEU_SYS_KILL_OCCURRED,
2219        NA, NA, NA, pneq,
2220        NA, IDLE_CHK_ERROR,
2221        "MISC: system kill occurred;",
2222        {NA, NA, 0, NA, NA, NA} },
2223
2224/*line 353*/{(0x1E), 1, MISC_REG_AEU_SYS_KILL_STATUS_0,
2225        NA, NA, NA, pneq,
2226        NA, IDLE_CHK_ERROR,
2227        "MISC: system kill occurred; status_0 register",
2228        {NA, NA, 0, NA, NA, NA} },
2229
2230/*line 354*/{(0x1E), 1, MISC_REG_AEU_SYS_KILL_STATUS_1,
2231        NA, NA, NA, pneq,
2232        NA, IDLE_CHK_ERROR,
2233        "MISC: system kill occurred; status_1 register",
2234        {NA, NA, 0, NA, NA, NA} },
2235
2236/*line 355*/{(0x1E), 1, MISC_REG_AEU_SYS_KILL_STATUS_2,
2237        NA, NA, NA, pneq,
2238        NA, IDLE_CHK_ERROR,
2239        "MISC: system kill occurred; status_2 register",
2240        {NA, NA, 0, NA, NA, NA} },
2241
2242/*line 356*/{(0x1E), 1, MISC_REG_AEU_SYS_KILL_STATUS_3,
2243        NA, NA, NA, pneq,
2244        NA, IDLE_CHK_ERROR,
2245        "MISC: system kill occurred; status_3 register",
2246        {NA, NA, 0, NA, NA, NA} },
2247
2248/*line 357*/{(0x1E), 1, MISC_REG_PCIE_HOT_RESET,
2249        NA, NA, NA, pneq,
2250        NA, IDLE_CHK_WARNING,
2251        "MISC: pcie_rst_b was asserted without perst assertion",
2252        {NA, NA, 0, NA, NA, NA} },
2253
2254/*line 358*/{(0x1F), 1, NIG_REG_NIG_INT_STS_0,
2255        NA, NA, NA, pand_neq,
2256        NA, IDLE_CHK_ERROR,
2257        "NIG: interrupt 0 is active",
2258        {NA, NA, ~0x300, 0, NA, NA} },
2259
2260/*line 359*/{(0x1F), 1, NIG_REG_NIG_INT_STS_0,
2261        NA, NA, NA, peq,
2262        NA, IDLE_CHK_WARNING,
2263        "NIG: Access to BMAC while not active. If tested on FPGA, ignore this warning",
2264        {NA, NA, 0x300, NA, NA, NA} },
2265
2266/*line 360*/{(0x1F), 1, NIG_REG_NIG_INT_STS_1,
2267        NA, NA, NA, pand_neq,
2268        NA, IDLE_CHK_ERROR,
2269        "NIG: interrupt 1 is active",
2270        {NA, NA, 0x783FF03, 0, NA, NA} },
2271
2272/*line 361*/{(0x1F), 1, NIG_REG_NIG_INT_STS_1,
2273        NA, NA, NA, pand_neq,
2274        NA, IDLE_CHK_WARNING,
2275        "NIG: port cos was paused too long",
2276        {NA, NA, ~0x783FF0F, 0, NA, NA} },
2277
2278/*line 362*/{(0x1F), 1, NIG_REG_NIG_INT_STS_1,
2279        NA, NA, NA, pand_neq,
2280        NA, IDLE_CHK_WARNING,
2281        "NIG: Got packets w/o Outer-VLAN in MF mode",
2282        {NA, NA, 0xC, 0, NA, NA} },
2283
2284/*line 363*/{(0x2), 1, NIG_REG_NIG_PRTY_STS,
2285        NA, NA, NA, pand_neq,
2286        NA, IDLE_CHK_ERROR,
2287        "NIG: parity interrupt is active",
2288        {NA, NA, ~0xFFC00000, 0, NA, NA} },
2289
2290/*line 364*/{(0x1C), 1, NIG_REG_NIG_PRTY_STS_0,
2291        NA, NA, NA, pand_neq,
2292        NA, IDLE_CHK_ERROR,
2293        "NIG: parity 0 interrupt is active",
2294        {NA, NA, ~0xFFC00000, 0, NA, NA} },
2295
2296/*line 365*/{(0x4), 1, NIG_REG_NIG_PRTY_STS_1,
2297        NA, NA, NA, pand_neq,
2298        NA, IDLE_CHK_ERROR,
2299        "NIG: parity 1 interrupt is active",
2300        {NA, NA, 0xff, 0, NA, NA} },
2301
2302/*line 366*/{(0x18), 1, NIG_REG_NIG_PRTY_STS_1,
2303        NA, NA, NA, pneq,
2304        NA, IDLE_CHK_ERROR,
2305        "NIG: parity 1 interrupt is active",
2306        {NA, NA, 0, NA, NA, NA} },
2307
2308/*line 367*/{(0x1F), 1, TSEM_REG_TSEM_INT_STS_0,
2309        NA, NA, NA, pand_neq,
2310        NA, IDLE_CHK_WARNING,
2311        "TSEM: interrupt 0 is active",
2312        {NA, NA, ~0x10000000, 0, NA, NA} },
2313
2314/*line 368*/{(0x1F), 1, TSEM_REG_TSEM_INT_STS_0,
2315        NA, NA, NA, peq,
2316        NA, IDLE_CHK_WARNING,
2317        "TSEM: interrupt 0 is active",
2318        {NA, NA, 0x10000000, NA, NA, NA} },
2319
2320/*line 369*/{(0x1F), 1, TSEM_REG_TSEM_INT_STS_1,
2321        NA, NA, NA, pneq,
2322        NA, IDLE_CHK_ERROR,
2323        "TSEM: interrupt 1 is active",
2324        {NA, NA, 0, NA, NA, NA} },
2325
2326/*line 370*/{(0x1F), 1, CSEM_REG_CSEM_INT_STS_0,
2327        NA, NA, NA, pand_neq,
2328        NA, IDLE_CHK_WARNING,
2329        "CSEM: interrupt 0 is active",
2330        {NA, NA, ~0x10000000, 0, NA, NA} },
2331
2332/*line 371*/{(0x1F), 1, CSEM_REG_CSEM_INT_STS_0,
2333        NA, NA, NA, peq,
2334        NA, IDLE_CHK_WARNING,
2335        "CSEM: interrupt 0 is active",
2336        {NA, NA, 0x10000000, NA, NA, NA} },
2337
2338/*line 372*/{(0x1F), 1, CSEM_REG_CSEM_INT_STS_1,
2339        NA, NA, NA, pneq,
2340        NA, IDLE_CHK_ERROR,
2341        "CSEM: interrupt 1 is active",
2342        {NA, NA, 0, NA, NA, NA} },
2343
2344/*line 373*/{(0x1F), 1, USEM_REG_USEM_INT_STS_0,
2345        NA, NA, NA, pand_neq,
2346        NA, IDLE_CHK_WARNING,
2347        "USEM: interrupt 0 is active",
2348        {NA, NA, ~0x10000000, 0, NA, NA} },
2349
2350/*line 374*/{(0x1F), 1, USEM_REG_USEM_INT_STS_0,
2351        NA, NA, NA, peq,
2352        NA, IDLE_CHK_WARNING,
2353        "USEM: interrupt 0 is active",
2354        {NA, NA, 0x10000000, NA, NA, NA} },
2355
2356/*line 375*/{(0x1F), 1, USEM_REG_USEM_INT_STS_1,
2357        NA, NA, NA, pneq,
2358        NA, IDLE_CHK_ERROR,
2359        "USEM: interrupt 1 is active",
2360        {NA, NA, 0, NA, NA, NA} },
2361
2362/*line 376*/{(0x1F), 1, XSEM_REG_XSEM_INT_STS_0,
2363        NA, NA, NA, pand_neq,
2364        NA, IDLE_CHK_WARNING,
2365        "XSEM: interrupt 0 is active",
2366        {NA, NA, ~0x10000000, 0, NA, NA} },
2367
2368/*line 377*/{(0x1F), 1, XSEM_REG_XSEM_INT_STS_0,
2369        NA, NA, NA, peq,
2370        NA, IDLE_CHK_WARNING,
2371        "XSEM: interrupt 0 is active",
2372        {NA, NA, 0x10000000, NA, NA, NA} },
2373
2374/*line 378*/{(0x1F), 1, XSEM_REG_XSEM_INT_STS_1,
2375        NA, NA, NA, pneq,
2376        NA, IDLE_CHK_ERROR,
2377        "XSEM: interrupt 1 is active",
2378        {NA, NA, 0, NA, NA, NA} },
2379
2380/*line 379*/{(0x1F), 1, TSDM_REG_TSDM_INT_STS_0,
2381        NA, NA, NA, pneq,
2382        NA, IDLE_CHK_ERROR,
2383        "TSDM: interrupt 0 is active",
2384        {NA, NA, 0, NA, NA, NA} },
2385
2386/*line 380*/{(0x1F), 1, TSDM_REG_TSDM_INT_STS_1,
2387        NA, NA, NA, pneq,
2388        NA, IDLE_CHK_ERROR,
2389        "TSDM: interrupt 0 is active",
2390        {NA, NA, 0, NA, NA, NA} },
2391
2392/*line 381*/{(0x1F), 1, CSDM_REG_CSDM_INT_STS_0,
2393        NA, NA, NA, pneq,
2394        NA, IDLE_CHK_ERROR,
2395        "CSDM: interrupt 0 is active",
2396        {NA, NA, 0, NA, NA, NA} },
2397
2398/*line 382*/{(0x1F), 1, CSDM_REG_CSDM_INT_STS_1,
2399        NA, NA, NA, pneq,
2400        NA, IDLE_CHK_ERROR,
2401        "CSDM: interrupt 0 is active",
2402        {NA, NA, 0, NA, NA, NA} },
2403
2404/*line 383*/{(0x1F), 1, USDM_REG_USDM_INT_STS_0,
2405        NA, NA, NA, pneq,
2406        NA, IDLE_CHK_ERROR,
2407        "USDM: interrupt 0 is active",
2408        {NA, NA, 0, NA, NA, NA} },
2409
2410/*line 384*/{(0x1F), 1, USDM_REG_USDM_INT_STS_1,
2411        NA, NA, NA, pneq,
2412        NA, IDLE_CHK_ERROR,
2413        "USDM: interrupt 0 is active",
2414        {NA, NA, 0, NA, NA, NA} },
2415
2416/*line 385*/{(0x1F), 1, XSDM_REG_XSDM_INT_STS_0,
2417        NA, NA, NA, pneq,
2418        NA, IDLE_CHK_ERROR,
2419        "XSDM: interrupt 0 is active",
2420        {NA, NA, 0, NA, NA, NA} },
2421
2422/*line 386*/{(0x1F), 1, XSDM_REG_XSDM_INT_STS_1,
2423        NA, NA, NA, pneq,
2424        NA, IDLE_CHK_ERROR,
2425        "XSDM: interrupt 0 is active",
2426        {NA, NA, 0, NA, NA, NA} },
2427
2428/*line 387*/{(0x2), 1, HC_REG_HC_PRTY_STS,
2429        NA, 1, 0, pneq,
2430        NA, IDLE_CHK_WARNING,
2431        "HC: parity status is not 0",
2432        {NA, NA, 0, NA, NA, NA} },
2433
2434/*line 388*/{(0x1E), 1, MISC_REG_MISC_PRTY_STS,
2435        NA, 1, 0, pneq,
2436        NA, IDLE_CHK_WARNING,
2437        "MISC: parity status is not 0",
2438        {NA, NA, 0, NA, NA, NA} },
2439
2440/*line 389*/{(0x1E), 1, SRC_REG_SRC_PRTY_STS,
2441        NA, 1, 0, pneq,
2442        NA, IDLE_CHK_WARNING,
2443        "SRCH: parity status is not 0",
2444        {NA, NA, 0, NA, NA, NA} },
2445
2446/*line 390*/{(0xC), 3, QM_REG_BYTECRD0,
2447        QM_REG_BYTECRDINITVAL, 1, 0, pneq_r2,
2448        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2449        "QM: Byte credit 0 is not equal to initial credit",
2450        {NA, NA, NA, NA, NA, NA} },
2451
2452/*line 391*/{(0xC), 3, QM_REG_BYTECRD1,
2453        QM_REG_BYTECRDINITVAL, 1, 0, pneq_r2,
2454        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2455        "QM: Byte credit 1 is not equal to initial credit",
2456        {NA, NA, NA, NA, NA, NA} },
2457
2458/*line 392*/{(0xC), 3, QM_REG_BYTECRD2,
2459        QM_REG_BYTECRDINITVAL, 1, 0, pneq_r2,
2460        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2461        "QM: Byte credit 2 is not equal to initial credit",
2462        {NA, NA, NA, NA, NA, NA} },
2463
2464/*line 393*/{(0x1C), 1, QM_REG_VOQCRDERRREG,
2465        NA, 1, 0, pand_neq,
2466        NA, IDLE_CHK_ERROR,
2467        "QM: VOQ credit error register is not 0 (VOQ credit overflow/underflow)",
2468        {NA, NA, 0xFFFF, 0, NA, NA} },
2469
2470/*line 394*/{(0x1C), 1, QM_REG_BYTECRDERRREG,
2471        NA, 1, 0, pand_neq,
2472        NA, IDLE_CHK_ERROR,
2473        "QM: Byte credit error register is not 0 (Byte credit overflow/underflow)",
2474        {NA, NA, 0xFFF, 0, NA, NA} },
2475
2476/*line 395*/{(0x1C), 1, PGLUE_B_REG_FLR_REQUEST_VF_31_0,
2477        NA, 1, 0, pneq,
2478        NA, IDLE_CHK_WARNING,
2479        "PGL: FLR request is set for VF addresses 31-0",
2480        {NA, NA, 0, NA, NA, NA} },
2481
2482/*line 396*/{(0x1C), 1, PGLUE_B_REG_FLR_REQUEST_VF_63_32,
2483        NA, 1, 0, pneq,
2484        NA, IDLE_CHK_WARNING,
2485        "PGL: FLR request is set for VF addresses 63-32",
2486        {NA, NA, 0, NA, NA, NA} },
2487
2488/*line 397*/{(0x1C), 1, PGLUE_B_REG_FLR_REQUEST_VF_95_64,
2489        NA, 1, 0, pneq,
2490        NA, IDLE_CHK_WARNING,
2491        "PGL: FLR request is set for VF addresses 95-64",
2492        {NA, NA, 0, NA, NA, NA} },
2493
2494/*line 398*/{(0x1C), 1, PGLUE_B_REG_FLR_REQUEST_VF_127_96,
2495        NA, 1, 0, pneq,
2496        NA, IDLE_CHK_WARNING,
2497        "PGL: FLR request is set for VF addresses 127-96",
2498        {NA, NA, 0, NA, NA, NA} },
2499
2500/*line 399*/{(0x1C), 1, PGLUE_B_REG_FLR_REQUEST_PF_7_0,
2501        NA, 1, 0, pneq,
2502        NA, IDLE_CHK_WARNING,
2503        "PGL: FLR request is set for PF addresses 7-0",
2504        {NA, NA, 0, NA, NA, NA} },
2505
2506/*line 400*/{(0x1C), 1, PGLUE_B_REG_SR_IOV_DISABLED_REQUEST,
2507        NA, 1, 0, pneq,
2508        NA, IDLE_CHK_WARNING,
2509        "PGL: SR-IOV disable request is set",
2510        {NA, NA, 0, NA, NA, NA} },
2511
2512/*line 401*/{(0x1C), 1, PGLUE_B_REG_CFG_SPACE_A_REQUEST,
2513        NA, 1, 0, pneq,
2514        NA, IDLE_CHK_WARNING,
2515        "PGL: Cfg-Space A request is set",
2516        {NA, NA, 0, NA, NA, NA} },
2517
2518/*line 402*/{(0x1C), 1, PGLUE_B_REG_CFG_SPACE_B_REQUEST,
2519        NA, 1, 0, pneq,
2520        NA, IDLE_CHK_WARNING,
2521        "PGL: Cfg-Space B request is set",
2522        {NA, NA, 0, NA, NA, NA} },
2523
2524/*line 403*/{(0x1C), 1, IGU_REG_ERROR_HANDLING_DATA_VALID,
2525        NA, NA, 0, pneq,
2526        NA, IDLE_CHK_WARNING,
2527        "IGU: some unauthorized commands arrived to the IGU. Use igu_dump_fifo utility for more details",
2528        {NA, NA, 0, NA, NA, NA} },
2529
2530/*line 404*/{(0x1C), 1, IGU_REG_ATTN_WRITE_DONE_PENDING,
2531        NA, NA, NA, pneq,
2532        NA, IDLE_CHK_WARNING,
2533        "IGU attention message write done pending is not empty",
2534        {NA, NA, 0, NA, NA, NA} },
2535
2536/*line 405*/{(0x1C), 1, IGU_REG_WRITE_DONE_PENDING,
2537        NA, 5, 4, pneq,
2538        NA, IDLE_CHK_WARNING,
2539        "IGU MSI/MSIX message write done pending is not empty",
2540        {NA, NA, 0, NA, NA, NA} },
2541
2542/*line 406*/{(0x1C), 1, IGU_REG_IGU_PRTY_STS,
2543        NA, 1, 0, pneq,
2544        NA, IDLE_CHK_WARNING,
2545        "IGU: parity status is not 0",
2546        {NA, NA, 0, NA, NA, NA} },
2547
2548/*line 407*/{(0x1E), 3, MISC_REG_GRC_TIMEOUT_ATTN,
2549        MISC_REG_AEU_AFTER_INVERT_4_FUNC_0, 1, 0, pand_neq,
2550        NA, IDLE_CHK_ERROR,
2551        "MISC_REG_GRC_TIMEOUT_ATTN: GRC timeout attention parameters (FUNC_0)",
2552        {NA, NA, 0x4000000, 0, NA, NA} },
2553
2554/*line 408*/{(0x1C), 3, MISC_REG_GRC_TIMEOUT_ATTN_FULL_FID,
2555        MISC_REG_AEU_AFTER_INVERT_4_FUNC_0, 1, 0, pand_neq,
2556        NA, IDLE_CHK_ERROR,
2557        "MISC_REG_GRC_TIMEOUT_ATTN_FULL_FID: GRC timeout attention FID (FUNC_0)",
2558        {NA, NA, 0x4000000, 0, NA, NA} },
2559
2560/*line 409*/{(0x1E), 3, MISC_REG_GRC_TIMEOUT_ATTN,
2561        MISC_REG_AEU_AFTER_INVERT_4_FUNC_1, 1, 0, pand_neq,
2562        NA, IDLE_CHK_ERROR,
2563        "MISC_REG_GRC_TIMEOUT_ATTN: GRC timeout attention parameters (FUNC_1)",
2564        {NA, NA, 0x4000000, 0, NA, NA} },
2565
2566/*line 410*/{(0x1C), 3, MISC_REG_GRC_TIMEOUT_ATTN_FULL_FID,
2567        MISC_REG_AEU_AFTER_INVERT_4_FUNC_1, 1, 0, pand_neq,
2568        NA, IDLE_CHK_ERROR,
2569        "MISC_REG_GRC_TIMEOUT_ATTN_FULL_FID: GRC timeout attention FID (FUNC_1)",
2570        {NA, NA, 0x4000000, 0, NA, NA} },
2571
2572/*line 411*/{(0x1E), 3, MISC_REG_GRC_TIMEOUT_ATTN,
2573        MISC_REG_AEU_AFTER_INVERT_4_MCP, 1, 0, pand_neq,
2574        NA, IDLE_CHK_ERROR,
2575        "MISC_REG_GRC_TIMEOUT_ATTN: GRC timeout attention parameters (MCP)",
2576        {NA, NA, 0x4000000, 0, NA, NA} },
2577
2578/*line 412*/{(0x1C), 3, MISC_REG_GRC_TIMEOUT_ATTN_FULL_FID,
2579        MISC_REG_AEU_AFTER_INVERT_4_MCP, 1, 0, pand_neq,
2580        NA, IDLE_CHK_ERROR,
2581        "MISC_REG_GRC_TIMEOUT_ATTN_FULL_FID: GRC timeout attention FID (MCP)",
2582        {NA, NA, 0x4000000, 0, NA, NA} },
2583
2584/*line 413*/{(0x1C), 1, IGU_REG_SILENT_DROP,
2585        NA, 1, 0, pneq,
2586        NA, IDLE_CHK_ERROR,
2587        "Some messages were not executed in the IGU",
2588        {NA, NA, 0, NA, NA, NA} },
2589
2590/*line 414*/{(0x1C), 1, PXP2_REG_PSWRQ_BW_CREDIT,
2591        NA, 1, 0, pneq,
2592        NA, IDLE_CHK_ERROR,
2593        "PXP2: rq_read_credit and rq_write_credit are not 5",
2594        {NA, NA, 0x2D, NA, NA, NA} },
2595
2596/*line 415*/{(0x1C), 1, IGU_REG_SB_CTRL_FSM,
2597        NA, 1, 0, pneq,
2598        NA, IDLE_CHK_WARNING,
2599        "IGU: block is not in idle. SB_CTRL_FSM should be zero in idle state",
2600        {NA, NA, 0, NA, NA, NA} },
2601
2602/*line 416*/{(0x1C), 1, IGU_REG_INT_HANDLE_FSM,
2603        NA, 1, 0, pneq,
2604        NA, IDLE_CHK_WARNING,
2605        "IGU: block is not in idle. INT_HANDLE_FSM should be zero in idle state",
2606        {NA, NA, 0, NA, NA, NA} },
2607
2608/*line 417*/{(0x1C), 1, IGU_REG_ATTN_FSM,
2609        NA, 1, 0, pand_neq,
2610        NA, IDLE_CHK_WARNING,
2611        "IGU: block is not in idle. SB_ATTN_FSMshould be zeroor two in idle state",
2612        {NA, NA, ~0x2, 0, NA, NA} },
2613
2614/*line 418*/{(0x1C), 1, IGU_REG_CTRL_FSM,
2615        NA, 1, 0, pand_neq,
2616        NA, IDLE_CHK_WARNING,
2617        "IGU: block is not in idle. SB_CTRL_FSM should be zero in idle state",
2618        {NA, NA, ~0x1, 0, NA, NA} },
2619
2620/*line 419*/{(0x1C), 1, IGU_REG_PXP_ARB_FSM,
2621        NA, 1, 0, pand_neq,
2622        NA, IDLE_CHK_WARNING,
2623        "IGU: block is not in idle. SB_ARB_FSM should be zero in idle state",
2624        {NA, NA, ~0x1, 0, NA, NA} },
2625
2626/*line 420*/{(0x1C), 1, IGU_REG_PENDING_BITS_STATUS,
2627        NA, 5, 4, pneq,
2628        NA, IDLE_CHK_WARNING,
2629        "IGU: block is not in idle. There are pending write done",
2630        {NA, NA, 0, NA, NA, NA} },
2631
2632/*line 421*/{(0x10), 3, QM_REG_VOQCREDIT_0,
2633        QM_REG_VOQINITCREDIT_0, 1, 0, pneq_r2,
2634        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2635        "QM: VOQ_0, VOQ credit is not equal to initial credit",
2636        {NA, NA, NA, NA, NA, NA} },
2637
2638/*line 422*/{(0x10), 3, QM_REG_VOQCREDIT_1,
2639        QM_REG_VOQINITCREDIT_1, 1, 0, pneq_r2,
2640        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2641        "QM: VOQ_1, VOQ credit is not equal to initial credit",
2642        {NA, NA, NA, NA, NA, NA} },
2643
2644/*line 423*/{(0x10), 3, QM_REG_VOQCREDIT_2,
2645        QM_REG_VOQINITCREDIT_2, 1, 0, pneq_r2,
2646        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2647        "QM: VOQ_2, VOQ credit is not equal to initial credit",
2648        {NA, NA, NA, NA, NA, NA} },
2649
2650/*line 424*/{(0x10), 3, QM_REG_VOQCREDIT_3,
2651        QM_REG_VOQINITCREDIT_3, 1, 0, pneq_r2,
2652        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2653        "QM: VOQ_3, VOQ credit is not equal to initial credit",
2654        {NA, NA, NA, NA, NA, NA} },
2655
2656/*line 425*/{(0x10), 3, QM_REG_VOQCREDIT_4,
2657        QM_REG_VOQINITCREDIT_4, 1, 0, pneq_r2,
2658        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2659        "QM: VOQ_4, VOQ credit is not equal to initial credit",
2660        {NA, NA, NA, NA, NA, NA} },
2661
2662/*line 426*/{(0x10), 3, QM_REG_VOQCREDIT_5,
2663        QM_REG_VOQINITCREDIT_5, 1, 0, pneq_r2,
2664        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2665        "QM: VOQ_5, VOQ credit is not equal to initial credit",
2666        {NA, NA, NA, NA, NA, NA} },
2667
2668/*line 427*/{(0x10), 3, QM_REG_VOQCREDIT_6,
2669        QM_REG_VOQINITCREDIT_6, 1, 0, pneq_r2,
2670        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2671        "QM: VOQ_6 (LB VOQ), VOQ credit is not equal to initial credit",
2672        {NA, NA, NA, NA, NA, NA} },
2673
2674/*line 428*/{(0x10), 3, QM_REG_BYTECRD0,
2675        QM_REG_BYTECRDINITVAL, 1, 0, pneq_r2,
2676        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2677        "QM: Byte credit 0 is not equal to initial credit",
2678        {NA, NA, NA, NA, NA, NA} },
2679
2680/*line 429*/{(0x10), 3, QM_REG_BYTECRD1,
2681        QM_REG_BYTECRDINITVAL, 1, 0, pneq_r2,
2682        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2683        "QM: Byte credit 1 is not equal to initial credit",
2684        {NA, NA, NA, NA, NA, NA} },
2685
2686/*line 430*/{(0x10), 3, QM_REG_BYTECRD2,
2687        QM_REG_BYTECRDINITVAL, 1, 0, pneq_r2,
2688        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2689        "QM: Byte credit 2 is not equal to initial credit",
2690        {NA, NA, NA, NA, NA, NA} },
2691
2692/*line 431*/{(0x10), 3, QM_REG_BYTECRD3,
2693        QM_REG_BYTECRDINITVAL, 1, 0, pneq_r2,
2694        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2695        "QM: Byte credit 3 is not equal to initial credit",
2696        {NA, NA, NA, NA, NA, NA} },
2697
2698/*line 432*/{(0x10), 3, QM_REG_BYTECRD4,
2699        QM_REG_BYTECRDINITVAL, 1, 0, pneq_r2,
2700        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2701        "QM: Byte credit 4 is not equal to initial credit",
2702        {NA, NA, NA, NA, NA, NA} },
2703
2704/*line 433*/{(0x10), 3, QM_REG_BYTECRD5,
2705        QM_REG_BYTECRDINITVAL, 1, 0, pneq_r2,
2706        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2707        "QM: Byte credit 5 is not equal to initial credit",
2708        {NA, NA, NA, NA, NA, NA} },
2709
2710/*line 434*/{(0x10), 3, QM_REG_BYTECRD6,
2711        QM_REG_BYTECRDINITVAL, 1, 0, pneq_r2,
2712        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2713        "QM: Byte credit 6 is not equal to initial credit",
2714        {NA, NA, NA, NA, NA, NA} },
2715
2716/*line 435*/{(0x10), 1, QM_REG_FWVOQ0TOHWVOQ,
2717        NA, 1, 0, peq,
2718        NA, IDLE_CHK_ERROR,
2719        "QM: FwVoq0 is mapped to HwVoq7 (non-TX HwVoq)",
2720        {NA, NA, 0x7, NA, NA, NA} },
2721
2722/*line 436*/{(0x10), 1, QM_REG_FWVOQ1TOHWVOQ,
2723        NA, 1, 0, peq,
2724        NA, IDLE_CHK_ERROR,
2725        "QM: FwVoq1 is mapped to HwVoq7 (non-TX HwVoq)",
2726        {NA, NA, 0x7, NA, NA, NA} },
2727
2728/*line 437*/{(0x10), 1, QM_REG_FWVOQ2TOHWVOQ,
2729        NA, 1, 0, peq,
2730        NA, IDLE_CHK_ERROR,
2731        "QM: FwVoq2 is mapped to HwVoq7 (non-TX HwVoq)",
2732        {NA, NA, 0x7, NA, NA, NA} },
2733
2734/*line 438*/{(0x10), 1, QM_REG_FWVOQ3TOHWVOQ,
2735        NA, 1, 0, peq,
2736        NA, IDLE_CHK_ERROR,
2737        "QM: FwVoq3 is mapped to HwVoq7 (non-TX HwVoq)",
2738        {NA, NA, 0x7, NA, NA, NA} },
2739
2740/*line 439*/{(0x10), 1, QM_REG_FWVOQ4TOHWVOQ,
2741        NA, 1, 0, peq,
2742        NA, IDLE_CHK_ERROR,
2743        "QM: FwVoq4 is mapped to HwVoq7 (non-TX HwVoq)",
2744        {NA, NA, 0x7, NA, NA, NA} },
2745
2746/*line 440*/{(0x10), 1, QM_REG_FWVOQ5TOHWVOQ,
2747        NA, 1, 0, peq,
2748        NA, IDLE_CHK_ERROR,
2749        "QM: FwVoq5 is mapped to HwVoq7 (non-TX HwVoq)",
2750        {NA, NA, 0x7, NA, NA, NA} },
2751
2752/*line 441*/{(0x10), 1, QM_REG_FWVOQ6TOHWVOQ,
2753        NA, 1, 0, peq,
2754        NA, IDLE_CHK_ERROR,
2755        "QM: FwVoq6 is mapped to HwVoq7 (non-TX HwVoq)",
2756        {NA, NA, 0x7, NA, NA, NA} },
2757
2758/*line 442*/{(0x10), 1, QM_REG_FWVOQ7TOHWVOQ,
2759        NA, 1, 0, peq,
2760        NA, IDLE_CHK_ERROR,
2761        "QM: FwVoq7 is mapped to HwVoq7 (non-TX HwVoq)",
2762        {NA, NA, 0x7, NA, NA, NA} },
2763
2764/*line 443*/{(0x1F), 1, NIG_REG_INGRESS_EOP_PORT0_EMPTY,
2765        NA, 1, 0, pneq,
2766        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2767        "NIG: Port 0 EOP FIFO is not empty",
2768        {NA, NA, 1, NA, NA, NA} },
2769
2770/*line 444*/{(0x1F), 1, NIG_REG_INGRESS_EOP_PORT1_EMPTY,
2771        NA, 1, 0, pneq,
2772        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2773        "NIG: Port 1 EOP FIFO is not empty",
2774        {NA, NA, 1, NA, NA, NA} },
2775
2776/*line 445*/{(0x1F), 1, NIG_REG_INGRESS_EOP_LB_EMPTY,
2777        NA, 1, 0, pneq,
2778        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2779        "NIG: LB EOP FIFO is not empty",
2780        {NA, NA, 1, NA, NA, NA} },
2781
2782/*line 446*/{(0x1F), 1, NIG_REG_INGRESS_RMP0_DSCR_EMPTY,
2783        NA, 1, 0, pneq,
2784        NA, IDLE_CHK_WARNING,
2785        "NIG: Port 0 RX MCP descriptor FIFO is not empty",
2786        {NA, NA, 1, NA, NA, NA} },
2787
2788/*line 447*/{(0x1F), 1, NIG_REG_INGRESS_RMP1_DSCR_EMPTY,
2789        NA, 1, 0, pneq,
2790        NA, IDLE_CHK_WARNING,
2791        "NIG: Port 1 RX MCP descriptor FIFO is not empty",
2792        {NA, NA, 1, NA, NA, NA} },
2793
2794/*line 448*/{(0x1F), 1, NIG_REG_INGRESS_LB_PBF_DELAY_EMPTY,
2795        NA, 1, 0, pneq,
2796        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2797        "NIG: PBF LB FIFO is not empty",
2798        {NA, NA, 1, NA, NA, NA} },
2799
2800/*line 449*/{(0x1F), 1, NIG_REG_EGRESS_MNG0_FIFO_EMPTY,
2801        NA, 1, 0, pneq,
2802        NA, IDLE_CHK_WARNING,
2803        "NIG: Port 0 TX MCP FIFO is not empty",
2804        {NA, NA, 1, NA, NA, NA} },
2805
2806/*line 450*/{(0x1F), 1, NIG_REG_EGRESS_MNG1_FIFO_EMPTY,
2807        NA, 1, 0, pneq,
2808        NA, IDLE_CHK_WARNING,
2809        "NIG: Port 1 TX MCP FIFO is not empty",
2810        {NA, NA, 1, NA, NA, NA} },
2811
2812/*line 451*/{(0x1F), 1, NIG_REG_EGRESS_DEBUG_FIFO_EMPTY,
2813        NA, 1, 0, pneq,
2814        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2815        "NIG: Debug FIFO is not empty",
2816        {NA, NA, 1, NA, NA, NA} },
2817
2818/*line 452*/{(0x1F), 1, NIG_REG_EGRESS_DELAY0_EMPTY,
2819        NA, 1, 0, pneq,
2820        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2821        "NIG: PBF IF0 FIFO is not empty",
2822        {NA, NA, 1, NA, NA, NA} },
2823
2824/*line 453*/{(0x1F), 1, NIG_REG_EGRESS_DELAY1_EMPTY,
2825        NA, 1, 0, pneq,
2826        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2827        "NIG: PBF IF1 FIFO is not empty",
2828        {NA, NA, 1, NA, NA, NA} },
2829
2830/*line 454*/{(0x1F), 1, NIG_REG_LLH0_FIFO_EMPTY,
2831        NA, 1, 0, pneq,
2832        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2833        "NIG: Port 0 RX LLH FIFO is not empty",
2834        {NA, NA, 1, NA, NA, NA} },
2835
2836/*line 455*/{(0x1F), 1, NIG_REG_LLH1_FIFO_EMPTY,
2837        NA, 1, 0, pneq,
2838        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2839        "NIG: Port 1 RX LLH FIFO is not empty",
2840        {NA, NA, 1, NA, NA, NA} },
2841
2842/*line 456*/{(0x1C), 1, NIG_REG_P0_TX_MNG_HOST_FIFO_EMPTY,
2843        NA, 1, 0, pneq,
2844        NA, IDLE_CHK_WARNING,
2845        "NIG: Port 0 TX MCP FIFO for traffic going to the host is not empty",
2846        {NA, NA, 1, NA, NA, NA} },
2847
2848/*line 457*/{(0x1C), 1, NIG_REG_P1_TX_MNG_HOST_FIFO_EMPTY,
2849        NA, 1, 0, pneq,
2850        NA, IDLE_CHK_WARNING,
2851        "NIG: Port 1 TX MCP FIFO for traffic going to the host is not empty",
2852        {NA, NA, 1, NA, NA, NA} },
2853
2854/*line 458*/{(0x1C), 1, NIG_REG_P0_TLLH_FIFO_EMPTY,
2855        NA, 1, 0, pneq,
2856        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2857        "NIG: Port 0 TX LLH FIFO is not empty",
2858        {NA, NA, 1, NA, NA, NA} },
2859
2860/*line 459*/{(0x1C), 1, NIG_REG_P1_TLLH_FIFO_EMPTY,
2861        NA, 1, 0, pneq,
2862        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2863        "NIG: Port 1 TX LLH FIFO is not empty",
2864        {NA, NA, 1, NA, NA, NA} },
2865
2866/*line 460*/{(0x1C), 1, NIG_REG_P0_HBUF_DSCR_EMPTY,
2867        NA, 1, 0, pneq,
2868        NA, IDLE_CHK_WARNING,
2869        "NIG: Port 0 RX MCP descriptor FIFO for traffic from the host is not empty",
2870        {NA, NA, 1, NA, NA, NA} },
2871
2872/*line 461*/{(0x1C), 1, NIG_REG_P1_HBUF_DSCR_EMPTY,
2873        NA, 1, 0, pneq,
2874        NA, IDLE_CHK_WARNING,
2875        "NIG: Port 1 RX MCP descriptor FIFO for traffic from the host is not empty",
2876        {NA, NA, 1, NA, NA, NA} },
2877
2878/*line 462*/{(0x18), 1, NIG_REG_P0_RX_MACFIFO_EMPTY,
2879        NA, 1, 0, pneq,
2880        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2881        "NIG: Port 0 RX MAC interface FIFO is not empty",
2882        {NA, NA, 1, NA, NA, NA} },
2883
2884/*line 463*/{(0x18), 1, NIG_REG_P1_RX_MACFIFO_EMPTY,
2885        NA, 1, 0, pneq,
2886        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2887        "NIG: Port 1 RX MAC interface FIFO is not empty",
2888        {NA, NA, 1, NA, NA, NA} },
2889
2890/*line 464*/{(0x18), 1, NIG_REG_P0_TX_MACFIFO_EMPTY,
2891        NA, 1, 0, pneq,
2892        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2893        "NIG: Port 0 TX MAC interface FIFO is not empty",
2894        {NA, NA, 1, NA, NA, NA} },
2895
2896/*line 465*/{(0x18), 1, NIG_REG_P1_TX_MACFIFO_EMPTY,
2897        NA, 1, 0, pneq,
2898        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2899        "NIG: Port 1 TX MAC interface FIFO is not empty",
2900        {NA, NA, 1, NA, NA, NA} },
2901
2902/*line 466*/{(0x10), 1, NIG_REG_EGRESS_DELAY2_EMPTY,
2903        NA, 1, 0, pneq,
2904        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2905        "NIG: PBF IF2 FIFO is not empty",
2906        {NA, NA, 1, NA, NA, NA} },
2907
2908/*line 467*/{(0x10), 1, NIG_REG_EGRESS_DELAY3_EMPTY,
2909        NA, 1, 0, pneq,
2910        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2911        "NIG: PBF IF3 FIFO is not empty",
2912        {NA, NA, 1, NA, NA, NA} },
2913
2914/*line 468*/{(0x10), 1, NIG_REG_EGRESS_DELAY4_EMPTY,
2915        NA, 1, 0, pneq,
2916        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2917        "NIG: PBF IF4 FIFO is not empty",
2918        {NA, NA, 1, NA, NA, NA} },
2919
2920/*line 469*/{(0x10), 1, NIG_REG_EGRESS_DELAY5_EMPTY,
2921        NA, 1, 0, pneq,
2922        NA, IDLE_CHK_ERROR_NO_TRAFFIC,
2923        "NIG: PBF IF5 FIFO is not empty",
2924        {NA, NA, 1, NA, NA, NA} },
2925};
2926
2927/* handle self test fails according to severity and type */
2928static void bnx2x_self_test_log(struct bnx2x *bp, u8 severity, char *message)
2929{
2930        switch (severity) {
2931        case IDLE_CHK_ERROR:
2932                BNX2X_ERR("ERROR %s", message);
2933                idle_chk_errors++;
2934                break;
2935        case IDLE_CHK_ERROR_NO_TRAFFIC:
2936                DP(NETIF_MSG_HW, "INFO %s", message);
2937                break;
2938        case IDLE_CHK_WARNING:
2939                DP(NETIF_MSG_HW, "WARNING %s", message);
2940                idle_chk_warnings++;
2941                break;
2942        }
2943}
2944
2945/* specific test for QM rd/wr pointers and rd/wr banks */
2946static void bnx2x_idle_chk6(struct bnx2x *bp,
2947                            struct st_record *rec, char *message)
2948{
2949        u32 rd_ptr, wr_ptr, rd_bank, wr_bank;
2950        int i;
2951
2952        for (i = 0; i < rec->loop; i++) {
2953                /* read regs */
2954                rec->pred_args.val1 =
2955                        REG_RD(bp, rec->reg1 + i * rec->incr);
2956                rec->pred_args.val2 =
2957                        REG_RD(bp, rec->reg1 + i * rec->incr + 4);
2958
2959                /* calc read and write pointers */
2960                rd_ptr = ((rec->pred_args.val1 & 0x3FFFFFC0) >> 6);
2961                wr_ptr = ((((rec->pred_args.val1 & 0xC0000000) >> 30) & 0x3) |
2962                        ((rec->pred_args.val2 & 0x3FFFFF) << 2));
2963
2964                /* perfrom pointer test */
2965                if (rd_ptr != wr_ptr) {
2966                        snprintf(message, MAX_FAIL_MSG,
2967                                 "QM: PTRTBL entry %d- rd_ptr is not equal to wr_ptr. Values are 0x%x and 0x%x\n",
2968                                 i, rd_ptr, wr_ptr);
2969                        bnx2x_self_test_log(bp, rec->severity, message);
2970                }
2971
2972                /* calculate read and write banks */
2973                rd_bank = ((rec->pred_args.val1 & 0x30) >> 4);
2974                wr_bank = (rec->pred_args.val1 & 0x03);
2975
2976                /* perform bank test */
2977                if (rd_bank != wr_bank) {
2978                        snprintf(message, MAX_FAIL_MSG,
2979                                 "QM: PTRTBL entry %d - rd_bank is not equal to wr_bank. Values are 0x%x 0x%x\n",
2980                                 i, rd_bank, wr_bank);
2981                        bnx2x_self_test_log(bp, rec->severity, message);
2982                }
2983        }
2984}
2985
2986/* specific test for cfc info ram and cid cam */
2987static void bnx2x_idle_chk7(struct bnx2x *bp,
2988                            struct st_record *rec, char *message)
2989{
2990        int i;
2991
2992        /* iterate through lcids */
2993        for (i = 0; i < rec->loop; i++) {
2994                /* make sure cam entry is valid (bit 0) */
2995                if ((REG_RD(bp, (rec->reg2 + i * 4)) & 0x1) != 0x1)
2996                        continue;
2997
2998                /* get connection type (multiple reads due to widebus) */
2999                REG_RD(bp, (rec->reg1 + i * rec->incr));
3000                REG_RD(bp, (rec->reg1 + i * rec->incr + 4));
3001                rec->pred_args.val1 =
3002                        REG_RD(bp, (rec->reg1 + i * rec->incr + 8));
3003                REG_RD(bp, (rec->reg1 + i * rec->incr + 12));
3004
3005                /* obtain connection type */
3006                if (is_e1 || is_e1h) {
3007                        /* E1 E1H (bits 4..7) */
3008                        rec->pred_args.val1 &= 0x78;
3009                        rec->pred_args.val1 >>= 3;
3010                } else {
3011                        /* E2 E3A0 E3B0 (bits 26..29) */
3012                        rec->pred_args.val1 &= 0x1E000000;
3013                        rec->pred_args.val1 >>= 25;
3014                }
3015
3016                /* get activity counter value */
3017                rec->pred_args.val2 = REG_RD(bp, rec->reg3 + i * 4);
3018
3019                /* validate ac value is legal for con_type at idle state */
3020                if (rec->bnx2x_predicate(&rec->pred_args)) {
3021                        snprintf(message, MAX_FAIL_MSG,
3022                                 "%s. Values are 0x%x 0x%x\n", rec->fail_msg,
3023                                 rec->pred_args.val1, rec->pred_args.val2);
3024                        bnx2x_self_test_log(bp, rec->severity, message);
3025                }
3026        }
3027}
3028
3029/* self test procedure
3030 * scan auto-generated database
3031 * for each line:
3032 * 1.   compare chip mask
3033 * 2.   determine type (according to maro number)
3034 * 3.   read registers
3035 * 4.   call predicate
3036 * 5.   collate results and statistics
3037 */
3038int bnx2x_idle_chk(struct bnx2x *bp)
3039{
3040        u16 i;                          /* loop counter */
3041        u16 st_ind;                     /* self test database access index */
3042        struct st_record rec;           /* current record variable */
3043        char message[MAX_FAIL_MSG];     /* message to log */
3044
3045        /*init stats*/
3046        idle_chk_errors = 0;
3047        idle_chk_warnings = 0;
3048
3049        /*create masks for all chip types*/
3050        is_e1   = CHIP_IS_E1(bp);
3051        is_e1h  = CHIP_IS_E1H(bp);
3052        is_e2   = CHIP_IS_E2(bp);
3053        is_e3a0 = CHIP_IS_E3A0(bp);
3054        is_e3b0 = CHIP_IS_E3B0(bp);
3055
3056        /*database main loop*/
3057        for (st_ind = 0; st_ind < ST_DB_LINES; st_ind++) {
3058                rec = st_database[st_ind];
3059
3060                /*check if test applies to chip*/
3061                if (!((rec.chip_mask & IDLE_CHK_E1) && is_e1) &&
3062                    !((rec.chip_mask & IDLE_CHK_E1H) && is_e1h) &&
3063                    !((rec.chip_mask & IDLE_CHK_E2) && is_e2) &&
3064                    !((rec.chip_mask & IDLE_CHK_E3A0) && is_e3a0) &&
3065                    !((rec.chip_mask & IDLE_CHK_E3B0) && is_e3b0))
3066                        continue;
3067
3068                /* identify macro */
3069                switch (rec.macro) {
3070                case 1:
3071                        /* read single reg and call predicate */
3072                        rec.pred_args.val1 = REG_RD(bp, rec.reg1);
3073                        DP(BNX2X_MSG_IDLE, "mac1 add %x\n", rec.reg1);
3074                        if (rec.bnx2x_predicate(&rec.pred_args)) {
3075                                snprintf(message, sizeof(message),
3076                                         "%s.Value is 0x%x\n", rec.fail_msg,
3077                                         rec.pred_args.val1);
3078                                bnx2x_self_test_log(bp, rec.severity, message);
3079                        }
3080                        break;
3081                case 2:
3082                        /* read repeatedly starting from reg1 and call
3083                         * predicate after each read
3084                         */
3085                        for (i = 0; i < rec.loop; i++) {
3086                                rec.pred_args.val1 =
3087                                        REG_RD(bp, rec.reg1 + i * rec.incr);
3088                                DP(BNX2X_MSG_IDLE, "mac2 add %x\n", rec.reg1);
3089                                if (rec.bnx2x_predicate(&rec.pred_args)) {
3090                                        snprintf(message, sizeof(message),
3091                                                 "%s. Value is 0x%x in loop %d\n",
3092                                                 rec.fail_msg,
3093                                                 rec.pred_args.val1, i);
3094                                        bnx2x_self_test_log(bp, rec.severity,
3095                                                            message);
3096                                }
3097                        }
3098                        break;
3099                case 3:
3100                        /* read two regs and call predicate */
3101                        rec.pred_args.val1 = REG_RD(bp, rec.reg1);
3102                        rec.pred_args.val2 = REG_RD(bp, rec.reg2);
3103                        DP(BNX2X_MSG_IDLE, "mac3 add1 %x add2 %x\n",
3104                           rec.reg1, rec.reg2);
3105                        if (rec.bnx2x_predicate(&rec.pred_args)) {
3106                                snprintf(message, sizeof(message),
3107                                         "%s. Values are 0x%x 0x%x\n",
3108                                         rec.fail_msg, rec.pred_args.val1,
3109                                         rec.pred_args.val2);
3110                                bnx2x_self_test_log(bp, rec.severity, message);
3111                        }
3112                        break;
3113                case 4:
3114                        /*unused to-date*/
3115                        for (i = 0; i < rec.loop; i++) {
3116                                rec.pred_args.val1 =
3117                                        REG_RD(bp, rec.reg1 + i * rec.incr);
3118                                rec.pred_args.val2 =
3119                                        (REG_RD(bp,
3120                                                rec.reg2 + i * rec.incr)) >> 1;
3121                                if (rec.bnx2x_predicate(&rec.pred_args)) {
3122                                        snprintf(message, sizeof(message),
3123                                                 "%s. Values are 0x%x 0x%x in loop %d\n",
3124                                                 rec.fail_msg,
3125                                                 rec.pred_args.val1,
3126                                                 rec.pred_args.val2, i);
3127                                        bnx2x_self_test_log(bp, rec.severity,
3128                                                            message);
3129                                }
3130                        }
3131                        break;
3132                case 5:
3133                        /* compare two regs, pending
3134                         * the value of a condition reg
3135                         */
3136                        rec.pred_args.val1 = REG_RD(bp, rec.reg1);
3137                        rec.pred_args.val2 = REG_RD(bp, rec.reg2);
3138                        DP(BNX2X_MSG_IDLE, "mac3 add1 %x add2 %x add3 %x\n",
3139                           rec.reg1, rec.reg2, rec.reg3);
3140                        if (REG_RD(bp, rec.reg3) != 0) {
3141                                if (rec.bnx2x_predicate(&rec.pred_args)) {
3142                                        snprintf(message, sizeof(message),
3143                                                 "%s. Values are 0x%x 0x%x\n",
3144                                                 rec.fail_msg,
3145                                                 rec.pred_args.val1,
3146                                                 rec.pred_args.val2);
3147                                        bnx2x_self_test_log(bp, rec.severity,
3148                                                            message);
3149                                }
3150                        }
3151                        break;
3152                case 6:
3153                        /* compare read and write pointers
3154                         * and read and write banks in QM
3155                         */
3156                        bnx2x_idle_chk6(bp, &rec, message);
3157                        break;
3158                case 7:
3159                        /* compare cfc info cam with cid cam */
3160                        bnx2x_idle_chk7(bp, &rec, message);
3161                        break;
3162                default:
3163                        DP(BNX2X_MSG_IDLE,
3164                           "unknown macro in self test data base. macro %d line %d",
3165                           rec.macro, st_ind);
3166                }
3167        }
3168
3169        /* abort if interface is not running */
3170        if (!netif_running(bp->dev))
3171                return idle_chk_errors;
3172
3173        /* return value accorindg to statistics */
3174        if (idle_chk_errors == 0) {
3175                DP(BNX2X_MSG_IDLE,
3176                   "completed successfully (logged %d warnings)\n",
3177                   idle_chk_warnings);
3178        } else {
3179                BNX2X_ERR("failed (with %d errors, %d warnings)\n",
3180                          idle_chk_errors, idle_chk_warnings);
3181        }
3182        return idle_chk_errors;
3183}
3184