mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 10:34:43 +03:00
gpu: nvgpu: hide priv cmdbuf mem writes
Add an API to append data to a priv cmdbuf entry. Hold the write pointer offset internally in the entry instead of having the user keep track of where those words are written to. This helps in eventually hiding struct priv_cmd_entry from users and provides a more consistent interface in general. The wait and incr commands are now slightly easier to read as well when they're just arrays of data. A syncfd-backed prefence may be composed of several individual fences. Some of those (or even a fence backed by just one) may be already expired, and currently the syncfd export design releases and nulls semaphores when expired (see gk20a_sync_pt_has_signaled()) so for those the wait cmdbuf is appended with zeros; the specific function is for this purpose. Jira NVGPU-4548 Change-Id: I1057f98c1b5b407460aa6e1dcba917da9c9aa9c9 Signed-off-by: Konsta Hölttä <kholtta@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2325099 (cherry picked from commit 6a00a65a86d8249cfeb06a05682abb4771949f19) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2331336 Reviewed-by: automaticguardword <automaticguardword@nvidia.com> Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: Alex Waterman <alexw@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
Alex Waterman
parent
0c9f589f3f
commit
39844fb27c
@@ -32,7 +32,7 @@ struct nvgpu_mem;
|
||||
|
||||
#ifdef CONFIG_NVGPU_KERNEL_MODE_SUBMIT
|
||||
void gk20a_syncpt_add_wait_cmd(struct gk20a *g,
|
||||
struct priv_cmd_entry *cmd, u32 off,
|
||||
struct priv_cmd_entry *cmd,
|
||||
u32 id, u32 thresh, u64 gpu_va_base);
|
||||
u32 gk20a_syncpt_get_wait_cmd_size(void);
|
||||
u32 gk20a_syncpt_get_incr_per_release(void);
|
||||
@@ -52,7 +52,7 @@ int gk20a_syncpt_alloc_buf(struct nvgpu_channel *c,
|
||||
|
||||
#ifdef CONFIG_NVGPU_KERNEL_MODE_SUBMIT
|
||||
static inline void gk20a_syncpt_add_wait_cmd(struct gk20a *g,
|
||||
struct priv_cmd_entry *cmd, u32 off,
|
||||
struct priv_cmd_entry *cmd,
|
||||
u32 id, u32 thresh, u64 gpu_va_base)
|
||||
{
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user