Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs
drv_mpipe_intf.h File Reference
#include <arch/mpipe.h>
#include <arch/mpipe_constants.h>

Go to the source code of this file.

Data Structures

struct  gxio_mpipe_notif_group_bits_t
 
struct  gxio_mpipe_rules_stacks_t
 
struct  gxio_mpipe_rules_dmac_t
 
struct  _gxio_mpipe_link_name_t
 
struct  _gxio_mpipe_symbol_name_t
 
struct  _gxio_mpipe_link_mac_t
 
struct  gxio_mpipe_rules_rule_t
 
struct  gxio_mpipe_rules_list_t
 
struct  gxio_mpipe_stats_t
 

Macros

#define HV_MPIPE_NUM_BUFFER_STACKS   (MPIPE_MMIO_INIT_DAT_GX36_1__BUFFER_STACK_MASK_WIDTH)
 
#define HV_MPIPE_NUM_NOTIF_RINGS   (MPIPE_NUM_NOTIF_RINGS)
 
#define HV_MPIPE_NUM_NOTIF_GROUPS   (MPIPE_NUM_NOTIF_GROUPS)
 
#define HV_MPIPE_NUM_BUCKETS   (MPIPE_NUM_BUCKETS)
 
#define HV_MPIPE_NUM_LO_BUCKETS   4096
 
#define HV_MPIPE_NUM_HI_BUCKETS   (HV_MPIPE_NUM_BUCKETS - HV_MPIPE_NUM_LO_BUCKETS)
 
#define HV_MPIPE_NUM_EDMA_RINGS   (MPIPE_MMIO_INIT_DAT_GX36_1__EDMA_POST_MASK_WIDTH)
 
#define HV_MPIPE_ALLOC_FIXED   0x01
 
#define HV_MPIPE_CONFIG_MMIO_OFFSET   (MPIPE_MMIO_ADDR__REGION_VAL_CFG << MPIPE_MMIO_ADDR__REGION_SHIFT)
 
#define HV_MPIPE_CONFIG_MMIO_SIZE   (64 * 1024)
 
#define HV_MPIPE_FAST_MMIO_OFFSET   (MPIPE_MMIO_ADDR__REGION_VAL_IDMA << MPIPE_MMIO_ADDR__REGION_SHIFT)
 
#define HV_MPIPE_FAST_MMIO_SIZE
 
#define HV_MPIPE_ALLOC_BUFFER_STACKS_BITS   MPIPE_MMIO_INIT_DAT_GX36_1__BUFFER_STACK_MASK_WIDTH
 
#define HV_MPIPE_ALLOC_BUFFER_STACKS_RES_PER_BIT   (HV_MPIPE_NUM_BUFFER_STACKS / HV_MPIPE_ALLOC_BUFFER_STACKS_BITS)
 
#define HV_MPIPE_ALLOC_NOTIF_RINGS_BITS   MPIPE_MMIO_INIT_DAT_GX36_0__NOTIF_RING_MASK_WIDTH
 
#define HV_MPIPE_ALLOC_NOTIF_RINGS_RES_PER_BIT   (HV_MPIPE_NUM_NOTIF_RINGS / HV_MPIPE_ALLOC_NOTIF_RINGS_BITS)
 
#define HV_MPIPE_ALLOC_NOTIF_GROUPS_BITS   HV_MPIPE_NUM_NOTIF_GROUPS
 
#define HV_MPIPE_ALLOC_NOTIF_GROUPS_RES_PER_BIT   (HV_MPIPE_NUM_NOTIF_GROUPS / HV_MPIPE_ALLOC_NOTIF_GROUPS_BITS)
 
#define HV_MPIPE_ALLOC_LO_BUCKETS_BITS   MPIPE_MMIO_INIT_DAT_GX36_0__BUCKET_RELEASE_MASK_LO_WIDTH
 
#define HV_MPIPE_ALLOC_LO_BUCKETS_RES_PER_BIT   (HV_MPIPE_NUM_LO_BUCKETS / HV_MPIPE_ALLOC_LO_BUCKETS_BITS)
 
#define HV_MPIPE_ALLOC_HI_BUCKETS_BITS   MPIPE_MMIO_INIT_DAT_GX36_0__BUCKET_RELEASE_MASK_HI_WIDTH
 
#define HV_MPIPE_ALLOC_HI_BUCKETS_RES_PER_BIT   (HV_MPIPE_NUM_HI_BUCKETS / HV_MPIPE_ALLOC_HI_BUCKETS_BITS)
 
#define HV_MPIPE_ALLOC_EDMA_RINGS_BITS   MPIPE_MMIO_INIT_DAT_GX36_1__EDMA_POST_MASK_WIDTH
 
#define HV_MPIPE_ALLOC_EDMA_RINGS_RES_PER_BIT   (HV_MPIPE_NUM_EDMA_RINGS / HV_MPIPE_ALLOC_EDMA_RINGS_BITS)
 
#define GXIO_MPIPE_LINK_NAME_LEN   32
 
#define GXIO_MPIPE_SYMBOL_NAME_LEN   128
 
#define GXIO_MPIPE_LINK_DATA   0x00000001UL
 
#define GXIO_MPIPE_LINK_NO_DATA   0x00000002UL
 
#define GXIO_MPIPE_LINK_EXCL_DATA   0x00000004UL
 
#define GXIO_MPIPE_LINK_STATS   0x00000008UL
 
#define GXIO_MPIPE_LINK_NO_STATS   0x00000010UL
 
#define GXIO_MPIPE_LINK_EXCL_STATS   0x00000020UL
 
#define GXIO_MPIPE_LINK_CTL   0x00000040UL
 
#define GXIO_MPIPE_LINK_NO_CTL   0x00000080UL
 
#define GXIO_MPIPE_LINK_EXCL_CTL   0x00000100UL
 
#define GXIO_MPIPE_LINK_AUTO_UP   0x00000200UL
 
#define GXIO_MPIPE_LINK_AUTO_UPDOWN   0x00000400UL
 
#define GXIO_MPIPE_LINK_AUTO_DOWN   0x00000800UL
 
#define GXIO_MPIPE_LINK_AUTO_NONE   0x00001000UL
 
#define GXIO_MPIPE_LINK_WAIT   0x00002000UL
 
#define GXIO_MPIPE_LINK_RECEIVE_JUMBO   0x010000
 
#define GXIO_MPIPE_LINK_SEND_PAUSE   0x020000
 
#define GXIO_MPIPE_LINK_RECEIVE_PAUSE   0x030000
 
#define GXIO_MPIPE_LINK_MAC   0x040000
 
#define GXIO_MPIPE_LINK_DISCARD_IF_DOWN   0x050000
 
#define GXIO_MPIPE_LINK_POSSIBLE_STATE   0x060000
 
#define GXIO_MPIPE_LINK_CURRENT_STATE   0x070000
 
#define GXIO_MPIPE_LINK_DESIRED_STATE   0x080000
 
#define GXIO_MPIPE_LINK_10M   0x0000000000000001UL
 
#define GXIO_MPIPE_LINK_100M   0x0000000000000002UL
 
#define GXIO_MPIPE_LINK_1G   0x0000000000000004UL
 
#define GXIO_MPIPE_LINK_10G   0x0000000000000008UL
 
#define GXIO_MPIPE_LINK_20G   0x0000000000000010UL
 
#define GXIO_MPIPE_LINK_25G   0x0000000000000020UL
 
#define GXIO_MPIPE_LINK_50G   0x0000000000000040UL
 
#define GXIO_MPIPE_LINK_ANYSPEED   0x0000000000000800UL
 
#define GXIO_MPIPE_LINK_SPEED_MASK   0x0000000000000FFFUL
 
#define GXIO_MPIPE_LINK_LOOP_MAC   0x0000000000001000UL
 
#define GXIO_MPIPE_LINK_LOOP_PHY   0x0000000000002000UL
 
#define GXIO_MPIPE_LINK_LOOP_EXT   0x0000000000004000UL
 
#define GXIO_MPIPE_LINK_LOOP_MASK   0x000000000000F000UL
 
#define GXIO_MPIPE_LINK_FDX   0x0000000000010000UL
 
#define GXIO_MPIPE_LINK_HDX   0x0000000000020000UL
 

Typedefs

typedef
MPIPE_LBL_INIT_DAT_BSTS_TBL_t 
gxio_mpipe_bucket_info_t
 
typedef uint16_t gxio_mpipe_rules_vlan_t
 

Macro Definition Documentation

