Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fdf150a6 authored by Sumukh Hallymysore Ravindra's avatar Sumukh Hallymysore Ravindra
Browse files

msm: global synchronization driver



Synx driver manages synchronization and dependency
handling across heterogeneous cores.

Synx framework provides basic APIs to create, wait
(blocking nad non-blocking), signal and release
synx objects.
These objects can be used across UMD and KMD or
between KMD and FW. Each synx object is recognized
through a global identifier unique across the system.

Framework supports importing and exporting synx
object across process boundaries.
Also it is possible to merge multiple synx objects
to create a consolidated object, and can wait on
it till all synx objects composing the merged
object are signaled.

Synx framework also allows a synx object to bind
with an existing fence object. Today graphics and
camera systems already has signaling support.
For such systems, it is possible to use bind() api
to bind synx object with the already existing sync
object. Once bound, the synx object will also get
signaled whenever the other fence object is signaled
and vice-versa (through callback registration and
signaling).
This is driver version 1.0, bind operation is only
supported for camera csl fence objects.

Change-Id: I6e9f3ba4c45d42cce72467d1493a6abd5d98500b
Signed-off-by: default avatarSumukh Hallymysore Ravindra <shallymy@codeaurora.org>
parent 863ea3f1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -13,3 +13,4 @@ source "drivers/media/platform/msm/cvp/Kconfig"
source "drivers/media/platform/msm/sde/Kconfig"
source "drivers/media/platform/msm/vidc/Kconfig"
source "drivers/media/platform/msm/npu/Kconfig"
source "drivers/media/platform/msm/synx/Kconfig"
+1 −0
Original line number Diff line number Diff line
@@ -9,3 +9,4 @@ obj-$(CONFIG_SPECTRA_CAMERA) += camera/
obj-$(CONFIG_MSM_CVP_V4L2) += cvp/
obj-$(CONFIG_MSM_VIDC_V4L2) += vidc/
obj-$(CONFIG_MSM_NPU) += npu/
obj-$(CONFIG_MSM_GLOBAL_SYNX) += synx/
+11 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only

menuconfig MSM_GLOBAL_SYNX
	bool "Qualcomm Technologies, Inc. Global Synchronization Framework"
	depends on ARCH_QCOM
	help
	  Say Y here to enable global synchronization framework for
	  Qualcomm Technologies, Inc. chipsets.
	  Enabling this adds support for global synchronization across
	  heterogeneous cores.
+4 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only

ccflags-$(CONFIG_SPECTRA_CAMERA) += -Idrivers/media/platform/msm/camera/cam_sync
obj-$(CONFIG_MSM_GLOBAL_SYNX) += synx.o synx_util.o
+1476 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading