Linux Kernel
3.7.1
|
#include <asm/octeon/cvmx-pow-defs.h>
#include <asm/octeon/cvmx-scratch.h>
#include <asm/octeon/cvmx-wqe.h>
Go to the source code of this file.
Data Structures | |
union | cvmx_pow_tag_req_t |
union | cvmx_pow_load_addr_t |
union | cvmx_pow_tag_load_resp_t |
union | cvmx_pow_tag_store_addr_t |
union | cvmx_pow_iobdma_store_t |
Macros | |
#define | CVMX_ENABLE_POW_CHECKS 1 |
#define | CVMX_MF_CHORD(dest) CVMX_RDHWR(dest, 30) |
#define | CVMX_TAG_SW_BITS (8) |
#define | CVMX_TAG_SW_SHIFT (32 - CVMX_TAG_SW_BITS) |
#define | CVMX_TAG_SW_BITS_INTERNAL 0x1 |
#define | CVMX_TAG_SUBGROUP_MASK 0xFFFF |
#define | CVMX_TAG_SUBGROUP_SHIFT 16 |
#define | CVMX_TAG_SUBGROUP_PKO 0x1 |
Enumerations | |
enum | cvmx_pow_tag_type { CVMX_POW_TAG_TYPE_ORDERED = 0L, CVMX_POW_TAG_TYPE_ATOMIC = 1L, CVMX_POW_TAG_TYPE_NULL = 2L, CVMX_POW_TAG_TYPE_NULL_NULL = 3L } |
enum | cvmx_pow_wait_t { CVMX_POW_WAIT = 1, CVMX_POW_NO_WAIT = 0 } |
enum | cvmx_pow_tag_op_t { CVMX_POW_TAG_OP_SWTAG = 0L, CVMX_POW_TAG_OP_SWTAG_FULL = 1L, CVMX_POW_TAG_OP_SWTAG_DESCH = 2L, CVMX_POW_TAG_OP_DESCH = 3L, CVMX_POW_TAG_OP_ADDWQ = 4L, CVMX_POW_TAG_OP_UPDATE_WQP_GRP = 5L, CVMX_POW_TAG_OP_SET_NSCHED = 6L, CVMX_POW_TAG_OP_CLR_NSCHED = 7L, CVMX_POW_TAG_OP_NOP = 15L } |
Functions | |
int | cvmx_pow_capture (void *buffer, int buffer_size) |
void | cvmx_pow_display (void *buffer, int buffer_size) |
int | cvmx_pow_get_num_entries (void) |
#define CVMX_ENABLE_POW_CHECKS 1 |
Interface to the hardware Packet Order / Work unit.
New, starting with SDK 1.7.0, cvmx-pow supports a number of extended consistency checks. The define CVMX_ENABLE_POW_CHECKS controls the runtime insertion of POW internal state checks to find common programming errors. If CVMX_ENABLE_POW_CHECKS is not defined, checks are by default enabled. For example, cvmx-pow will check for the following program errors or POW state inconsistency.
Definition at line 61 of file cvmx-pow.h.
#define CVMX_MF_CHORD | ( | dest | ) | CVMX_RDHWR(dest, 30) |
Definition at line 1056 of file cvmx-pow.h.
#define CVMX_TAG_SUBGROUP_MASK 0xFFFF |
Definition at line 1893 of file cvmx-pow.h.
#define CVMX_TAG_SUBGROUP_PKO 0x1 |
Definition at line 1895 of file cvmx-pow.h.
#define CVMX_TAG_SUBGROUP_SHIFT 16 |
Definition at line 1894 of file cvmx-pow.h.
#define CVMX_TAG_SW_BITS (8) |
Definition at line 1872 of file cvmx-pow.h.
#define CVMX_TAG_SW_BITS_INTERNAL 0x1 |
Definition at line 1880 of file cvmx-pow.h.
#define CVMX_TAG_SW_SHIFT (32 - CVMX_TAG_SW_BITS) |
Definition at line 1873 of file cvmx-pow.h.
enum cvmx_pow_tag_op_t |
POW tag operations. These are used in the data stored to the POW.
Definition at line 95 of file cvmx-pow.h.
enum cvmx_pow_tag_type |
CVMX_POW_TAG_TYPE_ORDERED | |
CVMX_POW_TAG_TYPE_ATOMIC | |
CVMX_POW_TAG_TYPE_NULL | |
CVMX_POW_TAG_TYPE_NULL_NULL |
Definition at line 64 of file cvmx-pow.h.
enum cvmx_pow_wait_t |
Wait flag values for pow functions.
Definition at line 87 of file cvmx-pow.h.
Store the current POW internal state into the supplied buffer. It is recommended that you pass a buffer of at least 128KB. The format of the capture may change based on SDK version and Octeon chip.
: Buffer to store capture into : The size of the supplied buffer
Returns Zero on success, negative on failure
Dump a POW capture to the console in a human readable format.
: POW capture from cvmx_pow_capture() : Size of the buffer