#define GXIO_MPIPE_LINK_100M   0x0000000000000002UL

Link can run, should run, or is running at 100 Mbps.

Definition at line 457 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_10G   0x0000000000000008UL

Link can run, should run, or is running at 10 Gbps.

Definition at line 463 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_10M   0x0000000000000001UL

Link can run, should run, or is running at 10 Mbps.

Definition at line 454 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_1G   0x0000000000000004UL

Link can run, should run, or is running at 1 Gbps.

Definition at line 460 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_20G   0x0000000000000010UL

Link can run, should run, or is running at 20 Gbps.

Definition at line 466 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_25G   0x0000000000000020UL

Link can run, should run, or is running at 25 Gbps.

Definition at line 469 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_50G   0x0000000000000040UL

Link can run, should run, or is running at 50 Gbps.

Definition at line 472 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_ANYSPEED   0x0000000000000800UL

Link should run at the highest speed supported by the link and by the device connected to the link. Only usable as a value for the link's desired state; never returned as a value for the current or possible states.

Definition at line 478 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_AUTO_DOWN   0x00000800UL

Do not change the desired state of the link as part of the open operation; when the link is closed or this process exits, if no other process has the link open, set the desired state of the link to down. No more than one of GXIO_MPIPE_LINK_AUTO_UP, GXIO_MPIPE_LINK_AUTO_UPDOWN, GXIO_MPIPE_LINK_AUTO_DOWN, or GXIO_MPIPE_LINK_AUTO_NONE may be specifed in a gxio_mpipe_link_open() call. If none are specified, GXIO_MPIPE_LINK_AUTO_UPDOWN is assumed.

Definition at line 335 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_AUTO_NONE   0x00001000UL

Do not change the desired state of the link as part of the open operation; do not change the desired state of the link when it is closed or the process exits. No more than one of GXIO_MPIPE_LINK_AUTO_UP, GXIO_MPIPE_LINK_AUTO_UPDOWN, GXIO_MPIPE_LINK_AUTO_DOWN, or GXIO_MPIPE_LINK_AUTO_NONE may be specifed in a gxio_mpipe_link_open() call. If none are specified, GXIO_MPIPE_LINK_AUTO_UPDOWN is assumed.

Definition at line 345 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_AUTO_UP   0x00000200UL

Set the desired state of the link to up, allowing any speeds which are supported by the link hardware, as part of this open operation; do not change the desired state of the link when it is closed or the process exits. No more than one of GXIO_MPIPE_LINK_AUTO_UP, GXIO_MPIPE_LINK_AUTO_UPDOWN, GXIO_MPIPE_LINK_AUTO_DOWN, or GXIO_MPIPE_LINK_AUTO_NONE may be specifed in a gxio_mpipe_link_open() call. If none are specified, GXIO_MPIPE_LINK_AUTO_UPDOWN is assumed.

Definition at line 314 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_AUTO_UPDOWN   0x00000400UL

Set the desired state of the link to up, allowing any speeds which are supported by the link hardware, as part of this open operation; when the link is closed or this process exits, if no other process has the link open, set the desired state of the link to down. No more than one of GXIO_MPIPE_LINK_AUTO_UP, GXIO_MPIPE_LINK_AUTO_UPDOWN, GXIO_MPIPE_LINK_AUTO_DOWN, or GXIO_MPIPE_LINK_AUTO_NONE may be specifed in a gxio_mpipe_link_open() call. If none are specified, GXIO_MPIPE_LINK_AUTO_UPDOWN is assumed.

Definition at line 325 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_CTL   0x00000040UL

Request shared control permission – that is, the ability to modify link attributes, and read and write MAC and MDIO registers – on the specified link. Other processes may also request shared control permission on the same link.

No more than one of GXIO_MPIPE_LINK_CTL, GXIO_MPIPE_LINK_NO_CTL, or GXIO_MPIPE_LINK_EXCL_CTL may be specifed in a gxio_mpipe_link_open() call. If none are specified, GXIO_MPIPE_LINK_CTL is assumed.

Definition at line 281 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_CURRENT_STATE   0x070000

