[PATCH v7 2/6] iommu/arm-smmu-v3: Issue a batch of commands to the same cmdq

Jason Gunthorpe jgg at nvidia.com
Sun May 12 08:34:07 PDT 2024


On Tue, May 07, 2024 at 10:56:50PM -0700, Nicolin Chen wrote:
> The driver calls in different places the arm_smmu_get_cmdq() helper, and
> it's fine to do so since the helper always returns the single SMMU CMDQ.
> However, with NVIDIA CMDQV extension or SMMU ECMDQ, there can be multiple
> cmdqs in the system to select one from. And either case requires a batch
> of commands to be issued to the same cmdq. Thus, a cmdq has to be decided
> in the higher-level callers.
> 
> Add a cmdq pointer in arm_smmu_cmdq_batch structure, and decide the cmdq
> when initializing the batch. Pass it down to the bottom function. Update
> __arm_smmu_cmdq_issue_cmd() accordingly for single command issuers.
> 
> Suggested-by: Jason Gunthorpe <jgg at nvidia.com>
> Signed-off-by: Nicolin Chen <nicolinc at nvidia.com>
> ---
>  drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 44 +++++++++++++--------
>  drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h |  1 +
>  2 files changed, 29 insertions(+), 16 deletions(-)

Reviewed-by: Jason Gunthorpe <jgg at nvidia.com>

Jason



More information about the linux-arm-kernel mailing list