k3: enable TI Rogue GPU acceleration - #10271
#10271k3: enable TI Rogue GPU acceleration#10271Grippy98 wants to merge 1 commit into
Conversation
Gate target-ABI Rogue DKMS builds and module policy on GPU_SUPPORT plus the matching TI driver package. Enable the packaged Rogue stack for BeagleY-AI, BeaglePlay, and BeagleBone AI-64, and carry the J722S GPU node and clock assignments required by the 7.2 kernel.
📝 WalkthroughWalkthroughChangesTI GPU enablement
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant ImageBuild
participant TIRepository
participant TargetChroot
participant RogueDKMS
ImageBuild->>TIRepository: Probe candidate suite Release files
TIRepository-->>ImageBuild: Return available suite
ImageBuild->>TargetChroot: Install filtered TI packages
ImageBuild->>RogueDKMS: Run dkms autoinstall
RogueDKMS-->>TargetChroot: Provide pvrsrvkm.ko
ImageBuild->>TargetChroot: Configure module loading and powervr blacklist
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (2)
extensions/ti-debpkgs.sh (2)
42-53: 🔒 Security & Privacy | 🔵 Trivial | 💤 Low valuePredictable tmp path is used for the downloaded sources file.
Static analysis flags
$SDCARD/tmp/ti-debpkgs.sourcesas a predictable path; a symlink pre-planted there before thewgetcould redirect the write. The blast radius here is bounded by$SDCARDtypically being a per-build sandbox directory, but usingmktempunder$SDCARD/tmpis a cheap hardening.🛡️ Proposed fix using mktemp
- run_host_command_logged "mkdir -p \"$SDCARD/tmp\"" - run_host_command_logged "wget -qO $SDCARD/tmp/ti-debpkgs.sources https://raw.githubusercontent.com/TexasInstruments/ti-debpkgs/main/ti-debpkgs.sources" + run_host_command_logged "mkdir -p \"$SDCARD/tmp\"" + local ti_sources_tmp + ti_sources_tmp="$(mktemp "$SDCARD/tmp/ti-debpkgs.sources.XXXXXX")" + run_host_command_logged "wget -qO ${ti_sources_tmp} https://raw.githubusercontent.com/TexasInstruments/ti-debpkgs/main/ti-debpkgs.sources"🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@extensions/ti-debpkgs.sh` around lines 42 - 53, Replace the predictable `$SDCARD/tmp/ti-debpkgs.sources` download path in the `wget` and subsequent `chroot_sdcard` commands with a unique temporary file created via `mktemp` under `$SDCARD/tmp`. Reuse that generated path consistently for editing, validation, copying, and cleanup, while preserving the existing source-file workflow.Source: Linters/SAST tools
132-155: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick winMake the DKMS build target the Rogue module explicitly.
target_kvermatches the Armbian vendor module pathIMAGE_INSTALLED_KERNEL_VERSION-${BRANCH}-${LINUXFAMILY}, which the existing r8125 DKMS path uses too, butdkms autoinstall --kernelver ${target_kver}still rebuil any installed DKMS module registered for older/current kernel revisions. Usedkms install -m ti-img-rogue-driver -k ${target_kver}after installing Rogue packages so an unrelated DKMS failure cannot abort the Rogue GPU build path.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@extensions/ti-debpkgs.sh` around lines 132 - 155, Update build_ti_rogue_dkms_for_image to replace the broad `dkms autoinstall --kernelver ${target_kver}` invocation with an explicit `dkms install` targeting module `ti-img-rogue-driver` and kernel `${target_kver}`. Keep the existing environment handling and subsequent module verification and depmod steps unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@extensions/ti-debpkgs.sh`:
- Around line 42-53: Replace the predictable `$SDCARD/tmp/ti-debpkgs.sources`
download path in the `wget` and subsequent `chroot_sdcard` commands with a
unique temporary file created via `mktemp` under `$SDCARD/tmp`. Reuse that
generated path consistently for editing, validation, copying, and cleanup, while
preserving the existing source-file workflow.
- Around line 132-155: Update build_ti_rogue_dkms_for_image to replace the broad
`dkms autoinstall --kernelver ${target_kver}` invocation with an explicit `dkms
install` targeting module `ti-img-rogue-driver` and kernel `${target_kver}`.
Keep the existing environment handling and subsequent module verification and
depmod steps unchanged.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 3ff1a25b-a762-4d06-9a36-291c53c7a7a4
📒 Files selected for processing (8)
config/boards/beaglebone-ai64.confconfig/boards/beagleplay.confconfig/boards/beagley-ai.confextensions/ti-debpkgs.shpatch/kernel/archive/k3-7.2/0001-FROMLIST-dt-bindings-gpu-img-Add-J721E-compatible.patchpatch/kernel/archive/k3-7.2/0002-FROMLIST-arm64-dts-ti-k3-j721e-Add-GPU-node.patchpatch/kernel/archive/k3-beagle-7.2/0022-FROMLIST-arm64-dts-ti-add-J722S-GPU-node.patchpatch/kernel/archive/k3-beagle-7.2/dt/k3-am67a-beagley-ai-armbian.dtsi
|
All the |
Enable the TI Rogue GPU stack for BeagleY-AI, BeaglePlay, and BeagleBone AI-64 when
GPU_SUPPORT=yes, including target-ABI DKMS builds and required GPU DT patches.For performance reasons also blacklist upstream PowerVR driver.
Assisted w/Codex Sol 5.6 Extra High
How Has This Been Tested?
pvrsrvkmbound successfully, Vulkan hardware acceleration and PVR tests passed.Checklist:
Summary by CodeRabbit
New Features
Bug Fixes