Current link state. The value is a combination of link state flags, ORed together, that indicate the current state of the hardware. If the link is down, the value ANDed with ::GXIO_MPIPE_LINK_SPEED will be zero; if the link is up, the value ANDed with ::GXIO_MPIPE_LINK_SPEED will result in exactly one of the speed values, indicating the current speed. This attribute may only be retrieved with gxio_mpipe_link_get_attr(); it may not be modified.

Definition at line 429 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_DATA   0x00000001UL

Request shared data permission – that is, the ability to send and receive packets – on the specified link. Other processes may also request shared data permission on the same link.

No more than one of GXIO_MPIPE_LINK_DATA, GXIO_MPIPE_LINK_NO_DATA, or GXIO_MPIPE_LINK_EXCL_DATA may be specifed in a gxio_mpipe_link_open() call. If none are specified, GXIO_MPIPE_LINK_DATA is assumed.

Definition at line 214 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_DESIRED_STATE   0x080000

Desired link state. The value is a conbination of flags, which specify the desired state for the link. With gxio_mpipe_link_set_attr(), this will, in the background, attempt to bring up the link using whichever of the requested flags are reasonable, or take down the link if the flags are zero. The actual link up or down operation may happen after this call completes. If the link state changes in the future, the system will continue to try to get back to the desired link state; for instance, if the link is brought up successfully, and then the network cable is disconnected, the link will go down. However, the desired state of the link is still up, so if the cable is reconnected, the link will be brought up again.

With gxio_mpipe_link_set_attr(), this will indicate the desired state for the link, as set with a previous gxio_mpipe_link_set_attr() call, or implicitly by a gxio_mpipe_link_open() or link close operation. This may not reflect the current state of the link; to get that, use GXIO_MPIPE_LINK_CURRENT_STATE.

Definition at line 449 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_DISCARD_IF_DOWN   0x050000

Determine whether to discard egress packets on link down. If this value is nonzero, packets sent on this link while the link is down will be discarded. If this value is zero, no packets will be sent on this link while it is down. The default value is one.

Definition at line 414 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_EXCL_CTL   0x00000100UL

Request exclusive control permission – that is, the ability to modify link attributes, and read and write MAC and MDIO registers – on the specified link. No other processes may request control permission on this link, and if any process already has control permission on it, this open will fail.

Requesting exclusive control permission is not always a good idea, since it prevents programs like mpipe-link from configuring the link.

No more than one of GXIO_MPIPE_LINK_CTL, GXIO_MPIPE_LINK_NO_CTL, or GXIO_MPIPE_LINK_EXCL_CTL may be specifed in a gxio_mpipe_link_open() call. If none are specified, GXIO_MPIPE_LINK_CTL is assumed.

Definition at line 304 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_EXCL_DATA   0x00000004UL

Request exclusive data permission – that is, the ability to send and receive packets – on the specified link. No other processes may request data permission on this link, and if any process already has data permission on it, this open will fail.

No more than one of GXIO_MPIPE_LINK_DATA, GXIO_MPIPE_LINK_NO_DATA, or GXIO_MPIPE_LINK_EXCL_DATA may be specifed in a gxio_mpipe_link_open() call. If none are specified, GXIO_MPIPE_LINK_DATA is assumed.

Definition at line 233 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_EXCL_STATS   0x00000020UL

Request exclusive stats permission – that is, the ability to read and write registers which contain link statistics, and to get link attributes – on the specified link. No other processes may request stats permission on this link, and if any process already has stats permission on it, this open will fail.

Requesting exclusive stats permission is normally a very bad idea, since it prevents programs like mpipe-stat from providing information on this link. Applications should only do this if they use MAC statistics registers, and cannot tolerate any of the clear-on-read registers being reset by other statistics programs.

No more than one of GXIO_MPIPE_LINK_STATS, GXIO_MPIPE_LINK_NO_STATS, or GXIO_MPIPE_LINK_EXCL_STATS may be specifed in a gxio_mpipe_link_open() call. If none are specified, GXIO_MPIPE_LINK_STATS is assumed.

Definition at line 270 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_FDX   0x0000000000010000UL

Link can run, should run, or is running in full-duplex mode. If neither GXIO_MPIPE_LINK_FDX nor GXIO_MPIPE_LINK_HDX are specified in a set of desired state flags, both are assumed.

Definition at line 510 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_HDX   0x0000000000020000UL

Link can run, should run, or is running in half-duplex mode. If neither GXIO_MPIPE_LINK_FDX nor GXIO_MPIPE_LINK_HDX are specified in a set of desired state flags, both are assumed.

