Skip to content

enable kvm feature for the venus on Talos#580

Open
renjiang-qti wants to merge 3 commits into
qualcomm-linux:qcom-6.18.yfrom
renjiang-qti:qcom-6.18.y
Open

enable kvm feature for the venus on Talos#580
renjiang-qti wants to merge 3 commits into
qualcomm-linux:qcom-6.18.yfrom
renjiang-qti:qcom-6.18.y

Conversation

@renjiang-qti
Copy link
Copy Markdown

On platforms where PAS is available, firmware authentication and reset
are performed via the secure world, while IOMMU configuration may be
handled either by Linux or outside of it.
Extend the Venus firmware flow to support both PAS and non-PAS setups.

The logic for creating the firmware device in the Venus driver was originally implemented by referring to the Iris driver.
However, based on the latest feedback from the community, the Iris driver is expected to create devices by implementing a proper bus_type. Iris driver will update the patch. As a result, the Venus driver needs to be updated to align with the Iris driver accordingly.

For the DT part, due to the following changes, the iommu-map configuration can no longer use 4 cells. This introduces a new compatibility issue. Vijayanand is planning to address this, and once iommu-map supports the 4-cell format again, the DT changes will be updated and resubmitted to upstream.

00e90ec FROMLIST: of: Respect #{iommu,msi}-cells in maps
1e6e503 FROMLIST: of: Factor arguments passed to of_map_id() into a struct
d47bb88 FROMLIST: of: Add convenience wrappers for of_map_id()

https://jira-dc.qualcomm.com/jira/browse/QLIJIRA-109
CRs-Fixed: 4534570

Renjiang Han added 3 commits May 13, 2026 17:04
Add optional iommu-map property to the Qualcomm Venus video codec
binding to describe IOMMU stream IDs for additional functional
blocks exposed by the hardware.

Update the example to show how the firmware stream can be mapped
to an SMMU stream ID using a function identifier.

Signed-off-by: Renjiang Han <renjiang.han@oss.qualcomm.com>
…ling

On platforms where PAS is available, firmware authentication and reset
are performed via the secure world, while IOMMU configuration may be
handled either by Linux or outside of it.

Extend the Venus firmware flow to support both PAS and non-PAS setups.

When PAS is available, load the firmware using a PAS context and trigger
the prepare/auth/reset sequence. If the firmware device is IOMMU-mapped,
use its IOMMU domain to map the reserved firmware memory before reset;
otherwise, retain the existing secure-world-managed behavior.

When PAS is not available, fall back to the existing non-PAS firmware
loading path where Linux performs firmware loading and IOMMU mapping.

The firmware stream ID is described via the iommu-map function identifier
in the device tree.

Signed-off-by: Renjiang Han <renjiang.han@oss.qualcomm.com>
Enable video codec on Talos in the EL2 configuration and describe the
firmware IOMMU mapping using the iommu-map property.

Signed-off-by: Renjiang Han <renjiang.han@oss.qualcomm.com>
@renjiang-qti renjiang-qti requested review from a team, knaveen-qc, quicAspratap and rrnayak May 13, 2026 11:57
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.

1 participant