mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 17:36:20 +03:00
gpu: nvgpu: init all buffer compbits state members
User fence syncpt_id in the buffer compbits state was set to 0 on allocation through PREPARE_COMPRESSIBLE_READ ioctl or MARK_COMPRESSIBLE_WRITE ioctl. In case NVGPU_GPU_COMPBITS_GPU is requested through the ioctl PREPARE_COMPRESSIBLE_READ, CDE conversion command is not submitted and the output fence is cloned from the initial state fence (with syncpt_id=0). NvRmSyncWait on this fence from userspace lead to below error: 13e40000.host1x: nvhost_syncpt_wait_timeout: invalid syncpoint id 0 Initialize the buffer compbits state user fence syncpt_id to NVGPU_INVALID_SYNCPT_ID with nvgpu_user_sync_init() so that the userspace skips the NvRmSyncWait on that fence. While at it, initialize other uninitialized members, valid_compbits and zbc_color. Bug 3360675 Change-Id: Ie2a584546e1ed37841cbdc3472b598794f911e6f Signed-off-by: Sagar Kamble <skamble@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2631235 Reviewed-by: svcacv <svcacv@nvidia.com> Reviewed-by: Konsta Holtta <kholtta@nvidia.com> Reviewed-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
This commit is contained in:
committed by
mobile promotions
parent
41df3e17a7
commit
b6d349dcf6
@@ -305,6 +305,9 @@ int gk20a_dmabuf_get_state(struct dma_buf *dmabuf, struct gk20a *g,
|
|||||||
}
|
}
|
||||||
|
|
||||||
s->offset = offset;
|
s->offset = offset;
|
||||||
|
s->fence = nvgpu_user_fence_init();
|
||||||
|
s->valid_compbits = 0;
|
||||||
|
s->zbc_color = 0;
|
||||||
nvgpu_init_list_node(&s->list);
|
nvgpu_init_list_node(&s->list);
|
||||||
nvgpu_mutex_init(&s->lock);
|
nvgpu_mutex_init(&s->lock);
|
||||||
nvgpu_list_add_tail(&s->list, &priv->states);
|
nvgpu_list_add_tail(&s->list, &priv->states);
|
||||||
|
|||||||
Reference in New Issue
Block a user