Skip to content

meta-qcom: add RTSS mailbox DLKM/UMD recipes (phase 1) - #3084

Draft
sargarram7 wants to merge 2 commits into
qualcomm-linux:masterfrom
sargarram7:rtss-mailbox-recipe-pin
Draft

meta-qcom: add RTSS mailbox DLKM/UMD recipes (phase 1)#3084
sargarram7 wants to merge 2 commits into
qualcomm-linux:masterfrom
sargarram7:rtss-mailbox-recipe-pin

Conversation

@sargarram7

@sargarram7 sargarram7 commented Sep 6, 2026

Copy link
Copy Markdown

Target milestone: QLI-2.1

Background

Customer use cases driving this - CAN communication, RTSS-to-HLOS userspace communication, OTA updates, and on-device programming/flashing. all need working IPC path between the application processor and RTSS. That path doesn't exist upstream today. This is phase 1 of bringing the downstream, out-of-tree RTSS mailbox stack into the open-source tree to support these IPC use cases going forward.

Tracking issue:

#3085

This PR dependency

  • None

Related PRs

This is part of a set of PRs bringing the RTSS mailbox stack into the open-source tree:

RTSS interface enablement is handled using a staging DTBO overlay to carry the rtss mailbox node, both bootup and DTBO patching with it applied have been verified on target.

Testing

  • Default bootup verified on lemans and monaco targets with no regression.
  • After RTSS mailbox/staging DT overlay is applied, mailbox communication with RTSS and the CLI utilities were verified on both targets.

Comment thread recipes-support/qcom-rtss-mailbox-umd/qcom-rtss-mailbox-umd_1.0.0.bb Outdated
@qcomlnxci

Copy link
Copy Markdown

Test Coral run workflow

Test jobs for commit 723a98c

  • qcomdistro: multimedia image-prop
    Pass: 36 | Fail: 0 | Total: 36
  • qcomdistro: multimedia image
    Pass: 9 | Fail: 0 | Total: 9

Comment thread recipes-support/qcom-rtss-mailbox-umd/qcom-rtss-mailbox-umd_1.0.0.bb Outdated
Comment thread recipes-support/qcom-rtss-mailbox-umd/qcom-rtss-mailbox-umd_1.0.0.bb Outdated
Comment thread recipes-support/qcom-rtss-mailbox-umd/qcom-rtss-mailbox-umd_1.0.0.bb Outdated
Comment thread recipes-support/qcom-rtss-mailbox-umd/qcom-rtss-mailbox-umd_1.0.0.bb Outdated
Comment thread recipes-support/qcom-rtss-mailbox-umd/qcom-rtss-mailbox-umd_1.0.0.bb Outdated
Comment thread recipes-support/qcom-rtss-mailbox-umd/qcom-rtss-mailbox-umd_1.0.0.bb Outdated
@ricardosalveti

Copy link
Copy Markdown
Contributor

Check-layer is failing.

@sargarram7
sargarram7 force-pushed the rtss-mailbox-recipe-pin branch from 7b0844d to 09b4afd Compare September 9, 2026 09:52
@ricardosalveti

Copy link
Copy Markdown
Contributor

Squash the changes, you don't need multiple patches fixing the same recipe here. And it is still failing.

@qcomlnxci

Copy link
Copy Markdown

Test Coral run workflow

Test jobs for commit 09b4afd

  • qcomdistro: multimedia image
    Pass: 7 | Fail: 0 | Total: 7
  • qcomdistro: multimedia image-prop
    Pass: 32 | Fail: 0 | Total: 32

@sargarram7
sargarram7 force-pushed the rtss-mailbox-recipe-pin branch from 09b4afd to 92922bc Compare September 10, 2026 10:30
@sargarram7

Copy link
Copy Markdown
Author

Squash the changes, you don't need multiple patches fixing the same recipe here. And it is still failing.

Ricardo Salveti (@ricardosalveti) thank you for capturing this , check layer issue is fixed

@lumag Dmitry Baryshkov (lumag) left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also. PLEASE, STOP MOVING THE TAGS.
Once tagged, it should stay as is. You can't push a new tag just because. If you changed the code in the repo, it's a new tag.

do_compile[noexec] = "1"

