Commit ac328da
iommu/arm-smmu-v3: Allow a PASID to be set when RID is IDENTITY/BLOCKED
If the STE doesn't point to the CD table we can upgrade it by
reprogramming the STE with the appropriate S1DSS. We may also need to turn
on ATS at the same time.
Keep track if the installed STE is pointing at the cd_table and the ATS
state to trigger this path.
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Reviewed-by: Jerry Snitselaar <jsnitsel@redhat.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/13-v9-5cd718286059+79186-smmuv3_newapi_p2b_jgg@nvidia.com
Signed-off-by: Will Deacon <will@kernel.org>
(cherry picked from commit 8ee9175)
Signed-off-by: Koba Ko <kobak@nvidia.com>1 parent 5d31699 commit ac328da
2 files changed
+49
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2448 | 2448 | | |
2449 | 2449 | | |
2450 | 2450 | | |
| 2451 | + | |
| 2452 | + | |
| 2453 | + | |
2451 | 2454 | | |
2452 | 2455 | | |
2453 | 2456 | | |
| |||
2808 | 2811 | | |
2809 | 2812 | | |
2810 | 2813 | | |
| 2814 | + | |
| 2815 | + | |
| 2816 | + | |
| 2817 | + | |
| 2818 | + | |
| 2819 | + | |
| 2820 | + | |
| 2821 | + | |
| 2822 | + | |
| 2823 | + | |
| 2824 | + | |
| 2825 | + | |
| 2826 | + | |
| 2827 | + | |
| 2828 | + | |
| 2829 | + | |
| 2830 | + | |
| 2831 | + | |
| 2832 | + | |
| 2833 | + | |
| 2834 | + | |
| 2835 | + | |
| 2836 | + | |
| 2837 | + | |
| 2838 | + | |
2811 | 2839 | | |
2812 | 2840 | | |
2813 | 2841 | | |
2814 | 2842 | | |
| 2843 | + | |
2815 | 2844 | | |
2816 | 2845 | | |
2817 | 2846 | | |
| |||
2828 | 2857 | | |
2829 | 2858 | | |
2830 | 2859 | | |
2831 | | - | |
2832 | | - | |
| 2860 | + | |
| 2861 | + | |
| 2862 | + | |
| 2863 | + | |
2833 | 2864 | | |
2834 | 2865 | | |
2835 | 2866 | | |
| |||
2841 | 2872 | | |
2842 | 2873 | | |
2843 | 2874 | | |
| 2875 | + | |
2844 | 2876 | | |
2845 | 2877 | | |
2846 | 2878 | | |
| |||
2863 | 2895 | | |
2864 | 2896 | | |
2865 | 2897 | | |
| 2898 | + | |
| 2899 | + | |
| 2900 | + | |
| 2901 | + | |
| 2902 | + | |
| 2903 | + | |
| 2904 | + | |
| 2905 | + | |
| 2906 | + | |
| 2907 | + | |
| 2908 | + | |
| 2909 | + | |
| 2910 | + | |
2866 | 2911 | | |
2867 | 2912 | | |
2868 | 2913 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
705 | 705 | | |
706 | 706 | | |
707 | 707 | | |
708 | | - | |
| 708 | + | |
| 709 | + | |
709 | 710 | | |
710 | 711 | | |
711 | 712 | | |
| |||
0 commit comments