Skip to content

Build per-domain DSP search path cache with ARCH_VER#328

Open
Vinayak Katoch (quic-vkatoch) wants to merge 1 commit into
qualcomm:developmentfrom
quic-vkatoch:arch-ver
Open

Build per-domain DSP search path cache with ARCH_VER#328
Vinayak Katoch (quic-vkatoch) wants to merge 1 commit into
qualcomm:developmentfrom
quic-vkatoch:arch-ver

Conversation

@quic-vkatoch

@quic-vkatoch Vinayak Katoch (quic-vkatoch) commented Apr 14, 2026

Copy link
Copy Markdown
Contributor

Replace the global DSP_LIBS_LOCATION in get_dsp_search_path() with a per-domain DSP_SEARCH_PATHS_CACHE[], built lazily in domain_init().

Search path preference order for each domain:

  1. ADSP_LIBRARY_PATH env (user/container, prepended at open-time)
  2. Arch-specific path (CONFIG_BASE_DIR/hexagon/v<XY>)
    • Resolved via fastrpc_get_cap(ARCH_VER) low byte on modern targets
    • Falls back to per-domain YAML key (ADSP_ARCH..GDSP1_ARCH) on legacy targets where the capability API is not supported
  3. DSP_LIBS_LOCATION (board-specific YAML path + generic fallback)

Add optional *_ARCH keys to the config schema and parse them into DSP_ARCH_FROM_YAML[] in fastrpc_config_parser.c, exposed via get_dsp_arch_from_yaml().

CRs-Fixed: 4608348

Comment thread src/fastrpc_apps_user.c
@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown

qualcomm/fastrpc.triage This pull request has been marked as stale due to 30 days of inactivity.

@github-actions github-actions Bot added the Stale label Jul 4, 2026
Comment thread src/fastrpc_apps_user.c Outdated
@github-actions github-actions Bot removed the Stale label Jul 14, 2026
Comment thread src/fastrpc_apps_user.c Outdated
Comment thread src/fastrpc_apps_user.c Outdated
Comment thread src/fastrpc_apps_user.c Outdated
Comment thread src/fastrpc_apps_user.c Outdated
@anankulk

Copy link
Copy Markdown
Contributor

Pre-merge CI results — patch a74618a99ce6

Validated On

  • fastrpc baseline (development): 9d409211527f
  • kernel baseline (qcom-next (reference)): 6548ba1da927

Kernel: 7.1.0-01274-g19b282f41758-dirty

Test Matrix

Targets Domain PD Type Tests Result
lemans-evkADSPSigned3/3✅ Pass
lemans-evkCDSPSigned3/3✅ Pass
lemans-evkCDSPUnsigned3/3✅ Pass
lemans-evkCDSP1Signed3/3✅ Pass
lemans-evkCDSP1Unsigned3/3✅ Pass
qcs615-rideADSPSigned3/3✅ Pass
qcs615-rideCDSPSigned3/3✅ Pass
qcs615-rideCDSPUnsigned3/3✅ Pass
qcs6490-rb3gen2ADSPSigned3/3✅ Pass
qcs6490-rb3gen2CDSPSigned3/3✅ Pass
qcs6490-rb3gen2CDSPUnsigned3/3✅ Pass
qcs8300-rideADSPSigned3/3✅ Pass
qcs8300-rideCDSPSigned3/3✅ Pass
qcs8300-rideCDSPUnsigned3/3✅ Pass
sm8750-mtpADSPSigned3/3✅ Pass
sm8750-mtpCDSPSigned3/3✅ Pass
sm8750-mtpCDSPUnsigned3/3✅ Pass

Verification Note: Results verified on respective targets via automated LAVA testing (17/17 invocations passed, 51/51 tests passed).


LAVA Jobs:

CI run: https://github.com/qualcomm-linux-stg/fastrpc-config/actions/runs/29328415887

Replace the global DSP_LIBS_LOCATION in get_dsp_search_path() with a
per-domain DSP_SEARCH_PATHS_CACHE[], built lazily in domain_init().

Search path preference order for each domain:
  1. ADSP_LIBRARY_PATH env (user/container, prepended at open-time)
  2. Arch-specific path (CONFIG_BASE_DIR/hexagon/v<XY>)
     - Resolved via fastrpc_get_cap(ARCH_VER) low byte on modern targets
     - Falls back to per-domain YAML key (ADSP_ARCH..GDSP1_ARCH) on
       legacy targets where the capability API is not supported
  3. DSP_LIBS_LOCATION (board-specific YAML path + generic fallback)

Add optional *_ARCH keys to the config schema and parse them into
DSP_ARCH_FROM_YAML[] in fastrpc_config_parser.c, exposed via
get_dsp_arch_from_yaml().

Signed-off-by: Vinayak Katoch <vkatoch@qti.qualcomm.com>
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.

6 participants