summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Fend <matthias.fend@emfend.at>2022-11-16 10:40:45 +0100
committerMichael Olbrich <m.olbrich@pengutronix.de>2022-11-18 18:07:47 +0100
commit4a10c229b7aab6e846270c97678680acbb12fbe7 (patch)
tree0d83c8d2fc274206ef9efbaf40ab4c37f7ce7d38
parent9132d2df1e17a7bd7a89fb1ab71531a7598fed1e (diff)
downloadptxdist-4a10c229b7aab6e846270c97678680acbb12fbe7.tar.gz
ptxdist-4a10c229b7aab6e846270c97678680acbb12fbe7.tar.xz
libcamera: install IPA proxy workers unconditionally
If an IPA module is unsigned or the signature is invalid, the IPA is isolated and runs in a separate process. These so-called proxy workers must be installed for each activated pipeline, even if the corresponding IPA module is not selected. Otherwise, an out-of-tree IPA module (these are unsigned) cannot be used. Since there is not an IPA module or associated proxy for every pipeline (e.g. simple, uvcvideo), an additional list is required. Signed-off-by: Matthias Fend <matthias.fend@emfend.at> Message-Id: <20221116094045.202386-1-matthias.fend@emfend.at> Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r--rules/libcamera.make14
1 files changed, 13 insertions, 1 deletions
diff --git a/rules/libcamera.make b/rules/libcamera.make
index 24b71ea7d..12969cafa 100644
--- a/rules/libcamera.make
+++ b/rules/libcamera.make
@@ -60,6 +60,12 @@ LIBCAMERA_PIPELINES-$(PTXCONF_LIBCAMERA_PIPELINE_SIMPLE) += simple
LIBCAMERA_PIPELINES-$(PTXCONF_LIBCAMERA_PIPELINE_UVCVIDEO) += uvcvideo
LIBCAMERA_PIPELINES-$(PTXCONF_LIBCAMERA_PIPELINE_VIMC) += vimc
+LIBCAMERA_IPA_PROXIES-y :=
+LIBCAMERA_IPA_PROXIES-$(PTXCONF_LIBCAMERA_PIPELINE_IPU3) += ipu3
+LIBCAMERA_IPA_PROXIES-$(PTXCONF_LIBCAMERA_PIPELINE_RASPBERRYPI) += raspberrypi
+LIBCAMERA_IPA_PROXIES-$(PTXCONF_LIBCAMERA_PIPELINE_RKISP1) += rkisp1
+LIBCAMERA_IPA_PROXIES-$(PTXCONF_LIBCAMERA_PIPELINE_VIMC) += vimc
+
LIBCAMERA_CONF_TOOL := meson
LIBCAMERA_CONF_OPT := \
$(CROSS_MESON_USR) \
@@ -80,9 +86,12 @@ LIBCAMERA_CONF_OPT := \
# Target-Install
# ----------------------------------------------------------------------------
-define install_ipa
+define install_ipa_proxy
@$(call install_copy, libcamera, 0, 0, 0755, -, \
/usr/libexec/libcamera/$(strip $(1))_ipa_proxy)
+endef
+
+define install_ipa
@$(call install_alternative_tree, libcamera, 0, 0, \
/usr/share/libcamera/ipa/$(strip $(1)))
endef
@@ -113,6 +122,9 @@ $(STATEDIR)/libcamera.targetinstall:
@$(call install_lib, libcamera, 0, 0, 0644, libcamera)
@$(call install_lib, libcamera, 0, 0, 0644, libcamera-base)
+ @$(foreach proxy,$(LIBCAMERA_IPA_PROXIES-y), \
+ $(call install_ipa_proxy, $(proxy))$(ptx/nl))
+
@$(foreach ipa,$(LIBCAMERA_IPASC-y), \
$(call install_ipa, $(ipa))$(ptx/nl))