summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/pmgr/pmgrpmu.h
diff options
context:
space:
mode:
authorDebarshi Dutta <ddutta@nvidia.com>2018-04-18 01:33:02 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-05-10 11:40:02 -0400
commit4dfd6e43cfe303c8b23421ef32738db2ee52e291 (patch)
tree510ce3c59745ea98e44b355d9c4c4cf101bab9c2 /drivers/gpu/nvgpu/pmgr/pmgrpmu.h
parent90b2f780d414d993571dceccafbc01b371068782 (diff)
gpu: nvgpu: create a wrapper over sync_fences
This patch constructs an abstraction to hide the sync_fence functionality from the common code. struct nvgpu_os_fence acts as an abstraction for struct sync_fence. struct nvgpu_os_fence consists of an ops structure named nvgpu_os_fence_ops which contains an API to do pushbuffer programming to generate wait commands for the fence. The current implementation of nvgpu only allows for wait method on a sync_fence which was generated using a similar backend(i.e. either Nvhost Syncpoints or Semaphores). In this patch, a generic API is introduced which will decide the type of the underlying implementation of the struct nvgpu_os_fence at runtime and run the corresponding wait implementation on it. This patch changes the channel_sync_gk20a's semaphore specific implementation to use the abstract API. A subsequent patch will make the changes for the nvhost_syncpoint based implementations as well. JIRA NVGPU-66 Change-Id: If6675bfde5885c3d15d2ca380bb6c7c0e240e734 Signed-off-by: Debarshi Dutta <ddutta@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1667218 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/pmgr/pmgrpmu.h')
0 files changed, 0 insertions, 0 deletions