diff options
author | Chunming Zhou <david1.zhou@amd.com> | 2015-07-21 04:52:10 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2015-08-17 16:50:37 -0400 |
commit | d5fc5e82a3127b8839c4a4457f3b950a009737a7 (patch) | |
tree | 4fa16b5508f599e63da7e41a331252fd6f623237 /drivers/gpu/drm/amd/amdgpu/amdgpu.h | |
parent | 23ca0e4e478836dcb93a54aa68cb48fbc66fb0ed (diff) |
drm/amdgpu: dispatch job for vm
use kernel context to submit command for vm
Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Acked-by: Christian K?nig <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu.h')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index 47e4809c6e71..1b8d05ff88e7 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h | |||
@@ -1221,6 +1221,19 @@ struct amdgpu_cs_chunk { | |||
1221 | void __user *user_ptr; | 1221 | void __user *user_ptr; |
1222 | }; | 1222 | }; |
1223 | 1223 | ||
1224 | union amdgpu_sched_job_param { | ||
1225 | struct { | ||
1226 | struct amdgpu_vm *vm; | ||
1227 | uint64_t start; | ||
1228 | uint64_t last; | ||
1229 | struct amdgpu_fence **fence; | ||
1230 | |||
1231 | } vm_mapping; | ||
1232 | struct { | ||
1233 | struct amdgpu_bo *bo; | ||
1234 | } vm; | ||
1235 | }; | ||
1236 | |||
1224 | struct amdgpu_cs_parser { | 1237 | struct amdgpu_cs_parser { |
1225 | struct amdgpu_device *adev; | 1238 | struct amdgpu_device *adev; |
1226 | struct drm_file *filp; | 1239 | struct drm_file *filp; |
@@ -1245,6 +1258,7 @@ struct amdgpu_cs_parser { | |||
1245 | struct mutex job_lock; | 1258 | struct mutex job_lock; |
1246 | struct work_struct job_work; | 1259 | struct work_struct job_work; |
1247 | int (*prepare_job)(struct amdgpu_cs_parser *sched_job); | 1260 | int (*prepare_job)(struct amdgpu_cs_parser *sched_job); |
1261 | union amdgpu_sched_job_param job_param; | ||
1248 | int (*run_job)(struct amdgpu_cs_parser *sched_job); | 1262 | int (*run_job)(struct amdgpu_cs_parser *sched_job); |
1249 | int (*free_job)(struct amdgpu_cs_parser *sched_job); | 1263 | int (*free_job)(struct amdgpu_cs_parser *sched_job); |
1250 | }; | 1264 | }; |
@@ -2255,6 +2269,12 @@ void amdgpu_pci_config_reset(struct amdgpu_device *adev); | |||
2255 | bool amdgpu_card_posted(struct amdgpu_device *adev); | 2269 | bool amdgpu_card_posted(struct amdgpu_device *adev); |
2256 | void amdgpu_update_display_priority(struct amdgpu_device *adev); | 2270 | void amdgpu_update_display_priority(struct amdgpu_device *adev); |
2257 | bool amdgpu_boot_test_post_card(struct amdgpu_device *adev); | 2271 | bool amdgpu_boot_test_post_card(struct amdgpu_device *adev); |
2272 | struct amdgpu_cs_parser *amdgpu_cs_parser_create(struct amdgpu_device *adev, | ||
2273 | struct drm_file *filp, | ||
2274 | struct amdgpu_ctx *ctx, | ||
2275 | struct amdgpu_ib *ibs, | ||
2276 | uint32_t num_ibs); | ||
2277 | |||
2258 | int amdgpu_cs_parser_init(struct amdgpu_cs_parser *p, void *data); | 2278 | int amdgpu_cs_parser_init(struct amdgpu_cs_parser *p, void *data); |
2259 | int amdgpu_cs_get_ring(struct amdgpu_device *adev, u32 ip_type, | 2279 | int amdgpu_cs_get_ring(struct amdgpu_device *adev, u32 ip_type, |
2260 | u32 ip_instance, u32 ring, | 2280 | u32 ip_instance, u32 ring, |