Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
650905b
Remove CR-LF from the rest of the files
lumag Aug 19, 2025
028d21c
Clean-up: Remove unused Android-specific DSP HAL code
Jianping-Li Aug 15, 2025
14c7c27
Remove CR-LF from the rest of the files (#222)
ekanshibu Aug 20, 2025
2ce1792
rpcmem: Register rpcmem-allocated buffers with fastrpc memory framework
quic-parihar Aug 14, 2025
f7f0080
Clean-up: Remove unused Android-specific DSP HAL code (#223)
ekanshibu Aug 22, 2025
bd8980c
rpcmem: Register rpcmem-allocated buffers with fastrpc memory framewo…
ekanshibu Aug 22, 2025
d2ec9f5
Have a single source file for all daemons
Jianping-Li Aug 8, 2025
25c03ef
Have a single source file for all daemons (#209)
ekanshibu Aug 28, 2025
333bd54
CI: Docker-based pre-merge pipeline for FastRPC
quic-mtharu Aug 28, 2025
85aa6d5
CI: Pre merge verification - Sync, Build and Test. (#205)
ekanshibu Sep 3, 2025
1ee463d
Add changes to support GPDSPs offloading
quic-lxu5 Sep 3, 2025
83cfc8a
CI: Switch all reusable workflow references to 'development' branch (…
quic-mtharu Sep 4, 2025
2592eb4
inc: drop AEEStdDef.h from rpcmem.h to fix build
ekanshibu Sep 4, 2025
14e7963
Add changes to support GPDSPs offloading (#211)
ekanshibu Sep 8, 2025
53a2f9b
test: Update fastrpc_test to append library paths
quic-vkatoch Jul 14, 2025
487c44c
test: Update fastrpc_test README for install and run
quic-vkatoch Aug 20, 2025
90cddf9
Update README.md with Clear Instructions for fastrpc_test (#194)
ekanshibu Sep 9, 2025
9577aa7
Reduce log verbosity to prevent syslog flooding
quic-vkatoch Jul 4, 2025
aa08ed9
Remove PRINT_WARN_USE_DOMAINS macro completely
quic-vkatoch Aug 7, 2025
e7929db
Reduce log verbosity to prevent syslog flooding and improve error vis…
ekanshibu Sep 9, 2025
2d1768e
Fix ramdisk unpack and repack logic for fastrpc validation (#238)
quic-mtharu Sep 9, 2025
ec7bf16
CI: Automate fastrpc deployment
quic-mtharu Sep 12, 2025
4c9b901
CI: push fastrpc tests to appropriate directories (#242)
quic-mtharu Sep 18, 2025
939b2a1
Enable PD exception logging by default
quic-parihar Sep 16, 2025
8c54dc7
Matrix Consolidation & Simplified LAVA Machine Assignment
quic-mtharu Oct 14, 2025
3a5185a
CI Update: Refactored pull_request_target Workflow
quic-mtharu Oct 15, 2025
1f0f38a
CI Optimization: Ignore .github Directory in Workflow Trigger
quic-mtharu Oct 15, 2025
c5f6417
GitHub Actions Workflow Improvements (#250)
quic-mtharu Oct 17, 2025
efc28a5
Add GitHub Actions workflow for ABI/API compatibility check
quic-vkatoch Oct 15, 2025
fc10de3
Target-Specific Enhancements: qcs6490 Support & Path Resolution
quic-mtharu Oct 14, 2025
fe39cf9
Flexible Matching Logic for Target Path Resolution
quic-mtharu Oct 14, 2025
df3e9ac
Attribute Renaming: Standardized Target Configuration Fields
quic-mtharu Oct 14, 2025
8641a1a
Enable PD exception logging by default (#243)
ekanshibu Oct 27, 2025
1316edf
dsprpcd: dlopen versioned listener libraries with fallback
thiru31 Oct 19, 2025
12e90f2
inc: add required include files at instal
Nov 3, 2025
f0947c8
Move pthread_key_create initialization earlier in fastrpc_apps_user_init
quic-amanp Nov 4, 2025
f077e4d
dsprpcd: dlopen versioned listener libraries with fallback (#240)
ekanshibu Nov 4, 2025
bffbd35
Fix PD exception logging
Jianping-Li Nov 3, 2025
e5d427c
Fix PD exception logging (#256)
ekanshibu Nov 13, 2025
31de90e
Move pthread_key_create initialization earlier in fastrpc_apps_user_i…
ekanshibu Nov 14, 2025
c469d38
Add GitHub Actions workflow for ABI/API compatibility check (#249)
ekanshibu Nov 17, 2025
2723593
CI: Add qcs6490 target support with unified build matrix and path han…
quic-mtharu Nov 17, 2025
677e61e
Enable ARMOR public API compatibility checks and header validation
quic-mtharu Nov 21, 2025
bffac3e
inc: add required include files at instal (#253)
ekanshibu Nov 27, 2025
ff539be
Add GitHub Actions workflow for ARMOR API/ABI monitoring
quic-mtharu Nov 26, 2025
bfab030
Enable ARMOR public API compatibility checks and header validation (#…
Chennak-quic Dec 8, 2025
cdb828b
test: Update examples and test runner with improved error handling
quic-vkatoch Dec 9, 2025
5171117
test: Update examples and test runner with improved error handling (#…
ekanshibu Dec 10, 2025
ab18587
Support dynamic DSP path resolution via conf directory
quic-parihar Sep 4, 2025
9d933b0
Fix envlistlen overwrite when fetching from non-DSP library environme…
quic-parihar Sep 12, 2025
520324d
Update build steps to include libyaml-dev and apt-get update
quic-parihar Nov 26, 2025
de758b1
fix: Link test libs to corrected version libcdsprpc.so.1
quic-vkatoch Dec 21, 2025
4c01b06
Update DSP mount and search path configuration (#234)
ekanshibu Dec 22, 2025
44adac6
fix: Link test libs to corrected version libcdsprpc.so.1 (#271)
ekanshibu Dec 23, 2025
324e19b
Build domain-correct paths
quic-parihar Dec 23, 2025
270b59f
Clean up shell open logs
quic-parihar Dec 23, 2025
cff7d44
Build domain-correct paths and clean up shell open logs (#272)
ekanshibu Dec 26, 2025
abf81bb
Merge 'v1.0.2' into Debian packaging branch 'debian/pr/1.0.2-1'
qcom-service-bot Jan 15, 2026
e91dd39
Update changelog version to 1.0.2-1 and UNRELEASED suite
qcom-service-bot Jan 15, 2026
67a4fe3
d/p/dlopen-abi-version: drop (fixed upstream)
basak-qcom Dec 16, 2025
613e5df
d/gbp.conf: set upstream tag pattern
basak-qcom Dec 16, 2025
9b5c09f
Implement new upstream search path configuration
basak-qcom Jan 8, 2026
256e370
d/changelog: entries for 1.0.2-1
basak-qcom Jan 13, 2026
5215a6c
wip: drop d/gbp.conf for wf testing
basak-qcom Jan 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 94 additions & 0 deletions Docs/conf_guideline.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
📄 **YAML Configuration Usage Guide**

---

### 🔧 **Purpose**
The YAML configuration file enables **fastrpc** to set machine-specific configurations at runtime. Each machine entry corresponds to a specific hardware platform.

- fastrpc supports reading YAML configuration files from a particular directory. Users should ensure all configuration files are stored in that same directory.
- For Linux platforms: `/usr/share/qcom/conf.d/`
- In case of multiple configuration files defining path for a single machine, the directory is parsed in lexicographical order and the latest one carrying the
machine path is picked.
- **Machine Name**: Obtain the machine name for your platform from:
```
/sys/firmware/devicetree/base/model
```
(fastrpc uses same path for matching machine names)
---
### 📄 **Current Properties**
- **DSP_LIBRARY_PATH**: Specifies the path to DSP binaries and resources for the Machine.
---

### 📁 **Format Guidelines**
The configuration uses YAML format with the following structure:
```
machines:
"Machine Name":
DSP_LIBRARY_PATH: "/relative/path/to/dsp/binaries/"
```

**Key Points:**
- The root element is `machines:`
- Each machine name is a quoted string key under `machines:`
- Properties are indented under each machine name
- Use proper YAML indentation
- Paths should be quoted strings

---

### ✅ **Example Configuration**
```
machines:
"Qualcomm Technologies, Inc. DB820c":
DSP_LIBRARY_PATH: "/apq8096/Qualcomm/db820c/"
"Thundercomm Dragonboard 845c":
DSP_LIBRARY_PATH: "/sdm845/Thundercomm/db845c/"
```

---

### ⚠️ **Important Notes**
- Do **not** modify machine names unless adding a new supported Machine.
- Ensure `DSP_LIBRARY_PATH` values:
- Are enclosed in double quotes (`"..."`).
- Are **relative to `/usr/share/qcom/`**.
- Follow YAML syntax rules:
- Use consistent indentation.
- Ensure proper spacing after colons (`: `).
- Quote strings containing special characters or spaces.
- Avoid tabs (use spaces only).
- Maintain:
- Proper YAML structure and hierarchy.
- Consistent formatting across entries.
- When adding new properties:
- Document their purpose **here**.
- Follow the same indentation pattern.
- Do **not** create duplicate Machine entries.
- Validate YAML syntax before deployment to avoid parsing errors.

---

### ➕ **Adding New Platforms**
To add a new Machine, follow the existing YAML format:
```
machines:
"New Machine Name":
DSP_LIBRARY_PATH: "/new_machine/path/"
```

Ensure the new entry is properly indented under the `machines:` root element and follows YAML syntax conventions.

---

### 📝 **File Naming**
Configuration files should use the `.yaml` or `.yml` extension and be placed in the designated configuration directory (`/usr/share/qcom/conf.d/` on Linux platforms).

### ✅ Schema Validation
To ensure the configuration file adheres to the required structure, validate it against the schema provided.

Schema File Location:
<ROOT>/Docs/schemas/fastrpc-config-schema.yaml

Validation Command:
Use Yamale for schema validation:
yamale -s fastrpc-config-schema.yaml <yaml file>
1 change: 1 addition & 0 deletions Docs/schemas/fastrpc-config-schema.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
machines: map(key=str(), value=map(DSP_LIBRARY_PATH=regex('^/.+/')))
22 changes: 19 additions & 3 deletions ci/MACHINES.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,20 @@
{
"qcs9100-ride-r3": ["sa8775p-ride", "qcs9100-ride"],
"qcs8300-ride": ["qcs8300-ride", "qcs8300-ride"]
}
"qcs6490-rb3gen2": {
"deviceTree": "qcs6490-rb3gen2",
"linuxFirmware": "qcs6490",
"lavaDeviceName": "qcs6490",
"hexDSPBinary": "qcm6490"
},
"qcs9100-ride-r3": {
"deviceTree": "qcs9100-ride-r3",
"linuxFirmware": "sa8775p",
"lavaDeviceName": "qcs9100-ride",
"hexDSPBinary": "sa8775p"
},
"qcs8300-ride": {
"deviceTree": "qcs8300-ride",
"linuxFirmware": "qcs8300",
"lavaDeviceName": "qcs8300-ride",
"hexDSPBinary": "qcs8300"
}
}
20 changes: 20 additions & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,26 @@ AM_PROG_CC_C_O

# Checks for library functions.

# Enable pkg-config
PKG_PROG_PKG_CONFIG

# Check for libyaml only if not Android
AS_IF([test "$compile_for_android" = no], [
PKG_CHECK_MODULES([YAML], [yaml-0.1], [],
[AC_MSG_ERROR([libyaml (yaml-0.1) is required but not found.])])
AC_SUBST(YAML_CFLAGS)
AC_SUBST(YAML_LIBS)
])

# Configure config base path option (--with-config-base-dir)
AC_ARG_WITH([config-base-dir],
[AS_HELP_STRING([--with-config-base-dir=PATH],
[Base directory for config files (default: /usr/share/qcom)])],
[config_base_dir="$withval"],
[config_base_dir="/usr/share/qcom/"])
AC_MSG_NOTICE([Config base path: $config_base_dir])
AC_SUBST([CONFIG_BASE_DIR], ["$config_base_dir"])

AC_CONFIG_FILES([
Makefile
inc/Makefile
Expand Down
2 changes: 1 addition & 1 deletion debian/adsprpcd.service
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ User=fastrpc
Group=fastrpc
Restart=always
Type=exec
ExecStart=/bin/sh -c '. /usr/share/fastrpc/guess-dsp.sh && /usr/sbin/adsprpcd'
ExecStart=/usr/sbin/adsprpcd
2 changes: 1 addition & 1 deletion debian/cdsprpcd.service
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ User=fastrpc
Group=fastrpc
Restart=always
Type=exec
ExecStart=/bin/sh -c '. /usr/share/fastrpc/guess-dsp.sh && /usr/sbin/cdsprpcd'
ExecStart=/usr/sbin/cdsprpcd
17 changes: 17 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
fastrpc (1.0.2-1) UNRELEASED; urgency=medium

* New upstream release
* d/p/dlopen-abi-version: drop (fixed upstream).
* d/gbp.conf: set upstream tag pattern.
* Implement new upstream search path configuration:
- d/control: Build-Depend on libyaml-dev and pkgconf
- d/rules: --with-config-base-dir=/usr/share/hexagon-dsp
- d/p/open-shell-path: drop (no longer required)
- Drop d/guess-dsp.sh (no longer required):
+ d/{a,c}dsprpcd.service: invoke without guess-dsp.sh
+ d/fastrpc-support.install: do not install guess-dsp.sh
+ d/guess-dsp.sh: remove
+ d/copyright: drop guess-dsp.sh licensing information

-- Robie Basak <[email protected]> Thu, 15 Jan 2026 19:58:21 +0000

fastrpc (1.0.0-1) unstable; urgency=medium

* Initial packaging. (Closes: #1116042)
Expand Down
2 changes: 1 addition & 1 deletion debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Maintainer: Robie Basak <[email protected]>
Standards-Version: 4.6.2
Section: misc
Priority: optional
Build-Depends: debhelper-compat (= 13)
Build-Depends: debhelper-compat (= 13), libyaml-dev, pkgconf
Homepage: https://github.com/qualcomm/fastrpc
Vcs-Git: https://github.com/qualcomm-linux/pkg-fastrpc -b debian/latest
Vcs-Browser: https://github.com/qualcomm-linux/pkg-fastrpc
Expand Down
25 changes: 0 additions & 25 deletions debian/copyright
Original file line number Diff line number Diff line change
Expand Up @@ -54,28 +54,3 @@ License: BSD-1-Clause
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Files: debian/guess-dsp.sh
Copyright: Copyright (c) 2021-2024 Linaro
Comment: the source file declares SPDX MIT but doesn't include the license
text. Since this matches the Expat license according to dep5, the Expat
license text is used here.
License: Expat
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
.
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1 change: 0 additions & 1 deletion debian/fastrpc-support.install
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
debian/adsprpcd.service usr/lib/systemd/system/
debian/cdsprpcd.service usr/lib/systemd/system/
debian/guess-dsp.sh usr/share/fastrpc/
usr/bin/adsprpcd usr/sbin
usr/bin/cdsprpcd usr/sbin
usr/bin/sdsprpcd usr/sbin
2 changes: 0 additions & 2 deletions debian/gbp.conf

This file was deleted.

44 changes: 0 additions & 44 deletions debian/guess-dsp.sh

This file was deleted.

28 changes: 0 additions & 28 deletions debian/patches/dlopen-abi-version

This file was deleted.

Loading
Loading