Skip to content

Enable OPE driver support for Agatti and Shikra - #1120

Open
Nihal Kumar Gupta (nihal231998) wants to merge 14 commits into
qualcomm-linux:qcom-6.18.yfrom
nihal231998:shikra_ope_enable
Open

Nihal Kumar Gupta (nihal231998) wants to merge 14 commits into
qualcomm-linux:qcom-6.18.yfrom
nihal231998:shikra_ope_enable

Conversation

@nihal231998

@nihal231998 Nihal Kumar Gupta (nihal231998) commented Sep 15, 2026 •

Copy link
Copy Markdown

This series enable OPE driver support for Agatti and Shikra

  • UPSTREAM: media: uapi: Introduce V4L2 generic ISP types
  • UPSTREAM: media: v4l2-core: Introduce v4l2-isp.c
  • UPSTREAM: media: v4l2-isp: Rename block_info to block_type_info
  • UPSTREAM: media: uapi: v4l2-isp: Add extensible statistics
  • UPSTREAM: media: v4l2-isp: Rename v4l2_isp_params_buffer_size
  • FROMLIST: media: qcom: camss: Add V4L2 meta format for CAMSS ISP para…
  • FROMLIST: dt-bindings: media: qcom: Add CAMSS Offline Processing Engi…
  • FROMLIST: dt-bindings: media: qcom,qcm2290-camss-ope: Document shikra…
  • FROMLIST: media: uapi: Add CAMSS ISP configuration definition
  • FROMLIST: media: Documentation: uapi: Add qcom-camss ISP params docum…
  • FROMLIST: media: qcom: camss: Add CAMSS Offline Processing Engine driver
  • FROMLIST: arm64: dts: qcom: agatti: Add OPE node
  • FROMLIST: arm64: dts: qcom: shikra: Add OPE node
  • FROMLIST: arm64: defconfig: Enable Qualcomm CAMSS OPE driver

CRs-Fixed: 4677262

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

@qlijarvis

Copy link
Copy Markdown

PR #1120 — validate-patch

PR: #1120

Verdict Issues Detailed Report
❌ 8 Full report

Final Summary

  1. Lore link present: No - Upstream-Status: tags found instead of standard kernel Link: tags; lore URLs are present but in wrong format
  2. Lore link matches PR commits: Cannot verify - non-standard tag format prevents automated validation; manual verification required after fixing commit message format
  3. Upstream patch status: Cannot verify - requires fetching from lore.kernel.org using the URLs in Upstream-Status: tags; likely "In review" based on "Submitted" status and FROMLIST: prefix
  4. PR present in qcom-next/topics: Fail - 1/8 commit(s) are missing from both qcom-next and topics
Verdict: ❌ — click to expand

🔍 Patch Validation

PR: #1120 - CAMSS OPE (Offline Processing Engine) driver series
Upstream commit: Multiple lore.kernel.org URLs (see details below)
Verdict: ❌ FAIL

Commit Message

Check Status Note
Subject matches upstream ⚠️ Cannot verify - no standard Link: tags present
Body preserves rationale ⚠️ Cannot verify - no standard Link: tags present
Fixes tag present/correct N/A No Fixes tags expected for new feature
Authorship preserved ✅ FROMLIST: commits correctly preserve original author in From: field
Backport note (if applicable) N/A Not backports - FROMLIST: patches

Diff

File Status Notes
All files ⚠️ Cannot verify against lore - non-standard commit message format

Issues

Critical: Non-standard commit message format

All 8 commits in this PR use Upstream-Status: Submitted [lore-url] tags instead of the kernel-standard Link: tag format. This violates kernel commit message conventions.

