1210284Sjmallett/***********************license start***************
2232812Sjmallett * Copyright (c) 2003-2010  Cavium Inc. (support@cavium.com). All rights
3215990Sjmallett * reserved.
4210284Sjmallett *
5210284Sjmallett *
6215990Sjmallett * Redistribution and use in source and binary forms, with or without
7215990Sjmallett * modification, are permitted provided that the following conditions are
8215990Sjmallett * met:
9210284Sjmallett *
10215990Sjmallett *   * Redistributions of source code must retain the above copyright
11215990Sjmallett *     notice, this list of conditions and the following disclaimer.
12210284Sjmallett *
13215990Sjmallett *   * Redistributions in binary form must reproduce the above
14215990Sjmallett *     copyright notice, this list of conditions and the following
15215990Sjmallett *     disclaimer in the documentation and/or other materials provided
16215990Sjmallett *     with the distribution.
17215990Sjmallett
18232812Sjmallett *   * Neither the name of Cavium Inc. nor the names of
19215990Sjmallett *     its contributors may be used to endorse or promote products
20215990Sjmallett *     derived from this software without specific prior written
21215990Sjmallett *     permission.
22215990Sjmallett
23215990Sjmallett * This Software, including technical data, may be subject to U.S. export  control
24215990Sjmallett * laws, including the U.S. Export Administration Act and its  associated
25215990Sjmallett * regulations, and may be subject to export or import  regulations in other
26215990Sjmallett * countries.
27215990Sjmallett
28215990Sjmallett * TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
29232812Sjmallett * AND WITH ALL FAULTS AND CAVIUM INC. MAKES NO PROMISES, REPRESENTATIONS OR
30215990Sjmallett * WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO
31215990Sjmallett * THE SOFTWARE, INCLUDING ITS CONDITION, ITS CONFORMITY TO ANY REPRESENTATION OR
32215990Sjmallett * DESCRIPTION, OR THE EXISTENCE OF ANY LATENT OR PATENT DEFECTS, AND CAVIUM
33215990Sjmallett * SPECIFICALLY DISCLAIMS ALL IMPLIED (IF ANY) WARRANTIES OF TITLE,
34215990Sjmallett * MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, LACK OF
35215990Sjmallett * VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION OR
36215990Sjmallett * CORRESPONDENCE TO DESCRIPTION. THE ENTIRE  RISK ARISING OUT OF USE OR
37215990Sjmallett * PERFORMANCE OF THE SOFTWARE LIES WITH YOU.
38210284Sjmallett ***********************license end**************************************/
39210284Sjmallett
40210284Sjmallett
41210284Sjmallett
42210284Sjmallett
43210284Sjmallett
44210284Sjmallett
45215990Sjmallett
46210284Sjmallett/**
47210284Sjmallett * @file
48210284Sjmallett *
49210284Sjmallett * Validate defines required by cvmx-helper. This header file
50210284Sjmallett * validates a number of defines required for cvmx-helper to
51210284Sjmallett * function properly. It either supplies a default or fails
52210284Sjmallett * compile if a define is incorrect.
53210284Sjmallett *
54232812Sjmallett * <hr>$Revision: 70030 $<hr>
55210284Sjmallett */
56210284Sjmallett#ifndef __CVMX_HELPER_CHECK_DEFINES_H__
57210284Sjmallett#define __CVMX_HELPER_CHECK_DEFINES_H__
58210284Sjmallett
59210284Sjmallett/* CVMX_HELPER_FIRST_MBUFF_SKIP is the number of bytes to reserve before
60210284Sjmallett    the beginning of the packet. Override in executive-config.h */
61210284Sjmallett#ifndef CVMX_HELPER_FIRST_MBUFF_SKIP
62210284Sjmallett#define CVMX_HELPER_FIRST_MBUFF_SKIP 184
63210284Sjmallett#warning WARNING: default CVMX_HELPER_FIRST_MBUFF_SKIP used.  Defaults deprecated, please set in executive-config.h
64210284Sjmallett#endif
65210284Sjmallett
66210284Sjmallett/* CVMX_HELPER_NOT_FIRST_MBUFF_SKIP is the number of bytes to reserve in each
67210284Sjmallett    chained packet element. Override in executive-config.h */
68210284Sjmallett#ifndef CVMX_HELPER_NOT_FIRST_MBUFF_SKIP
69210284Sjmallett#define CVMX_HELPER_NOT_FIRST_MBUFF_SKIP 0
70210284Sjmallett#warning WARNING: default CVMX_HELPER_NOT_FIRST_MBUFF_SKIP used.  Defaults deprecated, please set in executive-config.h
71210284Sjmallett#endif
72210284Sjmallett
73210284Sjmallett/* CVMX_HELPER_ENABLE_IPD controls if the IPD is enabled in the helper
74210284Sjmallett    function. Once it is enabled the hardware starts accepting packets. You
75210284Sjmallett    might want to skip the IPD enable if configuration changes are need
76210284Sjmallett    from the default helper setup. Override in executive-config.h */
77210284Sjmallett#ifndef CVMX_HELPER_ENABLE_IPD
78210284Sjmallett#define CVMX_HELPER_ENABLE_IPD 1
79210284Sjmallett#warning WARNING: default CVMX_HELPER_ENABLE_IPD used.  Defaults deprecated, please set in executive-config.h
80210284Sjmallett#endif
81210284Sjmallett
82210284Sjmallett/* Set default (defaults are deprecated) input tag type */
83210284Sjmallett#ifndef  CVMX_HELPER_INPUT_TAG_TYPE
84210284Sjmallett#define  CVMX_HELPER_INPUT_TAG_TYPE CVMX_POW_TAG_TYPE_ORDERED
85210284Sjmallett#warning WARNING: default CVMX_HELPER_INPUT_TAG_TYPE used.  Defaults deprecated, please set in executive-config.h
86210284Sjmallett#endif
87210284Sjmallett
88210284Sjmallett#ifndef CVMX_HELPER_INPUT_PORT_SKIP_MODE
89210284Sjmallett#define CVMX_HELPER_INPUT_PORT_SKIP_MODE	CVMX_PIP_PORT_CFG_MODE_SKIPL2
90210284Sjmallett#warning WARNING: default CVMX_HELPER_INPUT_PORT_SKIP_MODE used.  Defaults deprecated, please set in executive-config.h
91210284Sjmallett#endif
92210284Sjmallett
93210284Sjmallett#if defined(CVMX_ENABLE_HELPER_FUNCTIONS) && !defined(CVMX_HELPER_INPUT_TAG_INPUT_PORT)
94210284Sjmallett#error CVMX_HELPER_INPUT_TAG_* values for determining tag hash inputs must be defined in executive-config.h
95210284Sjmallett#endif
96210284Sjmallett
97210284Sjmallett#endif
98