This change enables support to perform async wait on pure local,
pure global, combination of local and global synx fence and nested
merge fence.
Change-Id: I51a1d1998dca997db52bfa5c393bda3e7c2af985
Signed-off-by: Urvesh Rathod <quic_urathod@quicinc.com>
This change provides fix for below issues :
1. If local handle is imported as global, synx takes extra reference
on global handles which were not released because on signal
callback data had local handle instead of global causing handle
leak.
2. If all the child handles of merge fence are local and
merged fence is global, upon merge its signaled incorrectly
as num_child == 0 even if no one signaled merged fence.
3. During merge synx takes one reference each child dma fences.
When merged fence is released, dma fence reference of child handles
were not released causing handle/dma fence leak. This change
signals underlying child fences if the merged handle is ACTIVE
during release and release reference on dma fence.
4. If local handle is imported as global, map_count was not getting
incremented because of which object was destroyed more than once.
This change increases the map_count variable when local handle is
imported as global or vice-versa.
5. In synx_signal API, synx_signal_offload_job followed by signaling
dma fence. synx_signal_offload_job internally calls
synx_signal_handler which signals dma fence and because of which
sometimes synx_signal was returning failure. This fix ensures that
synx_signal_handler does not overtake synx signal API.
Change-Id: Ia8d2eb969514347cac30f8ae33ce2028119dfd47
Signed-off-by: Urvesh Rathod <quic_urathod@quicinc.com>
If wait-signal happens on APSS core, callbacks were not getting
dispatched because of recent changes (CR3442156). This fix ensures
callbacks are dispatched properly when handles are signaled.
Change-Id: I0b11634327afa3575c12819a639e104b27e82707
Signed-off-by: Urvesh Rathod <quic_urathod@quicinc.com>
Includes async_wait(timeout) and other fixes
Change-Id: I46871f7fd343287cbd7f9e6ec48efc8ef5ce049a
Signed-off-by: Pravin Kumar Ravi <quic_pravinku@quicinc.com>
This change enables clients to signal synx merged handles
from same and other cores. This change also ensures
that underlying child dma fences are signaled when composite
synx handle is signaled from other core.
Change-Id: Ib81bc2291c85b93fe11eddf5d0ce450bbe486c83
Signed-off-by: Urvesh Rathod <quic_urathod@quicinc.com>
Includes param change for async_wait(timeout) and other fixes
Change-Id: If8ff795538bbfaf53ee1758561fbd2841e5a71c7
Signed-off-by: Pravin Kumar Ravi <quic_pravinku@quicinc.com>
This change adds necessary functionality to support ICP core.
Change-Id: I55793f6508ae5d7180b0f50d477e366842199148
Signed-off-by: Pravin Kumar Ravi <quic_pravinku@quicinc.com>
added mk and Kbuild script to support building synx driver as external module for Vendor SI
Change-Id: Ib66325d115ca46e6b61de1e168e85d09419f73e2
Signed-off-by: NITIN LAXMIDAS NAIK <quic_nitinlax@quicinc.com>