.. | .. |
---|
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 |
---|