Definition at line 515 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_LOOP_EXT   0x0000000000004000UL

Link can run, should run, or is running in external loopback mode. This requires that an external loopback plug be installed on the Ethernet port. Note that only some links require that this be configured via the gxio_mpipe_link routines; other links can do external loopack with the plug and no special configuration.

Definition at line 502 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_LOOP_MAC   0x0000000000001000UL

Link can run, should run, or is running in MAC loopback mode. This loops transmitted packets back to the receiver, inside the Tile Processor.

Definition at line 490 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_LOOP_MASK   0x000000000000F000UL

All legal loopback types.

Definition at line 505 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_LOOP_PHY   0x0000000000002000UL

Link can run, should run, or is running in PHY loopback mode. This loops transmitted packets back to the receiver, inside the external PHY chip.

Definition at line 495 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_MAC   0x040000

Interface MAC address. The value is a 6-byte MAC address, in the least significant 48 bits of the value; in other words, an address which would be printed as '12:34:56:78:90:AB' in IEEE 802 canonical format would be returned as 0x12345678ab.

Depending upon the overall system design, a MAC address may or may not be available for each interface. Note that the interface's MAC address does not limit the packets received on its channel, although the classifier's rules could be configured to do that. Similarly, the MAC address is not used when transmitting packets, although applications could certainly decide to use the assigned address as a source MAC address when doing so. This attribute may only be retrieved with gxio_mpipe_link_get_attr(); it may not be modified.

Definition at line 408 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_NAME_LEN   32

Maximum number of characters in a link name.

Definition at line 168 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_NO_CTL   0x00000080UL

Do not request control permission on the specified link.

No more than one of GXIO_MPIPE_LINK_CTL, GXIO_MPIPE_LINK_NO_CTL, or GXIO_MPIPE_LINK_EXCL_CTL may be specifed in a gxio_mpipe_link_open() call. If none are specified, GXIO_MPIPE_LINK_CTL is assumed.

Definition at line 289 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_NO_DATA   0x00000002UL

Do not request data permission on the specified link.

No more than one of GXIO_MPIPE_LINK_DATA, GXIO_MPIPE_LINK_NO_DATA, or GXIO_MPIPE_LINK_EXCL_DATA may be specifed in a gxio_mpipe_link_open() call. If none are specified, GXIO_MPIPE_LINK_DATA is assumed.

Definition at line 222 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_NO_STATS   0x00000010UL

Do not request stats permission on the specified link.

No more than one of GXIO_MPIPE_LINK_STATS, GXIO_MPIPE_LINK_NO_STATS, or GXIO_MPIPE_LINK_EXCL_STATS may be specifed in a gxio_mpipe_link_open() call. If none are specified, GXIO_MPIPE_LINK_STATS is assumed.

Definition at line 252 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_POSSIBLE_STATE   0x060000

Possible link state. The value is a combination of link state flags, ORed together, that indicate link modes which are actually supported by the hardware. This attribute may only be retrieved with gxio_mpipe_link_get_attr(); it may not be modified.

Definition at line 420 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_RECEIVE_JUMBO   0x010000

Determine whether jumbo frames may be received. If this attribute's value value is nonzero, the MAC will accept frames of up to 10240 bytes. If the value is zero, the MAC will only accept frames of up to 1544 bytes. The default value is zero.

Definition at line 370 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_RECEIVE_PAUSE   0x030000

Determine whether to suspend output on the receipt of pause frames. If the value is nonzero, mPIPE shim will suspend output on the link's channel when a pause frame is received. If the value is zero, pause frames will be ignored. The default value is zero.

Definition at line 392 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_SEND_PAUSE   0x020000

Determine whether to send pause frames on this link if the mPIPE packet FIFO is nearly full. If the value is zero, pause frames are not sent. If the value is nonzero, it is the delay value which will be sent in any pause frames which are output, in units of 512 bit times.

Bear in mind that in almost all circumstances, the mPIPE packet FIFO will never fill up, since mPIPE will empty it as fast as or faster than the incoming data rate, by either delivering or dropping packets. The only situation in which this is not true is if the memory and cache subsystem is extremely heavily loaded, and mPIPE cannot perform DMA of packet data to memory in a timely fashion. In particular, pause frames will not be sent if packets cannot be delivered because NotifRings are full, buckets are full, or buffers are not available in a buffer stack.

