diff mbox series

[meta-ti,master,v2] ti-bsp: recipes-multimedia: Add udev rules for VPU and JPEG encoder symlinks

Message ID 20250821160944.845890-1-t-lannynd@ti.com
State Under Review
Delegated to: Ryan Eatmon
Headers show
Series [meta-ti,master,v2] ti-bsp: recipes-multimedia: Add udev rules for VPU and JPEG encoder symlinks | expand

Commit Message

Thorsten Lannynd Aug. 21, 2025, 4:09 p.m. UTC
This patch introduces udev rules to ensure consistent device naming for
VPU decoders, encoders, and the JPEG encoder. These rules are essential
for enabling hardware-accelerated video decoding in Chromium using the
V4L2 Stateful decoder.

The following udev rules are added:
- Map vpu and vpu0 to /dev/video-dec0 and /dev/video-enc0.
- Map vpu1 to /dev/video-dec1 and /dev/video-enc1.
- Map the JPEG encoder to /dev/jpeg-enc0.

These changes ensure proper operation of the VPU and JPEG encoder,
especially when other video devices are connected, avoiding mismatches.

Signed-off-by: Thorsten Lannynd <t-lannynd@ti.com>
Reviewed-by: Andrew Davis <afd@ti.com>
---

v2:
- Split patch into seperate master and scarthgap patches
- Added SUMMARY to bitbake recipe

 .../recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb        |  2 ++
 .../ti-img-encode-decode/ti-vxe-vxd-driver_6.12.bb    |  2 ++
 .../ti-multimedia-udev/files/67-multimedia.rules      |  5 +++++
 .../ti-multimedia-udev/ti-multimedia-udev.bb          | 11 +++++++++++
 4 files changed, 20 insertions(+)
 create mode 100644 meta-ti-bsp/recipes-multimedia/ti-multimedia-udev/files/67-multimedia.rules
 create mode 100644 meta-ti-bsp/recipes-multimedia/ti-multimedia-udev/ti-multimedia-udev.bb

Comments

PRC Automation Aug. 21, 2025, 4:15 p.m. UTC | #1
meta-ti / na / 20250821160944.845890-1-t-lannynd

PRC Results: FAIL

=========================================================
  check-yocto-patches: PASS
=========================================================
Patches
----------------------------------------
All patches passed



=========================================================
  apply-yocto-patch: PASS
=========================================================
master
=====================
Summary:
- Patch Series: [meta-ti][master][PATCH v2] ti-bsp: recipes-multimedia: Add udev rules for VPU and JPEG encoder symlinks
- Submitter: From: Thorsten Lannynd <t-lannynd@ti.com>
- Date: Date: Thu, 21 Aug 2025 11:09:44 -0500
- Num Patches: 1
- Mailing List (public inbox) Commit SHA: d61d95cd5fb1eaf5701735e40824b9fa77fccc2b

Applied to:
- Repository: lcpd-prc-meta-ti
- Base Branch: master-wip
- Commit Author: Bryan Brattlof <bb@ti.com>
- Commit Subject: conf: machine: add optee-os into am62lxx-evm builds
- Commit SHA: 5f428c58a52b4c08139809327ba223212f986a86

Patches
----------------------------------------
All patches applied



=========================================================
  check-yocto-repo: FAIL
=========================================================
master
=====================
FAIL
    ERROR: You must have a SUMMARY = "...". (SUMMARY-1)
        meta-ti-extras/recipes-ti/ipc/ti-ipc-examples-linux_git.bb
    
    
    Code Summary
    ============
    
    SUMMARY-1
    -------------------------------------------
      All recipes require a SUMMARY.
Ryan Eatmon Aug. 21, 2025, 4:25 p.m. UTC | #2
On 8/21/2025 11:15 AM, PRC Automation wrote:
> meta-ti / na / 20250821160944.845890-1-t-lannynd
> 
> PRC Results: FAIL
> 
> =========================================================
>    check-yocto-patches: PASS
> =========================================================
> Patches
> ----------------------------------------
> All patches passed
> 
> 
> 
> =========================================================
>    apply-yocto-patch: PASS
> =========================================================
> master
> =====================
> Summary:
> - Patch Series: [meta-ti][master][PATCH v2] ti-bsp: recipes-multimedia: Add udev rules for VPU and JPEG encoder symlinks
> - Submitter: From: Thorsten Lannynd <t-lannynd@ti.com>
> - Date: Date: Thu, 21 Aug 2025 11:09:44 -0500
> - Num Patches: 1
> - Mailing List (public inbox) Commit SHA: d61d95cd5fb1eaf5701735e40824b9fa77fccc2b
> 
> Applied to:
> - Repository: lcpd-prc-meta-ti
> - Base Branch: master-wip
> - Commit Author: Bryan Brattlof <bb@ti.com>
> - Commit Subject: conf: machine: add optee-os into am62lxx-evm builds
> - Commit SHA: 5f428c58a52b4c08139809327ba223212f986a86
> 
> Patches
> ----------------------------------------
> All patches applied
> 
> 
> 
> =========================================================
>    check-yocto-repo: FAIL
> =========================================================
> master
> =====================
> FAIL
>      ERROR: You must have a SUMMARY = "...". (SUMMARY-1)
>          meta-ti-extras/recipes-ti/ipc/ti-ipc-examples-linux_git.bb
>      
>      
>      Code Summary
>      ============
>      
>      SUMMARY-1
>      -------------------------------------------
>        All recipes require a SUMMARY.
> 