do_install() {
oe_runmake headers_install INSTALL_HDR_PATH=${D}${exec_prefix}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do you need the headers outside of the DLKM? Please squash both recipes.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ci check layer was failing, so referred other dlkm uapi header install logic for umd,
after making split and removing dependency of umd on kmd ci check passed.

@lumag Dmitry Baryshkov (lumag) Sep 11, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What kind of CI error were you facing?

Comment thread recipes-support/qcom-rtss-mailbox-umd/qcom-rtss-mailbox-umd_1.0.0.bb Outdated
@github-actions

github-actions Bot commented Sep 10, 2026

Copy link
Copy Markdown

Test run workflow

Test jobs for commit e9db04c

qcom-distro
Pass: 12 | Fail: 0 | Total: 12
qcom-distro_linux-qcom-6.18
Pass: 7 | Fail: 1 | Total: 8
nodistro
Pass: 10 | Fail: 0 | Total: 10

@test-reporting-app

test-reporting-app Bot commented Sep 10, 2026

Copy link
Copy Markdown

Test Results

 30 files   -    51   30 suites   - 396   1h 41m 0s ⏱️ - 5h 45m 19s
 13 tests  -   160    8 ✅  -   147  0 💤 ± 0  5 ❌  - 13 
267 runs   - 2 496  262 ✅  - 2 434  0 💤  - 38  5 ❌  - 24 

For more details on these failures, see this check.

Results for commit e9db04c. ± Comparison against base commit 1efd355.

This pull request removes 160 tests.
0_AudioRecord_Config01 ‑ AudioRecord_Config01
0_BT_FW_KMD_Service ‑ BT_FW_KMD_Service
0_GStreamer_Video_Encode_h264_480p ‑ GStreamer_Video_Encode_h264_480p
0_Libcamera_cam ‑ Libcamera_cam
0_Weston_Runtime_Preflight ‑ Weston_Runtime_Preflight
0_hotplug ‑ hotplug
10_AudioRecord ‑ AudioRecord
10_Docker_Kernel_Config ‑ Docker_Kernel_Config
10_Kubernetes_Kernel_Config ‑ Kubernetes_Kernel_Config
10_Logging_Journalctl_Validation ‑ Logging_Journalctl_Validation
…

♻️ This comment has been updated with latest results.

@ricardosalveti

Copy link
Copy Markdown
Contributor

Moving to draft until the required kernel changes are in place.

LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"

SRC_URI = "git://github.com/qualcomm-linux/rtss-mailbox-kmd.git;branch=rtss-mailbox-kernel.le.0.0;protocol=https;tag=v${PV}"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

upstream acceptance - see rtss-mailbox-kmd's README for details."
HOMEPAGE = "https://github.com/qualcomm-linux/rtss-mailbox-kmd"
LICENSE = "GPL-2.0-with-Linux-syscall-note"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LICENSE.txt is just plain GPL-2.0, the syscall note is only in the header.

LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"

SRC_URI = "git://github.com/qualcomm-linux/rtss-mailbox-kmd.git;branch=rtss-mailbox-kernel.le.0.0;protocol=https;tag=v${PV}"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is /dev/rtssmb meant to be root only?

@sargarram7 sargarram7 Sep 11, 2026

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can have as of now root, aligned with 1.x .
selinux module rules patch will come in next PR separately.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the expected usage model? Several daemons accessing it? What about the user apps? Can the devices be restricted to a certain group?

Provides the kernel-side IPC path (/dev/rtssmb) that RTSS-related
customer use cases -- CAN, RTSS userspace communication, OTA, and
device programming -- depend on.

Also adds qcom-rtss-mailbox-uapi-headers, packaging the ioctl/struct
UAPI (rtss_mailbox_uapi.h) standalone so userspace can build against
it without depending on the kernel module recipe. Both recipes share
SRC_URI/SRCREV/LICENSE via qcom-rtss-mailbox-module-common.inc, since
they come from the same upstream tree (rtss-mailbox-kmd).

NOTICE: this driver is still being upstreamed and its uAPI
(rtss_mailbox_uapi.h) is not yet frozen and may change before
upstream acceptance -- see rtss-mailbox-kmd's README for details.

Signed-off-by: Ram Sargar <rsargar@qti.qualcomm.com>
Provides the userspace API, OTA/update tooling, and debug utilities
built on top of qcom-rtss-mailbox-dlkm.

Signed-off-by: Ram Sargar <rsargar@qti.qualcomm.com>
@sargarram7
sargarram7 force-pushed the rtss-mailbox-recipe-pin branch from 92922bc to e9db04c Compare September 11, 2026 05:11

@sargarram7 sargarram7 left a comment

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ricardo Salveti (@ricardosalveti) , Dmitry Baryshkov (@lumag) thank you for feedback, could you please take look

@qcomlnxci

Copy link
Copy Markdown

Test Coral run workflow

Test jobs for commit e9db04c

  • qcomdistro: multimedia image
    Pass: 9 | Fail: 0 | Total: 9
  • qcomdistro: multimedia image-prop
    Pass: 41 | Fail: 0 | Total: 41

@lumag Dmitry Baryshkov (lumag) left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Provides the userspace API, OTA/update tooling, and debug utilities

You haven't read CONTRIBUTING.md, have you?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants