[PATCH 0/5] accel/rocket: Support standalone DPU/PPU tasks and pipelined workloads

Ross Cawston posted 5 patches 1 month, 2 weeks ago
drivers/accel/rocket/rocket_gem.c |  2 +
drivers/accel/rocket/rocket_job.c | 80 ++++++++++++++++++++++++++++++---------
drivers/accel/rocket/rocket_job.h |  2 +
include/uapi/drm/rocket_accel.h   | 25 ++++++++++++
4 files changed, 92 insertions(+), 17 deletions(-)
[PATCH 0/5] accel/rocket: Support standalone DPU/PPU tasks and pipelined workloads
Posted by Ross Cawston 1 month, 2 weeks ago
The Rocket NPU supports multiple workload types beyond convolutional jobs:
- Standalone post-processing (PPU) tasks (pooling, element-wise ops, etc.)
- Pipelined DPU→PPU workloads

The current driver has limitations preventing these from working correctly:
- CNA/Core S_POINTER registers are always written, re-arming stale state
- Interrupt handling is hard-coded to DPU only, causing PPU timeouts
- Ping-pong mode is always enabled

This series fixes these while preserving backward compatibility.

Patch breakdown:
1/5 Fix error path in BO creation (cleanup/fix)
2/5 Enable ping-pong mode only for multi-task jobs (optimization)
3/5 Add per-task int_mask and flags to UAPI/kernel (new knobs)
4/5 Skip CNA/Core S_POINTER init for standalone tasks
5/5 Use per-task interrupt mask and handle PPU completions

Derived from vendor BSP behavior.

Tested on OrangePi 5 Ultra and Radxa Rock 5B (RK3588).

Thanks for review!

Signed-off-by: Ross Cawston <ross@r-sc.ca>
---
Ross Cawston (5):
      accel/rocket: Fix error path in BO creation
      accel/rocket: Enable ping-pong mode only for multi-task jobs
      accel/rocket: Add per-task flags and interrupt mask to UAPI and kernel
      accel/rocket: Skip CNA/Core S_POINTER initialization for standalone tasks
      accel/rocket: Use per-task interrupt mask and handle PPU completion interrupts

 drivers/accel/rocket/rocket_gem.c |  2 +
 drivers/accel/rocket/rocket_job.c | 80 ++++++++++++++++++++++++++++++---------
 drivers/accel/rocket/rocket_job.h |  2 +
 include/uapi/drm/rocket_accel.h   | 25 ++++++++++++
 4 files changed, 92 insertions(+), 17 deletions(-)
---
base-commit: 17f8d2009367c3da82882f70ccbdca9f8c7b5f20
change-id: 20260217-accel-rocket-clean-base-57c0e88651e6

Best regards,
-- 
Ross Cawston <ross@r-sc.ca>