Don't worry about this.  This is due to a different patch.  I need to 
see why this slipped through that patch check, and why I accepted it.
diff mbox series

Patch

diff --git a/meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb b/meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
index 6a65992f..95bfd01a 100644
--- a/meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
+++ b/meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
@@ -27,3 +27,5 @@  do_install() {
 	install -d ${D}${nonarch_base_libdir}/firmware/cnm
 	install -m 0644 ${S}/cnm/${SOURCE_WAVE521C} ${D}${nonarch_base_libdir}/firmware/cnm/${TARGET_WAVE521C}
 }
+
+RDEPENDS:${PN} += "ti-multimedia-udev"
diff --git a/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/ti-vxe-vxd-driver_6.12.bb b/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/ti-vxe-vxd-driver_6.12.bb
index f73f59fa..cdcf4af0 100644
--- a/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/ti-vxe-vxd-driver_6.12.bb
+++ b/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/ti-vxe-vxd-driver_6.12.bb
@@ -19,3 +19,5 @@  SRCREV = "0bcbb20af32ea13275b452f0e84f5a49966d0bf6"
 TARGET_PRODUCT:j721e = "j721e_linux"
 
 EXTRA_OEMAKE += 'KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
+
+RDEPENDS:${PN} += "ti-multimedia-udev"
diff --git a/meta-ti-bsp/recipes-multimedia/ti-multimedia-udev/files/67-multimedia.rules b/meta-ti-bsp/recipes-multimedia/ti-multimedia-udev/files/67-multimedia.rules
new file mode 100644
index 00000000..5239d1ef
--- /dev/null
+++ b/meta-ti-bsp/recipes-multimedia/ti-multimedia-udev/files/67-multimedia.rules
@@ -0,0 +1,5 @@ 
+SUBSYSTEM=="video4linux", DEVPATH=="/devices/*/*210000.video-codec/video4linux/video*", ATTR{name}=="C&M Wave5 VPU decoder", SYMLINK+="video-dec0"
+SUBSYSTEM=="video4linux", DEVPATH=="/devices/*/*210000.video-codec/video4linux/video*", ATTR{name}=="C&M Wave5 VPU encoder", SYMLINK+="video-enc0"
+SUBSYSTEM=="video4linux", DEVPATH=="/devices/*/4220000.video-codec/video4linux/video*", ATTR{name}=="C&M Wave5 VPU decoder", SYMLINK+="video-dec1"
+SUBSYSTEM=="video4linux", DEVPATH=="/devices/*/4220000.video-codec/video4linux/video*", ATTR{name}=="C&M Wave5 VPU encoder", SYMLINK+="video-enc1"
+SUBSYSTEM=="video4linux", DEVPATH=="/devices/*/fd20000.jpeg-encoder/video4linux/video*", ATTR{name}=="e5010", SYMLINK+="jpeg-enc0"
diff --git a/meta-ti-bsp/recipes-multimedia/ti-multimedia-udev/ti-multimedia-udev.bb b/meta-ti-bsp/recipes-multimedia/ti-multimedia-udev/ti-multimedia-udev.bb
new file mode 100644
index 00000000..40b0db8e
--- /dev/null
+++ b/meta-ti-bsp/recipes-multimedia/ti-multimedia-udev/ti-multimedia-udev.bb
@@ -0,0 +1,11 @@ 
+SUMMARY = "Udev rules for device naming of VPU devices and JPEG encoder"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+SRC_URI += "file://67-multimedia.rules"
+
+do_install() {
+    install -d ${D}${sysconfdir}/udev/rules.d
+    install -m 0644 ${WORKDIR}/67-multimedia.rules ${D}${sysconfdir}/udev/rules.d/
+}