1*0aeed3e9SJustin Hibbits /* Copyright (c) 2008-2011 Freescale Semiconductor, Inc. 2*0aeed3e9SJustin Hibbits * All rights reserved. 3*0aeed3e9SJustin Hibbits * 4*0aeed3e9SJustin Hibbits * Redistribution and use in source and binary forms, with or without 5*0aeed3e9SJustin Hibbits * modification, are permitted provided that the following conditions are met: 6*0aeed3e9SJustin Hibbits * * Redistributions of source code must retain the above copyright 7*0aeed3e9SJustin Hibbits * notice, this list of conditions and the following disclaimer. 8*0aeed3e9SJustin Hibbits * * Redistributions in binary form must reproduce the above copyright 9*0aeed3e9SJustin Hibbits * notice, this list of conditions and the following disclaimer in the 10*0aeed3e9SJustin Hibbits * documentation and/or other materials provided with the distribution. 11*0aeed3e9SJustin Hibbits * * Neither the name of Freescale Semiconductor nor the 12*0aeed3e9SJustin Hibbits * names of its contributors may be used to endorse or promote products 13*0aeed3e9SJustin Hibbits * derived from this software without specific prior written permission. 14*0aeed3e9SJustin Hibbits * 15*0aeed3e9SJustin Hibbits * 16*0aeed3e9SJustin Hibbits * ALTERNATIVELY, this software may be distributed under the terms of the 17*0aeed3e9SJustin Hibbits * GNU General Public License ("GPL") as published by the Free Software 18*0aeed3e9SJustin Hibbits * Foundation, either version 2 of that License or (at your option) any 19*0aeed3e9SJustin Hibbits * later version. 20*0aeed3e9SJustin Hibbits * 21*0aeed3e9SJustin Hibbits * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY 22*0aeed3e9SJustin Hibbits * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 23*0aeed3e9SJustin Hibbits * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 24*0aeed3e9SJustin Hibbits * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY 25*0aeed3e9SJustin Hibbits * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 26*0aeed3e9SJustin Hibbits * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 27*0aeed3e9SJustin Hibbits * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 28*0aeed3e9SJustin Hibbits * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29*0aeed3e9SJustin Hibbits * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 30*0aeed3e9SJustin Hibbits * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31*0aeed3e9SJustin Hibbits */ 32*0aeed3e9SJustin Hibbits 33*0aeed3e9SJustin Hibbits /****************************************************************************** 34*0aeed3e9SJustin Hibbits @File dpaa_ext.h 35*0aeed3e9SJustin Hibbits 36*0aeed3e9SJustin Hibbits @Description DPAA Application Programming Interface. 37*0aeed3e9SJustin Hibbits *//***************************************************************************/ 38*0aeed3e9SJustin Hibbits #ifndef __DPAA_EXT_H 39*0aeed3e9SJustin Hibbits #define __DPAA_EXT_H 40*0aeed3e9SJustin Hibbits 41*0aeed3e9SJustin Hibbits #include "std_ext.h" 42*0aeed3e9SJustin Hibbits #include "error_ext.h" 43*0aeed3e9SJustin Hibbits 44*0aeed3e9SJustin Hibbits 45*0aeed3e9SJustin Hibbits /**************************************************************************//** 46*0aeed3e9SJustin Hibbits @Group DPAA_grp Data Path Acceleration Architecture API 47*0aeed3e9SJustin Hibbits 48*0aeed3e9SJustin Hibbits @Description DPAA API functions, definitions and enums. 49*0aeed3e9SJustin Hibbits 50*0aeed3e9SJustin Hibbits @{ 51*0aeed3e9SJustin Hibbits *//***************************************************************************/ 52*0aeed3e9SJustin Hibbits 53*0aeed3e9SJustin Hibbits #if defined(__MWERKS__) && !defined(__GNUC__) 54*0aeed3e9SJustin Hibbits #pragma pack(push,1) 55*0aeed3e9SJustin Hibbits #endif /* defined(__MWERKS__) && ... */ 56*0aeed3e9SJustin Hibbits #define MEM_MAP_START 57*0aeed3e9SJustin Hibbits 58*0aeed3e9SJustin Hibbits /**************************************************************************//** 59*0aeed3e9SJustin Hibbits @Description Frame descriptor 60*0aeed3e9SJustin Hibbits *//***************************************************************************/ 61*0aeed3e9SJustin Hibbits typedef _Packed struct t_DpaaFD { 62*0aeed3e9SJustin Hibbits volatile uint32_t id; /**< FD id */ 63*0aeed3e9SJustin Hibbits volatile uint32_t addrl; /**< Data Address */ 64*0aeed3e9SJustin Hibbits volatile uint32_t length; /**< Frame length */ 65*0aeed3e9SJustin Hibbits volatile uint32_t status; /**< FD status */ 66*0aeed3e9SJustin Hibbits } _PackedType t_DpaaFD; 67*0aeed3e9SJustin Hibbits 68*0aeed3e9SJustin Hibbits /**************************************************************************//** 69*0aeed3e9SJustin Hibbits @Description enum for defining frame format 70*0aeed3e9SJustin Hibbits *//***************************************************************************/ 71*0aeed3e9SJustin Hibbits typedef enum e_DpaaFDFormatType { 72*0aeed3e9SJustin Hibbits e_DPAA_FD_FORMAT_TYPE_SHORT_SBSF = 0x0, /**< Simple frame Single buffer; Offset and 73*0aeed3e9SJustin Hibbits small length (9b OFFSET, 20b LENGTH) */ 74*0aeed3e9SJustin Hibbits e_DPAA_FD_FORMAT_TYPE_LONG_SBSF = 0x2, /**< Simple frame, single buffer; big length 75*0aeed3e9SJustin Hibbits (29b LENGTH ,No OFFSET) */ 76*0aeed3e9SJustin Hibbits e_DPAA_FD_FORMAT_TYPE_SHORT_MBSF = 0x4, /**< Simple frame, Scatter Gather table; Offset 77*0aeed3e9SJustin Hibbits and small length (9b OFFSET, 20b LENGTH) */ 78*0aeed3e9SJustin Hibbits e_DPAA_FD_FORMAT_TYPE_LONG_MBSF = 0x6, /**< Simple frame, Scatter Gather table; 79*0aeed3e9SJustin Hibbits big length (29b LENGTH ,No OFFSET) */ 80*0aeed3e9SJustin Hibbits e_DPAA_FD_FORMAT_TYPE_COMPOUND = 0x1, /**< Compound Frame (29b CONGESTION-WEIGHT 81*0aeed3e9SJustin Hibbits No LENGTH or OFFSET) */ 82*0aeed3e9SJustin Hibbits e_DPAA_FD_FORMAT_TYPE_DUMMY 83*0aeed3e9SJustin Hibbits } e_DpaaFDFormatType; 84*0aeed3e9SJustin Hibbits 85*0aeed3e9SJustin Hibbits /**************************************************************************//** 86*0aeed3e9SJustin Hibbits @Collection Frame descriptor macros 87*0aeed3e9SJustin Hibbits *//***************************************************************************/ 88*0aeed3e9SJustin Hibbits #define DPAA_FD_DD_MASK 0xc0000000 /**< FD DD field mask */ 89*0aeed3e9SJustin Hibbits #define DPAA_FD_PID_MASK 0x3f000000 /**< FD PID field mask */ 90*0aeed3e9SJustin Hibbits #define DPAA_FD_ELIODN_MASK 0x0000f000 /**< FD ELIODN field mask */ 91*0aeed3e9SJustin Hibbits #define DPAA_FD_BPID_MASK 0x00ff0000 /**< FD BPID field mask */ 92*0aeed3e9SJustin Hibbits #define DPAA_FD_ADDRH_MASK 0x000000ff /**< FD ADDRH field mask */ 93*0aeed3e9SJustin Hibbits #define DPAA_FD_ADDRL_MASK 0xffffffff /**< FD ADDRL field mask */ 94*0aeed3e9SJustin Hibbits #define DPAA_FD_FORMAT_MASK 0xe0000000 /**< FD FORMAT field mask */ 95*0aeed3e9SJustin Hibbits #define DPAA_FD_OFFSET_MASK 0x1ff00000 /**< FD OFFSET field mask */ 96*0aeed3e9SJustin Hibbits #define DPAA_FD_LENGTH_MASK 0x000fffff /**< FD LENGTH field mask */ 97*0aeed3e9SJustin Hibbits 98*0aeed3e9SJustin Hibbits #define DPAA_FD_GET_DD(fd) ((((t_DpaaFD *)fd)->id & DPAA_FD_DD_MASK) >> (31-1)) /**< Macro to get FD DD field */ 99*0aeed3e9SJustin Hibbits #define DPAA_FD_GET_PID(fd) (((((t_DpaaFD *)fd)->id & DPAA_FD_PID_MASK) >> (31-7)) | \ 100*0aeed3e9SJustin Hibbits ((((t_DpaaFD *)fd)->id & DPAA_FD_ELIODN_MASK) >> (31-19-6))) /**< Macro to get FD PID field */ 101*0aeed3e9SJustin Hibbits #define DPAA_FD_GET_BPID(fd) ((((t_DpaaFD *)fd)->id & DPAA_FD_BPID_MASK) >> (31-15)) /**< Macro to get FD BPID field */ 102*0aeed3e9SJustin Hibbits #define DPAA_FD_GET_ADDRH(fd) (((t_DpaaFD *)fd)->id & DPAA_FD_ADDRH_MASK) /**< Macro to get FD ADDRH field */ 103*0aeed3e9SJustin Hibbits #define DPAA_FD_GET_ADDRL(fd) ((t_DpaaFD *)fd)->addrl /**< Macro to get FD ADDRL field */ 104*0aeed3e9SJustin Hibbits #define DPAA_FD_GET_PHYS_ADDR(fd) ((physAddress_t)(((uint64_t)DPAA_FD_GET_ADDRH(fd) << 32) | (uint64_t)DPAA_FD_GET_ADDRL(fd))) /**< Macro to get FD ADDR field */ 105*0aeed3e9SJustin Hibbits #define DPAA_FD_GET_FORMAT(fd) ((((t_DpaaFD *)fd)->length & DPAA_FD_FORMAT_MASK) >> (31-2)) /**< Macro to get FD FORMAT field */ 106*0aeed3e9SJustin Hibbits #define DPAA_FD_GET_OFFSET(fd) ((((t_DpaaFD *)fd)->length & DPAA_FD_OFFSET_MASK) >> (31-11)) /**< Macro to get FD OFFSET field */ 107*0aeed3e9SJustin Hibbits #define DPAA_FD_GET_LENGTH(fd) (((t_DpaaFD *)fd)->length & DPAA_FD_LENGTH_MASK) /**< Macro to get FD LENGTH field */ 108*0aeed3e9SJustin Hibbits #define DPAA_FD_GET_STATUS(fd) ((t_DpaaFD *)fd)->status /**< Macro to get FD STATUS field */ 109*0aeed3e9SJustin Hibbits #define DPAA_FD_GET_ADDR(fd) XX_PhysToVirt(DPAA_FD_GET_PHYS_ADDR(fd)) 110*0aeed3e9SJustin Hibbits 111*0aeed3e9SJustin Hibbits #define DPAA_FD_SET_DD(fd,val) (((t_DpaaFD *)fd)->id = ((((t_DpaaFD *)fd)->id & ~DPAA_FD_DD_MASK) | (((val) << (31-1)) & DPAA_FD_DD_MASK ))) /**< Macro to set FD DD field */ 112*0aeed3e9SJustin Hibbits /**< Macro to set FD PID field or LIODN offset*/ 113*0aeed3e9SJustin Hibbits #define DPAA_FD_SET_PID(fd,val) (((t_DpaaFD *)fd)->id = ((((t_DpaaFD *)fd)->id & ~(DPAA_FD_PID_MASK|DPAA_FD_ELIODN_MASK)) | ((((val) << (31-7)) & DPAA_FD_PID_MASK) | ((((val)>>6) << (31-19)) & DPAA_FD_ELIODN_MASK)))) 114*0aeed3e9SJustin Hibbits #define DPAA_FD_SET_BPID(fd,val) (((t_DpaaFD *)fd)->id = ((((t_DpaaFD *)fd)->id & ~DPAA_FD_BPID_MASK) | (((val) << (31-15)) & DPAA_FD_BPID_MASK))) /**< Macro to set FD BPID field */ 115*0aeed3e9SJustin Hibbits #define DPAA_FD_SET_ADDRH(fd,val) (((t_DpaaFD *)fd)->id = ((((t_DpaaFD *)fd)->id & ~DPAA_FD_ADDRH_MASK) | ((val) & DPAA_FD_ADDRH_MASK))) /**< Macro to set FD ADDRH field */ 116*0aeed3e9SJustin Hibbits #define DPAA_FD_SET_ADDRL(fd,val) ((t_DpaaFD *)fd)->addrl = (val) /**< Macro to set FD ADDRL field */ 117*0aeed3e9SJustin Hibbits #define DPAA_FD_SET_ADDR(fd,val) \ 118*0aeed3e9SJustin Hibbits do { \ 119*0aeed3e9SJustin Hibbits uint64_t physAddr = (uint64_t)(XX_VirtToPhys(val)); \ 120*0aeed3e9SJustin Hibbits DPAA_FD_SET_ADDRH(fd, ((uint32_t)(physAddr >> 32))); \ 121*0aeed3e9SJustin Hibbits DPAA_FD_SET_ADDRL(fd, (uint32_t)physAddr); \ 122*0aeed3e9SJustin Hibbits } while (0) /**< Macro to set FD ADDR field */ 123*0aeed3e9SJustin Hibbits #define DPAA_FD_SET_FORMAT(fd,val) (((t_DpaaFD *)fd)->length = ((((t_DpaaFD *)fd)->length & ~DPAA_FD_FORMAT_MASK) | (((val) << (31-2))& DPAA_FD_FORMAT_MASK))) /**< Macro to set FD FORMAT field */ 124*0aeed3e9SJustin Hibbits #define DPAA_FD_SET_OFFSET(fd,val) (((t_DpaaFD *)fd)->length = ((((t_DpaaFD *)fd)->length & ~DPAA_FD_OFFSET_MASK) | (((val) << (31-11))& DPAA_FD_OFFSET_MASK) )) /**< Macro to set FD OFFSET field */ 125*0aeed3e9SJustin Hibbits #define DPAA_FD_SET_LENGTH(fd,val) (((t_DpaaFD *)fd)->length = (((t_DpaaFD *)fd)->length & ~DPAA_FD_LENGTH_MASK) | ((val) & DPAA_FD_LENGTH_MASK)) /**< Macro to set FD LENGTH field */ 126*0aeed3e9SJustin Hibbits #define DPAA_FD_SET_STATUS(fd,val) ((t_DpaaFD *)fd)->status = (val) /**< Macro to set FD STATUS field */ 127*0aeed3e9SJustin Hibbits /* @} */ 128*0aeed3e9SJustin Hibbits 129*0aeed3e9SJustin Hibbits /**************************************************************************//** 130*0aeed3e9SJustin Hibbits @Description Frame Scatter/Gather Table Entry 131*0aeed3e9SJustin Hibbits *//***************************************************************************/ 132*0aeed3e9SJustin Hibbits typedef _Packed struct t_DpaaSGTE { 133*0aeed3e9SJustin Hibbits volatile uint32_t addrh; /**< Buffer Address high */ 134*0aeed3e9SJustin Hibbits volatile uint32_t addrl; /**< Buffer Address low */ 135*0aeed3e9SJustin Hibbits volatile uint32_t length; /**< Buffer length */ 136*0aeed3e9SJustin Hibbits volatile uint32_t offset; /**< SGTE offset */ 137*0aeed3e9SJustin Hibbits } _PackedType t_DpaaSGTE; 138*0aeed3e9SJustin Hibbits 139*0aeed3e9SJustin Hibbits #define DPAA_NUM_OF_SG_TABLE_ENTRY 16 140*0aeed3e9SJustin Hibbits 141*0aeed3e9SJustin Hibbits /**************************************************************************//** 142*0aeed3e9SJustin Hibbits @Description Frame Scatter/Gather Table 143*0aeed3e9SJustin Hibbits *//***************************************************************************/ 144*0aeed3e9SJustin Hibbits typedef _Packed struct t_DpaaSGT { 145*0aeed3e9SJustin Hibbits t_DpaaSGTE tableEntry[DPAA_NUM_OF_SG_TABLE_ENTRY]; 146*0aeed3e9SJustin Hibbits /**< structure that hold the information about 147*0aeed3e9SJustin Hibbits a single S/G entry. */ 148*0aeed3e9SJustin Hibbits } _PackedType t_DpaaSGT; 149*0aeed3e9SJustin Hibbits 150*0aeed3e9SJustin Hibbits /**************************************************************************//** 151*0aeed3e9SJustin Hibbits @Description Compound Frame Table 152*0aeed3e9SJustin Hibbits *//***************************************************************************/ 153*0aeed3e9SJustin Hibbits typedef _Packed struct t_DpaaCompTbl { 154*0aeed3e9SJustin Hibbits t_DpaaSGTE outputBuffInfo; /**< structure that holds the information about 155*0aeed3e9SJustin Hibbits the compound-frame output buffer; 156*0aeed3e9SJustin Hibbits NOTE: this may point to a S/G table */ 157*0aeed3e9SJustin Hibbits t_DpaaSGTE inputBuffInfo; /**< structure that holds the information about 158*0aeed3e9SJustin Hibbits the compound-frame input buffer; 159*0aeed3e9SJustin Hibbits NOTE: this may point to a S/G table */ 160*0aeed3e9SJustin Hibbits } _PackedType t_DpaaCompTbl; 161*0aeed3e9SJustin Hibbits 162*0aeed3e9SJustin Hibbits /**************************************************************************//** 163*0aeed3e9SJustin Hibbits @Collection Frame Scatter/Gather Table Entry macros 164*0aeed3e9SJustin Hibbits *//***************************************************************************/ 165*0aeed3e9SJustin Hibbits #define DPAA_SGTE_ADDRH_MASK 0x000000ff /**< SGTE ADDRH field mask */ 166*0aeed3e9SJustin Hibbits #define DPAA_SGTE_ADDRL_MASK 0xffffffff /**< SGTE ADDRL field mask */ 167*0aeed3e9SJustin Hibbits #define DPAA_SGTE_E_MASK 0x80000000 /**< SGTE Extension field mask */ 168*0aeed3e9SJustin Hibbits #define DPAA_SGTE_F_MASK 0x40000000 /**< SGTE Final field mask */ 169*0aeed3e9SJustin Hibbits #define DPAA_SGTE_LENGTH_MASK 0x3fffffff /**< SGTE LENGTH field mask */ 170*0aeed3e9SJustin Hibbits #define DPAA_SGTE_BPID_MASK 0x00ff0000 /**< SGTE BPID field mask */ 171*0aeed3e9SJustin Hibbits #define DPAA_SGTE_OFFSET_MASK 0x00001fff /**< SGTE OFFSET field mask */ 172*0aeed3e9SJustin Hibbits 173*0aeed3e9SJustin Hibbits #define DPAA_SGTE_GET_ADDRH(sgte) (((t_DpaaSGTE *)sgte)->addrh & DPAA_SGTE_ADDRH_MASK) /**< Macro to get SGTE ADDRH field */ 174*0aeed3e9SJustin Hibbits #define DPAA_SGTE_GET_ADDRL(sgte) ((t_DpaaSGTE *)sgte)->addrl /**< Macro to get SGTE ADDRL field */ 175*0aeed3e9SJustin Hibbits #define DPAA_SGTE_GET_PHYS_ADDR(sgte) ((physAddress_t)(((uint64_t)DPAA_SGTE_GET_ADDRH(sgte) << 32) | (uint64_t)DPAA_SGTE_GET_ADDRL(sgte))) /**< Macro to get FD ADDR field */ 176*0aeed3e9SJustin Hibbits #define DPAA_SGTE_GET_EXTENSION(sgte) ((((t_DpaaSGTE *)sgte)->length & DPAA_SGTE_E_MASK) >> (31-0)) /**< Macro to get SGTE EXTENSION field */ 177*0aeed3e9SJustin Hibbits #define DPAA_SGTE_GET_FINAL(sgte) ((((t_DpaaSGTE *)sgte)->length & DPAA_SGTE_F_MASK) >> (31-1)) /**< Macro to get SGTE FINAL field */ 178*0aeed3e9SJustin Hibbits #define DPAA_SGTE_GET_LENGTH(sgte) (((t_DpaaSGTE *)sgte)->length & DPAA_SGTE_LENGTH_MASK) /**< Macro to get SGTE LENGTH field */ 179*0aeed3e9SJustin Hibbits #define DPAA_SGTE_GET_BPID(sgte) ((((t_DpaaSGTE *)sgte)->offset & DPAA_SGTE_BPID_MASK) >> (31-15)) /**< Macro to get SGTE BPID field */ 180*0aeed3e9SJustin Hibbits #define DPAA_SGTE_GET_OFFSET(sgte) (((t_DpaaSGTE *)sgte)->offset & DPAA_SGTE_OFFSET_MASK) /**< Macro to get SGTE OFFSET field */ 181*0aeed3e9SJustin Hibbits #define DPAA_SGTE_GET_ADDR(sgte) XX_PhysToVirt(DPAA_SGTE_GET_PHYS_ADDR(sgte)) 182*0aeed3e9SJustin Hibbits 183*0aeed3e9SJustin Hibbits #define DPAA_SGTE_SET_ADDRH(sgte,val) (((t_DpaaSGTE *)sgte)->addrh = ((((t_DpaaSGTE *)sgte)->addrh & ~DPAA_SGTE_ADDRH_MASK) | ((val) & DPAA_SGTE_ADDRH_MASK))) /**< Macro to set SGTE ADDRH field */ 184*0aeed3e9SJustin Hibbits #define DPAA_SGTE_SET_ADDRL(sgte,val) ((t_DpaaSGTE *)sgte)->addrl = (val) /**< Macro to set SGTE ADDRL field */ 185*0aeed3e9SJustin Hibbits #define DPAA_SGTE_SET_ADDR(sgte,val) \ 186*0aeed3e9SJustin Hibbits do { \ 187*0aeed3e9SJustin Hibbits uint64_t physAddr = (uint64_t)(XX_VirtToPhys(val)); \ 188*0aeed3e9SJustin Hibbits DPAA_SGTE_SET_ADDRH(sgte, ((uint32_t)(physAddr >> 32))); \ 189*0aeed3e9SJustin Hibbits DPAA_SGTE_SET_ADDRL(sgte, (uint32_t)physAddr); \ 190*0aeed3e9SJustin Hibbits } while (0) /**< Macro to set SGTE ADDR field */ 191*0aeed3e9SJustin Hibbits #define DPAA_SGTE_SET_EXTENSION(sgte,val) (((t_DpaaSGTE *)sgte)->length = ((((t_DpaaSGTE *)sgte)->length & ~DPAA_SGTE_E_MASK) | (((val) << (31-0))& DPAA_SGTE_E_MASK))) /**< Macro to set SGTE EXTENSION field */ 192*0aeed3e9SJustin Hibbits #define DPAA_SGTE_SET_FINAL(sgte,val) (((t_DpaaSGTE *)sgte)->length = ((((t_DpaaSGTE *)sgte)->length & ~DPAA_SGTE_F_MASK) | (((val) << (31-1))& DPAA_SGTE_F_MASK))) /**< Macro to set SGTE FINAL field */ 193*0aeed3e9SJustin Hibbits #define DPAA_SGTE_SET_LENGTH(sgte,val) (((t_DpaaSGTE *)sgte)->length = (((t_DpaaSGTE *)sgte)->length & ~DPAA_SGTE_LENGTH_MASK) | ((val) & DPAA_SGTE_LENGTH_MASK)) /**< Macro to set SGTE LENGTH field */ 194*0aeed3e9SJustin Hibbits #define DPAA_SGTE_SET_BPID(sgte,val) (((t_DpaaSGTE *)sgte)->offset = ((((t_DpaaSGTE *)sgte)->offset & ~DPAA_SGTE_BPID_MASK) | (((val) << (31-15))& DPAA_SGTE_BPID_MASK))) /**< Macro to set SGTE BPID field */ 195*0aeed3e9SJustin Hibbits #define DPAA_SGTE_SET_OFFSET(sgte,val) (((t_DpaaSGTE *)sgte)->offset = ((((t_DpaaSGTE *)sgte)->offset & ~DPAA_SGTE_OFFSET_MASK) | (((val) << (31-31))& DPAA_SGTE_OFFSET_MASK) )) /**< Macro to set SGTE OFFSET field */ 196*0aeed3e9SJustin Hibbits /* @} */ 197*0aeed3e9SJustin Hibbits 198*0aeed3e9SJustin Hibbits #define MEM_MAP_END 199*0aeed3e9SJustin Hibbits #if defined(__MWERKS__) && !defined(__GNUC__) 200*0aeed3e9SJustin Hibbits #pragma pack(pop) 201*0aeed3e9SJustin Hibbits #endif /* defined(__MWERKS__) && ... */ 202*0aeed3e9SJustin Hibbits 203*0aeed3e9SJustin Hibbits /** @} */ /* end of DPAA_grp group */ 204*0aeed3e9SJustin Hibbits 205*0aeed3e9SJustin Hibbits 206*0aeed3e9SJustin Hibbits #endif /* __DPAA_EXT_H */ 207