Definition at line 386 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_SPEED_MASK   0x0000000000000FFFUL

All legal link speeds. This value is provided for use in extracting the speed-related subset of the link state flags; it is not intended to be set directly as a value for one of the GXIO_MPIPE_LINK_xxx_STATE attributes. A link is up or is requested to be up if its current or desired state, respectively, ANDED with this value, is nonzero.

Definition at line 485 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_STATS   0x00000008UL

Request shared stats permission – that is, the ability to read and write registers which contain link statistics, and to get link attributes – on the specified link. Other processes may also request shared stats permission on the same link.

No more than one of GXIO_MPIPE_LINK_STATS, GXIO_MPIPE_LINK_NO_STATS, or GXIO_MPIPE_LINK_EXCL_STATS may be specifed in a gxio_mpipe_link_open() call. If none are specified, GXIO_MPIPE_LINK_STATS is assumed.

Definition at line 244 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_LINK_WAIT   0x00002000UL

Request that this open call not complete until the network link is up. The process will wait as long as necessary for this to happen; applications which wish to abandon waiting for the link after a specific time period should not specify this flag when opening a link, but should instead call gxio_mpipe_link_wait() afterward. The link must be opened with stats permission. Note that this flag by itself does not change the desired link state; if other open flags or previous link state changes have not requested a desired state of up, the open call will never complete. This flag is not available to kernel clients.

Definition at line 358 of file drv_mpipe_intf.h.

#define GXIO_MPIPE_SYMBOL_NAME_LEN   128

Maximum number of characters in a symbol name.

Definition at line 182 of file drv_mpipe_intf.h.

#define HV_MPIPE_ALLOC_BUFFER_STACKS_BITS   MPIPE_MMIO_INIT_DAT_GX36_1__BUFFER_STACK_MASK_WIDTH

Number of buffer stack chunks available (32).

Definition at line 80 of file drv_mpipe_intf.h.

#define HV_MPIPE_ALLOC_BUFFER_STACKS_RES_PER_BIT   (HV_MPIPE_NUM_BUFFER_STACKS / HV_MPIPE_ALLOC_BUFFER_STACKS_BITS)

Granularity of buffer stack allocation (1).

Definition at line 84 of file drv_mpipe_intf.h.

#define HV_MPIPE_ALLOC_EDMA_RINGS_BITS   MPIPE_MMIO_INIT_DAT_GX36_1__EDMA_POST_MASK_WIDTH

Number of eDMA ring chunks available (24).

Definition at line 120 of file drv_mpipe_intf.h.

#define HV_MPIPE_ALLOC_EDMA_RINGS_RES_PER_BIT   (HV_MPIPE_NUM_EDMA_RINGS / HV_MPIPE_ALLOC_EDMA_RINGS_BITS)

Granularity of eDMA ring allocation (1).

Definition at line 124 of file drv_mpipe_intf.h.

#define HV_MPIPE_ALLOC_FIXED   0x01

A flag bit indicating a fixed resource allocation.

Definition at line 54 of file drv_mpipe_intf.h.

#define HV_MPIPE_ALLOC_HI_BUCKETS_BITS   MPIPE_MMIO_INIT_DAT_GX36_0__BUCKET_RELEASE_MASK_HI_WIDTH

Number of hi bucket chunks available (16).

Definition at line 112 of file drv_mpipe_intf.h.

#define HV_MPIPE_ALLOC_HI_BUCKETS_RES_PER_BIT   (HV_MPIPE_NUM_HI_BUCKETS / HV_MPIPE_ALLOC_HI_BUCKETS_BITS)

Granularity of hi bucket allocation (4).

Definition at line 116 of file drv_mpipe_intf.h.

#define HV_MPIPE_ALLOC_LO_BUCKETS_BITS   MPIPE_MMIO_INIT_DAT_GX36_0__BUCKET_RELEASE_MASK_LO_WIDTH

Number of lo bucket chunks available (16).

Definition at line 104 of file drv_mpipe_intf.h.

#define HV_MPIPE_ALLOC_LO_BUCKETS_RES_PER_BIT   (HV_MPIPE_NUM_LO_BUCKETS / HV_MPIPE_ALLOC_LO_BUCKETS_BITS)

