RE: [PATCH v4 20/23] iommu/tegra241-cmdqv: Simplify deinit flow in tegra241_cmdqv_remove_vintf()

Tian, Kevin
2025-05-15T08:00:52Z

> From: Nicolin Chen <nicolinc@nvidia.com>
> Sent: Friday, May 9, 2025 11:03 AM
>
> The current flow of tegra241_cmdqv_remove_vintf() is:
> 1. For each LVCMDQ, tegra241_vintf_remove_lvcmdq():
> a. Disable the LVCMDQ HW
> b. Release the LVCMDQ SW resource
> 2. For current VINTF, tegra241_vintf_hw_deinit():
> c. Disable all LVCMDQ HWs
> d. Disable VINTF HW
>
> Obviously, the step 1.a and the step 2.c are redundant.
>
> Since tegra241_vintf_hw_deinit() disables all of its LVCMDQ HWs, it could
> simplify the flow in tegra241_cmdqv_remove_vintf() by calling that first:
> 1. For current VINTF, tegra241_vintf_hw_deinit():
> a. Disable all LVCMDQ HWs
> b. Disable VINTF HW
> 2. Release all LVCMDQ SW resources
>
> Drop tegra241_vintf_remove_lvcmdq(), and move
> tegra241_vintf_free_lvcmdq()
> as the new step 2.
>
> Acked-by: Pranjal Shrivastava <praan@google.com>
> Signed-off-by: Nicolin Chen <nicolinc@nvidia.com>

Reviewed-by: Kevin Tian <kevin.tian@intel.com>