iommu/arm-smmu: Add interconnect bandwidth voting support#575
Open
bibekpatro wants to merge 3 commits into
Open
iommu/arm-smmu: Add interconnect bandwidth voting support#575bibekpatro wants to merge 3 commits into
bibekpatro wants to merge 3 commits into
Conversation
Some SoC implementations require a bandwidth vote on an interconnect path before the SMMU register space is accessible. Add the optional 'interconnects' and 'interconnect-names' properties to the binding to allow platform DT nodes to describe this path. The arm-smmu driver uses these properties to vote for bandwidth before accessing any SMMU registers and releases the vote on runtime suspend. Signed-off-by: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
iommu/arm-smmu: Add interconnect bandwidth voting support On some SoCs the SMMU registers are only accessible once the interconnect path described by the SMMU device node is enabled. If no bandwidth vote is in place, early register accesses (e.g. ID register reads during probe) can fail. Add support for an optional interconnect path to the arm-smmu driver and vote for bandwidth while the SMMU is active. The path is acquired from DT if present and ignored otherwise. The bandwidth vote is enabled before accessing SMMU registers during probe and runtime resume, and released during runtime suspend and on error paths. Signed-off-by: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
The GPU SMMU (adreno_smmu) on sc7280 requires a bandwidth vote on the gem_noc MASTER_GPU_TCU -> mc_virt SLAVE_EBI1 path before its registers can be accessed. Without this vote the SMMU is unreachable, leading to probe failures when the driver reads the ID registers. Add the interconnect path to the adreno_smmu node so the arm-smmu driver can acquire and vote it during probe and runtime resume/suspend. Signed-off-by: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
Contributor
|
@bibekpatro is this change intended for QLI2.0 ? If yes please send PR to qcom-6.18.y branch |
Author
It is intended to send to LKML arm-smmu list first, then can be pulled into QLI2.0 branches, so to create a reference of the changes raised the PR for now here, till I post the patches to the LKML forum. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add interconnect bandwidth voting support and related DT bindings, along with the corresponding dt entries for Qcom's Kodiak based platforms.