| .. | .. |
|---|
| 73 | 73 | #define ETNAVIV_PARAM_GPU_INSTRUCTION_COUNT 0x18 |
|---|
| 74 | 74 | #define ETNAVIV_PARAM_GPU_NUM_CONSTANTS 0x19 |
|---|
| 75 | 75 | #define ETNAVIV_PARAM_GPU_NUM_VARYINGS 0x1a |
|---|
| 76 | +#define ETNAVIV_PARAM_SOFTPIN_START_ADDR 0x1b |
|---|
| 76 | 77 | |
|---|
| 77 | 78 | #define ETNA_MAX_PIPES 4 |
|---|
| 78 | 79 | |
|---|
| .. | .. |
|---|
| 148 | 149 | * then patching the cmdstream for this entry is skipped. This can |
|---|
| 149 | 150 | * avoid kernel needing to map/access the cmdstream bo in the common |
|---|
| 150 | 151 | * case. |
|---|
| 152 | + * If the submit is a softpin submit (ETNA_SUBMIT_SOFTPIN) the 'presumed' |
|---|
| 153 | + * field is interpreted as the fixed location to map the bo into the gpu |
|---|
| 154 | + * virtual address space. If the kernel is unable to map the buffer at |
|---|
| 155 | + * this location the submit will fail. This means userspace is responsible |
|---|
| 156 | + * for the whole gpu virtual address management. |
|---|
| 151 | 157 | */ |
|---|
| 152 | 158 | #define ETNA_SUBMIT_BO_READ 0x0001 |
|---|
| 153 | 159 | #define ETNA_SUBMIT_BO_WRITE 0x0002 |
|---|
| .. | .. |
|---|
| 177 | 183 | #define ETNA_SUBMIT_NO_IMPLICIT 0x0001 |
|---|
| 178 | 184 | #define ETNA_SUBMIT_FENCE_FD_IN 0x0002 |
|---|
| 179 | 185 | #define ETNA_SUBMIT_FENCE_FD_OUT 0x0004 |
|---|
| 186 | +#define ETNA_SUBMIT_SOFTPIN 0x0008 |
|---|
| 180 | 187 | #define ETNA_SUBMIT_FLAGS (ETNA_SUBMIT_NO_IMPLICIT | \ |
|---|
| 181 | 188 | ETNA_SUBMIT_FENCE_FD_IN | \ |
|---|
| 182 | | - ETNA_SUBMIT_FENCE_FD_OUT) |
|---|
| 189 | + ETNA_SUBMIT_FENCE_FD_OUT| \ |
|---|
| 190 | + ETNA_SUBMIT_SOFTPIN) |
|---|
| 183 | 191 | #define ETNA_PIPE_3D 0x00 |
|---|
| 184 | 192 | #define ETNA_PIPE_2D 0x01 |
|---|
| 185 | 193 | #define ETNA_PIPE_VG 0x02 |
|---|