Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amdgpu: move sync handling into a separate header

Only cleanup, no intended functional change.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Christian König and committed by
Alex Deucher
56113504 914b4dce

+57 -21
+1 -21
drivers/gpu/drm/amd/amdgpu/amdgpu.h
··· 53 53 #include "amdgpu_ucode.h" 54 54 #include "amdgpu_ttm.h" 55 55 #include "amdgpu_gds.h" 56 + #include "amdgpu_sync.h" 56 57 #include "amd_powerplay.h" 57 58 #include "amdgpu_acp.h" 58 59 ··· 562 561 int amdgpu_mode_dumb_mmap(struct drm_file *filp, 563 562 struct drm_device *dev, 564 563 uint32_t handle, uint64_t *offset_p); 565 - /* 566 - * Synchronization 567 - */ 568 - struct amdgpu_sync { 569 - DECLARE_HASHTABLE(fences, 4); 570 - struct fence *last_vm_update; 571 - }; 572 - 573 - void amdgpu_sync_create(struct amdgpu_sync *sync); 574 - int amdgpu_sync_fence(struct amdgpu_device *adev, struct amdgpu_sync *sync, 575 - struct fence *f); 576 - int amdgpu_sync_resv(struct amdgpu_device *adev, 577 - struct amdgpu_sync *sync, 578 - struct reservation_object *resv, 579 - void *owner); 580 - struct fence *amdgpu_sync_peek_fence(struct amdgpu_sync *sync, 581 - struct amdgpu_ring *ring); 582 - struct fence *amdgpu_sync_get_fence(struct amdgpu_sync *sync); 583 - void amdgpu_sync_free(struct amdgpu_sync *sync); 584 - int amdgpu_sync_init(void); 585 - void amdgpu_sync_fini(void); 586 564 int amdgpu_fence_slab_init(void); 587 565 void amdgpu_fence_slab_fini(void); 588 566
+56
drivers/gpu/drm/amd/amdgpu/amdgpu_sync.h
··· 1 + /* 2 + * Copyright 2016 Advanced Micro Devices, Inc. 3 + * 4 + * Permission is hereby granted, free of charge, to any person obtaining a 5 + * copy of this software and associated documentation files (the "Software"), 6 + * to deal in the Software without restriction, including without limitation 7 + * the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 + * and/or sell copies of the Software, and to permit persons to whom the 9 + * Software is furnished to do so, subject to the following conditions: 10 + * 11 + * The above copyright notice and this permission notice shall be included in 12 + * all copies or substantial portions of the Software. 13 + * 14 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17 + * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 18 + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 19 + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 20 + * OTHER DEALINGS IN THE SOFTWARE. 21 + * 22 + * Authors: Christian König 23 + */ 24 + #ifndef __AMDGPU_SYNC_H__ 25 + #define __AMDGPU_SYNC_H__ 26 + 27 + #include <linux/hashtable.h> 28 + 29 + struct fence; 30 + struct reservation_object; 31 + struct amdgpu_device; 32 + struct amdgpu_ring; 33 + 34 + /* 35 + * Container for fences used to sync command submissions. 36 + */ 37 + struct amdgpu_sync { 38 + DECLARE_HASHTABLE(fences, 4); 39 + struct fence *last_vm_update; 40 + }; 41 + 42 + void amdgpu_sync_create(struct amdgpu_sync *sync); 43 + int amdgpu_sync_fence(struct amdgpu_device *adev, struct amdgpu_sync *sync, 44 + struct fence *f); 45 + int amdgpu_sync_resv(struct amdgpu_device *adev, 46 + struct amdgpu_sync *sync, 47 + struct reservation_object *resv, 48 + void *owner); 49 + struct fence *amdgpu_sync_peek_fence(struct amdgpu_sync *sync, 50 + struct amdgpu_ring *ring); 51 + struct fence *amdgpu_sync_get_fence(struct amdgpu_sync *sync); 52 + void amdgpu_sync_free(struct amdgpu_sync *sync); 53 + int amdgpu_sync_init(void); 54 + void amdgpu_sync_fini(void); 55 + 56 + #endif