Skip to content

Commit 1ef0bae

Browse files
Add blacklist package for iris-video-dlkm (#1565)
The iris-vpu downstream video driver conflicts with upstream qcom_iris and Venus drivers. Install modprobe configuration files to blacklist these upstream kernel modules when using the iris-vpu driver. Also, provide update-alternatives for the blacklist configuration to allow users to switch between upstream and downstream video drivers at runtime.
2 parents 9ac4088 + 3030fcb commit 1ef0bae

File tree

3 files changed

+44
-2
lines changed

3 files changed

+44
-2
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
2+
# SPDX-License-Identifier: BSD-3-Clause-Clear
3+
4+
blacklist qcom_iris
5+
blacklist venus_dec
6+
blacklist venus_enc
7+
blacklist venus_core
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
2+
# SPDX-License-Identifier: BSD-3-Clause-Clear
3+
4+
blacklist iris_vpu

recipes-kernel/iris-video-module/iris-video-dlkm_git.bb

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,45 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"
55

66
PV = "0.0+git"
77

8-
SRC_URI = "git://github.com/qualcomm-linux/video-driver.git;protocol=https;branch=video.qclinux.main"
8+
SRC_URI = " \
9+
git://github.com/qualcomm-linux/video-driver.git;protocol=https;branch=video.qclinux.main \
10+
file://blacklist-video.conf.venus \
11+
file://blacklist-video.conf.vidc \
12+
"
913
SRCREV = "0e0fe75fb1910e011358485b078ea207a5c5f3e7"
1014

11-
inherit module
15+
inherit module update-alternatives
1216

1317
MAKE_TARGETS = "modules"
1418

1519
# This package is designed to run exclusively on ARMv8 (aarch64) machines.
1620
# Therefore, builds for other architectures are not necessary and are explicitly excluded.
1721
COMPATIBLE_MACHINE = "^$"
1822
COMPATIBLE_MACHINE:aarch64 = "(.*)"
23+
24+
do_install:append() {
25+
install -d ${D}${sysconfdir}/modprobe.d
26+
install -Dm 0644 ${UNPACKDIR}/blacklist-video.conf.venus \
27+
${D}${sysconfdir}/modprobe.d/blacklist-video.conf.venus
28+
install -Dm 0644 ${UNPACKDIR}/blacklist-video.conf.vidc \
29+
${D}${sysconfdir}/modprobe.d/blacklist-video.conf.vidc
30+
}
31+
32+
PACKAGES += "${PN}-bl-venus ${PN}-bl-vidc"
33+
RDEPENDS:${PN} += "${PN}-bl-venus ${PN}-bl-vidc"
34+
35+
FILES:${PN}-bl-venus += "${sysconfdir}/modprobe.d/blacklist-video.conf.venus"
36+
FILES:${PN}-bl-vidc += "${sysconfdir}/modprobe.d/blacklist-video.conf.vidc"
37+
38+
ALTERNATIVE:${PN}-bl-vidc = "blacklist-video"
39+
ALTERNATIVE_TARGET_${PN}-bl-vidc = "${sysconfdir}/modprobe.d/blacklist-video.conf.vidc"
40+
ALTERNATIVE_PRIORITY_${PN}-bl-vidc = "50"
41+
42+
# On QCS615, prioritize blacklisting unsupported Vidc.
43+
ALTERNATIVE_PRIORITY_${PN}-bl-vidc:qcs615 = "150"
44+
45+
ALTERNATIVE:${PN}-bl-venus = "blacklist-video"
46+
ALTERNATIVE_TARGET_${PN}-bl-venus = "${sysconfdir}/modprobe.d/blacklist-video.conf.venus"
47+
ALTERNATIVE_PRIORITY_${PN}-bl-venus = "100"
48+
49+
ALTERNATIVE_LINK_NAME[blacklist-video] = "${sysconfdir}/modprobe.d/blacklist-video.conf"

0 commit comments

Comments
 (0)