Issue details:

  • Current format: Upstream-Status: Submitted [https://lore.kernel.org/all/...]
  • Required format: Link: https://lore.kernel.org/all/...

The Upstream-Status: tag is a Yocto/OpenEmbedded convention used in embedded Linux build systems, not a standard kernel commit message tag. Kernel commits submitted with FROMLIST: prefix must include a Link: tag pointing to the lore.kernel.org posting.

Affected commits:

  1. Commit 1/8: Upstream-Status: Submitted [https://lore.kernel.org/all/20260724-camss-isp-ope-v5-1-e70ad4fa39ce@oss.qualcomm.com/]
  2. Commit 2/8: Upstream-Status: Submitted [https://lore.kernel.org/all/20260724-camss-isp-ope-v5-2-e70ad4fa39ce@oss.qualcomm.com/]
  3. Commit 3/8: Upstream-Status: Submitted [https://lore.kernel.org/all/20260907-camss-isp-ope-v6-3-6b915b9c5131@oss.qualcomm.com/]
  4. Commit 4/8: Upstream-Status: Submitted [https://lore.kernel.org/all/20260724-camss-isp-ope-v5-3-e70ad4fa39ce@oss.qualcomm.com/]
  5. Commit 5/8: Upstream-Status: Submitted [https://lore.kernel.org/all/20260724-camss-isp-ope-v5-4-e70ad4fa39ce@oss.qualcomm.com/]
  6. Commit 6/8: Upstream-Status: Submitted [https://lore.kernel.org/all/20260724-camss-isp-ope-v5-5-e70ad4fa39ce@oss.qualcomm.com/]
  7. Commit 7/8: Upstream-Status: Submitted [https://lore.kernel.org/all/20260724-camss-isp-ope-v5-5-e70ad4fa39ce@oss.qualcomm.com/]
  8. Commit 8/8: Upstream-Status: Submitted [https://lore.kernel.org/all/20260915-camss-isp-ope-v7-9-77b13d131d3d@oss.qualcomm.com/]

Version mismatch detected:

  • Commits 1, 2, 4, 5, 6, 7 reference v5 of the patch series
  • Commit 3 references v6 of the patch series
  • Commit 8 references v7 of the patch series

This inconsistency suggests the PR may be mixing patches from different upstream revisions, which could lead to integration issues or mismatched functionality.

Integration presence issue:
According to integration_presence_report.md:

  • Commit 6/8 (agatti OPE node): MISSING from both qcom-next and topics
  • Commit 7/8 (shikra OPE node): PARTIAL presence in qcom-next/topics
  • 6 other commits: Present in topics

Verdict

Do not merge - This PR requires the following corrections:

  1. Replace all Upstream-Status: tags with standard Link: tags

    • Change: Upstream-Status: Submitted [URL]
    • To: Link: URL
  2. Resolve version inconsistency

    • Verify all commits are from the same upstream patch series revision
    • Update commit 3 to match v5, or update all commits to v6/v7 as appropriate
    • Ensure the lore URLs point to the correct revision that matches the actual code
  3. Address missing commits in integration

    • Commit 6/8 (agatti OPE node) is completely missing from qcom-next and topics
    • Commit 7/8 (shikra OPE node) has only partial presence
    • These must be present in the integration branch before this PR can be merged

Final Summary

  1. Lore link present: No - Upstream-Status: tags found instead of standard kernel Link: tags; lore URLs are present but in wrong format
  2. Lore link matches PR commits: Cannot verify - non-standard tag format prevents automated validation; manual verification required after fixing commit message format
  3. Upstream patch status: Cannot verify - requires fetching from lore.kernel.org using the URLs in Upstream-Status: tags; likely "In review" based on "Submitted" status and FROMLIST: prefix
  4. PR present in qcom-next/topics: Fail - 1/8 commit(s) are missing from both qcom-next and topics (commit 6/8 completely missing, commit 7/8 partial); per integration_presence_report.md

Deterministic Integration Presence

Integration Presence Report

This report is generated by Jarvis before validate-patch runs.
It is the authoritative source for whether PR changes are already present
in qcom-next or in the kernel topic branches.

Kernel repo: /local/mnt/workspace/sgaud/Qgenie/image_pipeline/kernel
qcom-next ref: d49c33864d06e9672dce57738be8851384578fcf
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/8 [PATCH 1/8] FROMLIST: media: qcom: camss: Add V4L2 meta format for missing - no subject, patch-id, or full tree-content match found present - all checked added lines are present present
2/8 [PATCH 2/8] FROMLIST: dt-bindings: media: qcom: Add CAMSS Offline missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 501bd5e present
3/8 [PATCH 3/8] FROMLIST: dt-bindings: media: qcom,qcm2290-camss-ope: missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at c10b7eb present
4/8 [PATCH 4/8] FROMLIST: media: uapi: Add CAMSS OPE ISP configuration missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 9a495bd present
5/8 [PATCH 5/8] FROMLIST: media: qcom: camss: Add CAMSS Offline missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at ac74a24 present
6/8 [PATCH 6/8] FROMLIST: arm64: dts: qcom: agatti: Add OPE node missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing
7/8 [PATCH 7/8] FROMLIST: arm64: dts: qcom: shikra: Add OPE node partial - subject or partial tree evidence found, but full change was not verified missing - no subject, patch-id, or full tree-content match found partial
8/8 [PATCH 8/8] FROMLIST: arm64: defconfig: Enable CAMSS OPE driver missing - no subject, patch-id, or full tree-content match found present - all checked added lines are present present

Final Status

overall_status: FAIL
present_commits: 6/8
partial_commits: 1/8
missing_commits: 1/8
topics_checked_for_commits: 8/8
final_summary: PR present in qcom-next/topics: Fail - 1/8 commit(s) are missing from both qcom-next and topics

@qlijarvis

Copy link
Copy Markdown

PR #1120 — checker-log-analyzer

PR: #1120
Checker run: https://github.com/qualcomm-linux/kernel-config/actions/runs/34958921447

Checker Result Summary
Checker Result Summary
checkpatch ❌ 1 error: trailing statement on same line
dt-binding-check ✅ Passed
dtb-check ✅ Passed
sparse-check ✅ Passed
check-uapi-headers ✅ Passed
check-patch-compliance ❌ 8 commits missing Link: tag
tag-check ✅ All commits have valid FROMLIST: prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1120 - CAMSS OPE (Offline Processing Engine) driver support
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/34958921447

Checker Result Summary
checkpatch ❌ 1 error: trailing statement on same line
dt-binding-check ✅ Passed
dtb-check ✅ Passed
sparse-check ✅ Passed
check-uapi-headers ✅ Passed
check-patch-compliance ❌ 8 commits missing Link: tag
tag-check ✅ All commits have valid FROMLIST: prefix

❌ checkpatch

Root cause: Trailing statement on same line violates kernel coding style (one statement per line rule).

Failure details:

Commit 64211bbec610 ("FROMLIST: media: qcom: camss: Add V4L2 meta format for CAMSS ISP parameters")
ERROR: trailing statements should be on next line
#28: FILE: drivers/media/v4l2-core/v4l2-ioctl.c:1472:
+	case V4L2_META_FMT_QCOM_ISP_PARAMS:	descr = "Qualcomm CAMSS ISP Parameters"; break;

64211bbec61027aeb644c57f1ce0456e39f99ba1 total: 1 errors, 0 warnings, 0 checks, 16 lines checked

Fix: Split the case statement into multiple lines:

git rebase -i aff7542c319e   # mark commit 64211bbec610 as 'edit'
# Edit drivers/media/v4l2-core/v4l2-ioctl.c:1472 to:
	case V4L2_META_FMT_QCOM_ISP_PARAMS:
		descr = "Qualcomm CAMSS ISP Parameters";
		break;
git add drivers/media/v4l2-core/v4l2-ioctl.c
git commit --amend --no-edit
git rebase --continue

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git aff7542c319e..2966e7d6c0cd

❌ check-patch-compliance

Root cause: All 8 commits are missing the required Link: tag pointing to the upstream lore.kernel.org posting.

Failure details:

Checking commit: FROMLIST: media: qcom: camss: Add V4L2 meta format for CAMSS ISP parameters
No 'Link' found in commit message

Checking commit: FROMLIST: dt-bindings: media: qcom: Add CAMSS Offline Processing Engine (OPE)
No 'Link' found in commit message

Checking commit: FROMLIST: dt-bindings: media: qcom,qcm2290-camss-ope: Document shikra compatible
No 'Link' found in commit message

Checking commit: FROMLIST: media: uapi: Add CAMSS OPE ISP configuration definition
No 'Link' found in commit message

Checking commit: FROMLIST: media: qcom: camss: Add CAMSS Offline Processing Engine driver
No 'Link' found in commit message

Checking commit: FROMLIST: arm64: dts: qcom: agatti: Add OPE node
No 'Link' found in commit message

Checking commit: FROMLIST: arm64: dts: qcom: shikra: Add OPE node
No 'Link' found in commit message

Checking commit: FROMLIST: arm64: defconfig: Enable CAMSS OPE driver
No 'Link' found in commit message

Fix: Add Link: tags to all commit messages pointing to the upstream lore.kernel.org posting. For each commit:

git rebase -i aff7542c319e   # mark each commit as 'edit'
# For each commit, amend the message to add:
# Link: https://lore.kernel.org/linux-media/<message-id>
git commit --amend
# Add the Link: line before the Signed-off-by: trailer
git rebase --continue

The FROMLIST: prefix indicates these patches were posted to a mailing list. You need to:

  1. Find the lore.kernel.org URL for each patch in the series
  2. Add Link: <lore-url> to each commit message body (before the Signed-off-by: line)

Reproduce locally:

# The checker validates that FROMLIST: commits have Link: tags
# pointing to the upstream posting

Verdict

2 blockers must be fixed before merge:

  1. checkpatch ERROR — Split the trailing statement in drivers/media/v4l2-core/v4l2-ioctl.c:1472 across multiple lines (mandatory fix)
  2. Missing Link: tags — Add Link: tags to all 8 commits pointing to their lore.kernel.org postings (mandatory for FROMLIST: commits)

All other checkers passed successfully. Once these two issues are resolved, the PR will be ready for merge.

Jacopo Mondi added 2 commits October 5, 2026 12:09
Introduce v4l2-isp.h in the Linux kernel uAPI.

The header includes types for generic ISP configuration parameters
and will be extended in the future with support for generic ISP statistics
formats.

Generic ISP parameters support is provided by introducing two new
types that represent an extensible and versioned buffer of ISP
configuration parameters.

The v4l2_params_buffer represents the container for the ISP
configuration data block. The generic type is defined with a 0-sized
data member that the ISP driver implementations shall properly size
according to their capabilities. The v4l2_params_block_header structure
represents the header to be prepend to each ISP configuration block.

Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>
Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Michael Riesch <michael.riesch@collabora.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Tested-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>

Upstream-Status: Backport
Link: https://lore.kernel.org/all/20251108-extensible-parameters-validation-v9-1-6a7e22aa57d0@ideasonboard.com/
(cherry picked from commit e36dbd1)
Add to the V4L2 framework helper functions to support drivers when
validating a buffer of V4L2 ISP parameters.

Driver shall use v4l2_isp_params_validate_buffer_size() to verify the
size correctness of the data received from userspace, and after having
copied the data to a kernel-only memory location, complete the
validation by calling v4l2_isp_params_validate_buffer().

Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Michael Riesch <michael.riesch@collabora.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Tested-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>

Upstream-Status: Backport
Link: https://lore.kernel.org/all/20251108-extensible-parameters-validation-v9-5-6a7e22aa57d0@ideasonboard.com/
Jacopo Mondi and others added 2 commits October 5, 2026 14:03
The v4l2_isp_params_block_info structure contains validation information
that apply to a block -type- and not only to a specific ISP block
implementation.

Clarify this by renaming v4l2_isp_params_block_info in
v4l2_isp_params_block_type_info and update the documentation and the
users of v4l2-isp accordingly.

Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>

Upstream-Status: Backport
Link: https://lore.kernel.org/all/20251114110213.523187-2-jacopo.mondi@ideasonboard.com/
Extend the v4l2-isp extensible format introduced for isp parameters buffers
to the support buffers of ISP statistic.

Like for ISP configuration purpose, that will help supporting various ISP
hardware versions reporting different statistics data with less impact on
userspace.

Rename all 'v4l2_isp_params' types to generic 'v4l2_isp' types to
prepare to use them for statistics as well and maintain the existing
types for compatibility with existing userspace only.

Signed-off-by: Antoine Bouyer <antoine.bouyer@nxp.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>

Upstream-Status: Backport
Link: https://lore.kernel.org/all/20260627-extensible-stats-v3-1-3b600bb2db8b@ideasonboard.com/
Jacopo Mondi and others added 10 commits October 5, 2026 14:07
Rename v4l2_isp_params_buffer_size() to v4l2_isp_buffer_size() to
support statistics.

Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>

Upstream-Status: Backport
Link: https://lore.kernel.org/all/20260627-extensible-stats-v3-3-3b600bb2db8b@ideasonboard.com/
Note: dropped the hunk touching
drivers/media/platform/arm/mali-c55/mali-c55-params.c since that
driver is absent from this tree.
…meters

Add a V4L2 meta format code (V4L2_META_FMT_QCOM_ISP_PARAMS) for the
Qualcomm CAMSS ISP parameter buffer. This format is used by the params
video node exposed by CAMSS offline ISP drivers (e.g. OPE) to carry
ISP tuning data such as white balance, color correction and chroma
enhancement settings.

Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Upstream-Status: Submitted
Link: https://lore.kernel.org/all/20260925-camss-isp-ope-v10-1-2622411034cb@oss.qualcomm.com/
…ne (OPE)

Add Devicetree binding documentation for the Qualcomm Camera Subsystem
Offline Processing Engine (OPE) found on platforms such as Agatti.
The OPE is a memory-to-memory image processing block which operates
on frames read from and written back to system memory.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Upstream-Status: Submitted
Link: https://lore.kernel.org/all/20260925-camss-isp-ope-v10-2-2622411034cb@oss.qualcomm.com/
… compatible

Shikra uses the same Offline Processing Engine hardware as QCM2290,
add qcom,shikra-camss-ope compatible string with qcom,qcm2290-camss-ope
as the fallback.

Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Nihal Kumar Gupta <nihal.gupta@oss.qualcomm.com>
Upstream-Status: Submitted
Link: https://lore.kernel.org/all/20260925-camss-isp-ope-v10-3-2622411034cb@oss.qualcomm.com/
Add the uapi header qcom-camss-config.h defining the ISP parameter
structures used by the CAMSS Offline Processing Engine (OPE) driver.
This includes structures for white balance, chroma enhancement and
color correction configuration.

The block type enum is shared across CAMSS ISPs so that userspace only
has to deal with a single set of block identifiers.

Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Upstream-Status: Submitted
Link: https://lore.kernel.org/all/20260925-camss-isp-ope-v10-4-2622411034cb@oss.qualcomm.com/
…entation

Add documentation for the Qualcomm CAMSS ISP parameters metadata format
(V4L2_META_FMT_QCOM_ISP_PARAMS). The format is built on the V4L2
extensible ISP parameters system, with per-block structs defined in the
qcom-camss-config.h uAPI header, and is designed to be shared by any
CAMSS ISP engine exposing a parameters metadata output video node. The
Offline Processing Engine (OPE) ope_params node is the first consumer,
with additional engines expected to add their own parameter blocks in
the future.

Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Upstream-Status: Submitted
Link: https://lore.kernel.org/all/20260925-camss-isp-ope-v10-5-2622411034cb@oss.qualcomm.com/
Add an image processing driver for the Qualcomm Offline Processing Engine
(OPE). OPE is a memory-to-memory ISP block that converts raw Bayer
frames to YUV, performing white balance, demosaic, chroma enhancement,
color correction and downscaling.

The hardware architecture consists of Fetch Engines and Write Engines,
connected through intermediate pipeline modules for pix processing.

The driver exposes three video nodes per pipeline instance:
  - ope_input: Bayer RAW input (V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE)
  - ope_disp_output: YUV output     (V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE)
  - ope_params: ISP parameters (V4L2_BUF_TYPE_META_OUTPUT)

Hardware features:
  - Stripe-based processing (up to 336 pixels wide per stripe)
  - White balance (CLC_WB)
  - Demosaic / Bayer-to-RGB (CLC_DEMO)
  - Color correction matrix (CLC_CC)
  - Gamma LUT (CLC_GAMMA)
  - RGB-to-YUV conversion (CLC_CHROMA_ENHAN)
  - MN downscaler for chroma and luma planes

Default configuration values are based on public standards such as BT.601.

Processing Model:
OPE processes frames in stripes of up to 336 pixels. Therefore, frames
must be split into stripes for processing. Each stripe is configured after
the previous one has been acquired (double buffered registers). To minimize
inter-stripe latency, stripe configurations are generated ahead of time.

The driver is split into three source files under the ope/ directory:

  - core.c: the OPE m2m driver itself: probe, power management, V4L2/media
    device setup, format handling, stripe generation and hardware
    programming.

  - pipeline.c/.h: a small declarative media-controller topology builder.
    Drivers describe their entire media graph, entities (video devices,
    subdevs, or base entities), their pads, and the links between them, in
    a static descriptor table. The builder validates the table, allocates
    and registers all entities, and creates all MC pad links. It is kept
    generic but currently only used by OPE.

  - params.c/.h: V4L2 ISP parameter buffer validation and dispatch. It
    wraps the extensible V4L2 ISP parameters buffer format, validating
    the buffer size and each per-block header before forwarding every
    block to its driver-supplied handler.

A userspace libcamera support can be found at:
https://github.com/jwrdegoede/libcamera/commits/camss_pipeline_v2.1/

A test tool, camss-isp-m2m, can be found at:
https://github.com/loicpoulain/camss-isp-m2m-test

Assisted-by: LLM
Co-developed-by: Hans de Goede <johannes.goede@oss.qualcomm.com>
Signed-off-by: Hans de Goede <johannes.goede@oss.qualcomm.com>
Link: https://github.com/jwrdegoede/libcamera/commits/camss_pipeline_v2.1/
Link: https://github.com/loicpoulain/camss-isp-m2m-test
Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Upstream-Status: Submitted
Link: https://lore.kernel.org/all/20260925-camss-isp-ope-v10-6-2622411034cb@oss.qualcomm.com/
Add the Offline Processing Engine (OPE) device tree node for the
Agatti platform (QCM2290). The node describes the six register
regions (cdm, top, qos, pipeline, bus_read, bus_write), clocks,
interrupt, interconnects, IOMMU mappings, and OPP table.

OPE is a memory-to-memory block with no board-level dependencies, so
the node is left enabled for all Agatti boards.

Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Upstream-Status: Submitted
Link: https://lore.kernel.org/all/20260925-camss-isp-ope-v10-7-2622411034cb@oss.qualcomm.com/
Add the Offline Processing Engine (OPE) device tree node for Shikra.
The node describes the six register regions (cdm, top, qos, pipeline,
bus_read, bus_write), clocks, interrupt, interconnects, IOMMU mappings,
and OPP table.

OPE is a memory-to-memory block with no board-level dependencies, so
the node is left enabled for all Shikra boards.

Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Signed-off-by: Nihal Kumar Gupta <nihal.gupta@oss.qualcomm.com>
Upstream-Status: Submitted
Link: https://lore.kernel.org/all/20260925-camss-isp-ope-v10-8-2622411034cb@oss.qualcomm.com/
Add CONFIG_VIDEO_QCOM_CAMSS_OPE=m to enable the Qualcomm Offline Processing
Engine (OPE) driver, an image processing block available on Qualcomm Agatti
and Shikra based platforms such as the Arduino UNO Q.

Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Signed-off-by: Nihal Kumar Gupta <nihal.gupta@oss.qualcomm.com>
Upstream-Status: Submitted
Link: https://lore.kernel.org/all/20260925-camss-isp-ope-v10-9-2622411034cb@oss.qualcomm.com/
@nihal231998
Nihal Kumar Gupta (nihal231998) force-pushed the shikra_ope_enable branch 2 times, most recently from 444ce10 to 14951cb Compare October 5, 2026 09:46
@quic-vikramsa

Copy link
Copy Markdown

LGTM

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case hamoa-iot-evk-multimedia lemans-evk-multimedia monaco-evk-multimedia purwa-iot-evk-multimedia qcs615-ride-multimedia qcs6490-rb3gen2-multimedia qcs8300-ride-multimedia qcs9100-ride-r3-multimedia shikra-iqs-evk-multimedia
Audio_Card_Registration ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip
BT_FW_KMD_Service ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_ON_OFF ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_SCAN ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail
CPUFreq_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPU_affinity ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
DSP_AudioPD ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
Ethernet_Basic_Validation ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ❌ Fail ❌ Fail ⚠️ skip
Freq_Scaling ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass
GIC ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ❌ Fail
IPA ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Interrupts ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
KVM_Driver ❌ Fail ✅ Pass ✅ Pass ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail
KVM_EL2_DTB ❌ Fail ✅ Pass ✅ Pass ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail
KVM_Infra ❌ Fail ✅ Pass ✅ Pass ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail
OpenCV ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
PCIe ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail
Probe_Failure_Check ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
RMNET ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
UFS_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
USBHost ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ❌ Fail
WiFi_Firmware_Driver ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
WiFi_OnOff ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
adsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass
gpdsp_remoteproc ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip
hotplug ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
irq ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
kaslr ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
pinctrl ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
qcom_hwrng ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
rngtest ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
shmbridge ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
smmu ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ✅ Pass ✅ Pass ❌ Fail ✅ Pass
watchdog ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
wpss_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass

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