Granularity of lo bucket allocation (256).

Definition at line 108 of file drv_mpipe_intf.h.

#define HV_MPIPE_ALLOC_NOTIF_GROUPS_BITS   HV_MPIPE_NUM_NOTIF_GROUPS

Number of NotifGroup chunks available (32).

Definition at line 96 of file drv_mpipe_intf.h.

#define HV_MPIPE_ALLOC_NOTIF_GROUPS_RES_PER_BIT   (HV_MPIPE_NUM_NOTIF_GROUPS / HV_MPIPE_ALLOC_NOTIF_GROUPS_BITS)

Granularity of NotifGroup allocation (1).

Definition at line 100 of file drv_mpipe_intf.h.

#define HV_MPIPE_ALLOC_NOTIF_RINGS_BITS   MPIPE_MMIO_INIT_DAT_GX36_0__NOTIF_RING_MASK_WIDTH

Number of NotifRing chunks available (32).

Definition at line 88 of file drv_mpipe_intf.h.

#define HV_MPIPE_ALLOC_NOTIF_RINGS_RES_PER_BIT   (HV_MPIPE_NUM_NOTIF_RINGS / HV_MPIPE_ALLOC_NOTIF_RINGS_BITS)

Granularity of NotifRing allocation (8).

Definition at line 92 of file drv_mpipe_intf.h.

#define HV_MPIPE_CONFIG_MMIO_OFFSET   (MPIPE_MMIO_ADDR__REGION_VAL_CFG << MPIPE_MMIO_ADDR__REGION_SHIFT)

Offset for the config register MMIO region.

Definition at line 57 of file drv_mpipe_intf.h.

#define HV_MPIPE_CONFIG_MMIO_SIZE   (64 * 1024)

Size of the config register MMIO region.

Definition at line 61 of file drv_mpipe_intf.h.

#define HV_MPIPE_FAST_MMIO_OFFSET   (MPIPE_MMIO_ADDR__REGION_VAL_IDMA << MPIPE_MMIO_ADDR__REGION_SHIFT)

Offset for the config register MMIO region.

Definition at line 64 of file drv_mpipe_intf.h.

#define HV_MPIPE_FAST_MMIO_SIZE
Value:

Size of the fast register MMIO region (IDMA, EDMA, buffer stack).

Definition at line 68 of file drv_mpipe_intf.h.

#define HV_MPIPE_NUM_BUCKETS   (MPIPE_NUM_BUCKETS)

Number of buckets (4160).

Definition at line 37 of file drv_mpipe_intf.h.

#define HV_MPIPE_NUM_BUFFER_STACKS   (MPIPE_MMIO_INIT_DAT_GX36_1__BUFFER_STACK_MASK_WIDTH)

Interface definitions for the mpipe driver.Number of buffer stacks (32).

Definition at line 27 of file drv_mpipe_intf.h.

#define HV_MPIPE_NUM_EDMA_RINGS   (MPIPE_MMIO_INIT_DAT_GX36_1__EDMA_POST_MASK_WIDTH)

Number of edma rings (24).

Definition at line 47 of file drv_mpipe_intf.h.

#define HV_MPIPE_NUM_HI_BUCKETS   (HV_MPIPE_NUM_BUCKETS - HV_MPIPE_NUM_LO_BUCKETS)

Number of "hi" buckets (64).

Definition at line 43 of file drv_mpipe_intf.h.

#define HV_MPIPE_NUM_LO_BUCKETS   4096

Number of "lo" buckets (4096).

Definition at line 40 of file drv_mpipe_intf.h.

#define HV_MPIPE_NUM_NOTIF_GROUPS   (MPIPE_NUM_NOTIF_GROUPS)

Number of NotifGroups (32).

Definition at line 34 of file drv_mpipe_intf.h.

#define HV_MPIPE_NUM_NOTIF_RINGS   (MPIPE_NUM_NOTIF_RINGS)

Number of NotifRings (256).

Definition at line 31 of file drv_mpipe_intf.h.

Typedef Documentation

Another name for MPIPE_LBL_INIT_DAT_BSTS_TBL_t.

Definition at line 140 of file drv_mpipe_intf.h.

A vlan.

Definition at line 163 of file drv_mpipe_intf.h.