| .. | .. |
|---|
| 24 | 24 | #ifndef __AMDGPU_GDS_H__ |
|---|
| 25 | 25 | #define __AMDGPU_GDS_H__ |
|---|
| 26 | 26 | |
|---|
| 27 | | -/* Because TTM request that alloacted buffer should be PAGE_SIZE aligned, |
|---|
| 28 | | - * we should report GDS/GWS/OA size as PAGE_SIZE aligned |
|---|
| 29 | | - * */ |
|---|
| 30 | | -#define AMDGPU_GDS_SHIFT 2 |
|---|
| 31 | | -#define AMDGPU_GWS_SHIFT PAGE_SHIFT |
|---|
| 32 | | -#define AMDGPU_OA_SHIFT PAGE_SHIFT |
|---|
| 33 | | - |
|---|
| 34 | 27 | struct amdgpu_ring; |
|---|
| 35 | 28 | struct amdgpu_bo; |
|---|
| 36 | 29 | |
|---|
| 37 | | -struct amdgpu_gds_asic_info { |
|---|
| 38 | | - uint32_t total_size; |
|---|
| 39 | | - uint32_t gfx_partition_size; |
|---|
| 40 | | - uint32_t cs_partition_size; |
|---|
| 41 | | -}; |
|---|
| 42 | | - |
|---|
| 43 | 30 | struct amdgpu_gds { |
|---|
| 44 | | - struct amdgpu_gds_asic_info mem; |
|---|
| 45 | | - struct amdgpu_gds_asic_info gws; |
|---|
| 46 | | - struct amdgpu_gds_asic_info oa; |
|---|
| 47 | | - /* At present, GDS, GWS and OA resources for gfx (graphics) |
|---|
| 48 | | - * is always pre-allocated and available for graphics operation. |
|---|
| 49 | | - * Such resource is shared between all gfx clients. |
|---|
| 50 | | - * TODO: move this operation to user space |
|---|
| 51 | | - * */ |
|---|
| 52 | | - struct amdgpu_bo* gds_gfx_bo; |
|---|
| 53 | | - struct amdgpu_bo* gws_gfx_bo; |
|---|
| 54 | | - struct amdgpu_bo* oa_gfx_bo; |
|---|
| 31 | + uint32_t gds_size; |
|---|
| 32 | + uint32_t gws_size; |
|---|
| 33 | + uint32_t oa_size; |
|---|
| 34 | + uint32_t gds_compute_max_wave_id; |
|---|
| 55 | 35 | }; |
|---|
| 56 | 36 | |
|---|
| 57 | 37 | struct amdgpu_gds_reg_offset { |
|---|