Linux Kernel
3.7.1
|
#include <arch/trio.h>
Go to the source code of this file.
Data Structures | |
struct | pcie_port_property |
struct | pcie_trio_ports_property |
Typedefs | |
typedef enum pcie_stream_intr_config_sel_e | pcie_stream_intr_config_sel_t |
Enumerations | |
enum | pcie_stream_intr_config_sel_e { MEM_MAP_SEL, PUSH_DMA_SEL, PULL_DMA_SEL } |
#define HV_TRIO_ALLOC_FIXED 0x01 |
A flag bit indicating a fixed resource allocation.
Definition at line 157 of file drv_trio_intf.h.
#define HV_TRIO_CONFIG_IOREMAP_SIZE ((uint64_t) 1 << TRIO_CFG_REGION_ADDR__PROT_SHIFT) |
Size of the config region mapped into client. We can't use TRIO_MMIO_ADDRESS_SPACE__OFFSET_WIDTH because it will require the kernel to allocate 4GB VA space from the VMALLOC region which has a total range of 4GB.
Definition at line 102 of file drv_trio_intf.h.
#define HV_TRIO_CONFIG_OFFSET |
The mmap file offset (PA) of the TRIO config region.
Definition at line 88 of file drv_trio_intf.h.
#define HV_TRIO_CONFIG_SIZE (1ULL << TRIO_CFG_REGION_ADDR__REGION_SHIFT) |
The maximum size of the TRIO config region.
Definition at line 93 of file drv_trio_intf.h.
#define HV_TRIO_DMA_REGION_SIZE (1ULL << TRIO_PUSH_DMA_REGION_ADDR__RING_SEL_SHIFT) |
The maximum size of a DMA region.
Definition at line 141 of file drv_trio_intf.h.
#define HV_TRIO_FIRST_PIO_REGION 8 |
The "hardware MMIO region" of the first PIO region.
Definition at line 117 of file drv_trio_intf.h.
#define HV_TRIO_FLAG_TC | ( | N | ) | ((((N) & HV_TRIO_FLAG_TC_RMASK) + 1) << HV_TRIO_FLAG_TC_SHIFT) |
Definition at line 175 of file drv_trio_intf.h.
#define HV_TRIO_FLAG_TC_RMASK 0xf |
Definition at line 174 of file drv_trio_intf.h.
#define HV_TRIO_FLAG_TC_SHIFT 4 |
Definition at line 173 of file drv_trio_intf.h.
#define HV_TRIO_FLAG_VFUNC | ( | N | ) | ((((N) & HV_TRIO_FLAG_VFUNC_RMASK) + 1) << HV_TRIO_FLAG_VFUNC_SHIFT) |
Definition at line 181 of file drv_trio_intf.h.
#define HV_TRIO_FLAG_VFUNC_RMASK 0xff |
Definition at line 180 of file drv_trio_intf.h.
#define HV_TRIO_FLAG_VFUNC_SHIFT 8 |
Definition at line 179 of file drv_trio_intf.h.
#define HV_TRIO_MEM_MAP_INTR_OFFSET | ( | map | ) |
The mmap file offset (PA) of a Mem-Map interrupt region.
Definition at line 146 of file drv_trio_intf.h.
#define HV_TRIO_MEM_MAP_INTR_SIZE (1ULL << TRIO_MAP_MEM_REGION_ADDR__MAP_SEL_SHIFT) |
The maximum size of a Mem-Map interrupt region.
Definition at line 152 of file drv_trio_intf.h.
#define HV_TRIO_PAGE_SHIFT 12 |
TRIO requires that all mappings have 4kB aligned start addresses.
Definition at line 160 of file drv_trio_intf.h.
#define HV_TRIO_PAGE_SIZE (1ull << HV_TRIO_PAGE_SHIFT) |
TRIO requires that all mappings have 4kB aligned start addresses.
Definition at line 163 of file drv_trio_intf.h.
#define HV_TRIO_PIO_FLAG_CONFIG_SPACE (0x1 << HV_TRIO_PIO_FLAG_SPACE_SHIFT) |
Definition at line 191 of file drv_trio_intf.h.
#define HV_TRIO_PIO_FLAG_IO_SPACE (0x2 << HV_TRIO_PIO_FLAG_SPACE_SHIFT) |
Definition at line 192 of file drv_trio_intf.h.
#define HV_TRIO_PIO_FLAG_ORDERED (1 << 16) |
Definition at line 186 of file drv_trio_intf.h.
#define HV_TRIO_PIO_FLAG_SPACE_MASK (0x3 << HV_TRIO_PIO_FLAG_SPACE_SHIFT) |
Definition at line 190 of file drv_trio_intf.h.
#define HV_TRIO_PIO_FLAG_SPACE_SHIFT 17 |
Definition at line 189 of file drv_trio_intf.h.
#define HV_TRIO_PIO_OFFSET | ( | region | ) |
#define HV_TRIO_PIO_SIZE (1ULL << TRIO_PIO_REGIONS_ADDR__ADDR_WIDTH) |
The maximum size of a PIO region.
Definition at line 125 of file drv_trio_intf.h.
#define HV_TRIO_PULL_DMA_OFFSET | ( | ring | ) |
The mmap file offset (PA) of a pull DMA region.
Definition at line 135 of file drv_trio_intf.h.
#define HV_TRIO_PUSH_DMA_OFFSET | ( | ring | ) |
The mmap file offset (PA) of a push DMA region.
Definition at line 129 of file drv_trio_intf.h.
#define HV_TRIO_SQ_OFFSET | ( | queue | ) |
The mmap file offset (PA) of a scatter queue region.
Definition at line 106 of file drv_trio_intf.h.
#define HV_TRIO_SQ_SIZE (1ULL << TRIO_MAP_SQ_REGION_ADDR__SQ_SEL_SHIFT) |
The maximum size of a scatter queue region.
Definition at line 112 of file drv_trio_intf.h.
#define TILEGX_NUM_TRIO 2 |
Maximum number of TRIO interfaces.
Definition at line 34 of file drv_trio_intf.h.
#define TILEGX_TRIO_PCIES 3 |
Gx36 has max 3 PCIe MACs per TRIO interface.
Definition at line 37 of file drv_trio_intf.h.
#define TILERA_GX36_DEV_ID 0x0200 |
The device ID for the Gx36 processor.
Definition at line 28 of file drv_trio_intf.h.
#define TILERA_GX36_RC_DEV_ID 0x2000 |
Device ID for our internal bridge when running as RC.
Definition at line 31 of file drv_trio_intf.h.
#define TILERA_VENDOR_ID 0x1a41 |
Interface definitions for the trio driver.The vendor ID for all Tilera processors.
Definition at line 25 of file drv_trio_intf.h.
Configurations can be issued to configure a char stream interrupt.
Configurations can be issued to configure a char stream interrupt.
MEM_MAP_SEL |
Interrupt configuration for memory map regions. |
PUSH_DMA_SEL |
Interrupt configuration for push DMAs. |
PULL_DMA_SEL |
Interrupt configuration for pull DMAs. |
Definition at line 73 of file drv_trio_intf.h.