mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-24 10:34:43 +03:00
gpu: nvgpu: add support for event queue observers
Add support for accessing Event Queue for non-exclusive users. Allows, non-exclusive users to open Event Queues before exclusive users. Non-Exclusive users can only use the Event Queue in a read-only mode. Add VM_SHARED for Event Queues across all users instead of just Read-Only users. Event queues are shared with multiple processes and as such require VM_SHARED across all users(exclusive and observers). Jira NVGPU-8608 Signed-off-by: Debarshi Dutta <ddutta@nvidia.com> Change-Id: Id9733c2511ded6f06dd9feea880005bdc92e51a0 Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2745083 Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com> GVS: Gerrit_Virtual_Submit
This commit is contained in:
committed by
mobile promotions
parent
1f9fbc85fe
commit
3d95f2b803
@@ -340,15 +340,22 @@ void nvgpu_nvs_ctrl_fifo_unlock_queues(struct gk20a *g)
|
||||
nvgpu_mutex_release(&sched_ctrl->queues.queue_lock);
|
||||
}
|
||||
|
||||
bool nvgpu_nvs_ctrl_fifo_queue_has_subscribed_users(struct nvgpu_nvs_ctrl_queue *queue)
|
||||
{
|
||||
return queue->ref != 0;
|
||||
}
|
||||
|
||||
void nvgpu_nvs_ctrl_fifo_user_subscribe_queue(struct nvs_domain_ctrl_fifo_user *user,
|
||||
struct nvgpu_nvs_ctrl_queue *queue)
|
||||
{
|
||||
user->active_used_queues |= queue->mask;
|
||||
queue->ref++;
|
||||
}
|
||||
void nvgpu_nvs_ctrl_fifo_user_unsubscribe_queue(struct nvs_domain_ctrl_fifo_user *user,
|
||||
struct nvgpu_nvs_ctrl_queue *queue)
|
||||
{
|
||||
user->active_used_queues &= ~queue->mask;
|
||||
queue->ref--;
|
||||
}
|
||||
bool nvgpu_nvs_ctrl_fifo_user_is_subscribed_to_queue(struct nvs_domain_ctrl_fifo_user *user,
|
||||
struct nvgpu_nvs_ctrl_queue *queue)
|
||||
|
||||
Reference in New Issue
Block a user