Advertisement
jglathe

Untitled

Jun 1st, 2024
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.04 KB | None | 0 0
  1. commit 2bd5059c6cc04b02073d4d9f57137ab74e1d8e7a
  2. Merge: a38297e3fb012 209516caff7b0 da55da5a42d42 de111f6b4f6a3 8b80549f1bc69 ba00196ca41c4
  3. Author: Joerg Roedel <[email protected]>
  4. Date: Mon May 13 14:06:54 2024 +0200
  5.  
  6. Merge branches 'arm/renesas', 'arm/smmu', 'x86/amd', 'core' and 'x86/vt-d' into next
  7.  
  8. commit da55da5a42d4247d7a48b843fa5fcd9a4a10f4fe
  9. Author: Jason Gunthorpe <[email protected]>
  10. Date: Tue May 7 10:21:10 2024 -0300
  11.  
  12. iommu/arm-smmu-v3: Make the kunit into a module
  13.  
  14. It turns out kconfig has problems ensuring the SMMU module and the KUNIT
  15. module are consistently y/m to allow linking. It will permit KUNIT to be a
  16. module while SMMU is built in.
  17.  
  18. Also, Fedora apparently enables kunit on production kernels.
  19.  
  20. So, put the entire kunit in its own module using the
  21. VISIBLE_IF_KUNIT/EXPORT_SYMBOL_IF_KUNIT machinery. This keeps it out of
  22. vmlinus on Fedora and makes the kconfig work in the normal way. There is
  23. no cost if kunit is disabled.
  24.  
  25. Fixes: 56e1a4cc2588 ("iommu/arm-smmu-v3: Add unit tests for arm_smmu_write_entry")
  26. Reported-by: Thorsten Leemhuis <[email protected]>
  27. Link: https://lore.kernel.org/all/[email protected]
  28. Signed-off-by: Jason Gunthorpe <[email protected]>
  29. Tested-by: Thorsten Leemhuis <[email protected]>
  30. Acked-by: Will Deacon <[email protected]>
  31. Link: https://lore.kernel.org/r/[email protected]
  32. Signed-off-by: Joerg Roedel <[email protected]>
  33.  
  34. drivers/iommu/arm/arm-smmu-v3/Makefile | 3 ++-
  35. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 1 +
  36. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.c | 3 +++
  37. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 8 ++++++++
  38. 4 files changed, 14 insertions(+), 1 deletion(-)
  39.  
  40. commit 56e1a4cc2588a7cb9664457a62fd7a77e005aa01
  41. Author: Jason Gunthorpe <[email protected]>
  42. Date: Tue Apr 30 14:21:41 2024 -0300
  43.  
  44. iommu/arm-smmu-v3: Add unit tests for arm_smmu_write_entry
  45.  
  46. Add tests for some of the more common STE update operations that we expect
  47. to see, as well as some artificial STE updates to test the edges of
  48. arm_smmu_write_entry. These also serve as a record of which common
  49. operation is expected to be hitless, and how many syncs they require.
  50.  
  51. arm_smmu_write_entry implements a generic algorithm that updates an STE/CD
  52. to any other abritrary STE/CD configuration. The update requires a
  53. sequence of write+sync operations with some invariants that must be held
  54. true after each sync. arm_smmu_write_entry lends itself well to
  55. unit-testing since the function's interaction with the STE/CD is already
  56. abstracted by input callbacks that we can hook to introspect into the
  57. sequence of operations. We can use these hooks to guarantee that
  58. invariants are held throughout the entire update operation.
  59.  
  60. Link: https://lore.kernel.org/r/[email protected]
  61. Tested-by: Nicolin Chen <[email protected]>
  62. Signed-off-by: Michael Shavit <[email protected]>
  63. Signed-off-by: Jason Gunthorpe <[email protected]>
  64. Link: https://lore.kernel.org/r/[email protected]
  65. Signed-off-by: Will Deacon <[email protected]>
  66.  
  67. drivers/iommu/arm/arm-smmu-v3/Makefile | 1 +
  68. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 8 +-
  69. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-test.c | 465 +++++++++++++++++++++++
  70. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 43 +--
  71. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 30 ++
  72. 5 files changed, 521 insertions(+), 26 deletions(-)
  73.  
  74. commit 04905c17f64890311e6b5a5065d8c220602712e5
  75. Author: Jason Gunthorpe <[email protected]>
  76. Date: Tue Apr 30 14:21:40 2024 -0300
  77.  
  78. iommu/arm-smmu-v3: Build the whole CD in arm_smmu_make_s1_cd()
  79.  
  80. Half the code was living in arm_smmu_domain_finalise_s1(), just move it
  81. here and take the values directly from the pgtbl_ops instead of storing
  82. copies.
  83.  
  84. Tested-by: Nicolin Chen <[email protected]>
  85. Tested-by: Shameer Kolothum <[email protected]>
  86. Reviewed-by: Michael Shavit <[email protected]>
  87. Reviewed-by: Mostafa Saleh <[email protected]>
  88. Reviewed-by: Nicolin Chen <[email protected]>
  89. Signed-off-by: Jason Gunthorpe <[email protected]>
  90. Link: https://lore.kernel.org/r/[email protected]
  91. Signed-off-by: Will Deacon <[email protected]>
  92.  
  93. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 47 +++++++++++------------------
  94. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 3 --
  95. 2 files changed, 18 insertions(+), 32 deletions(-)
  96.  
  97. commit 7b87c93c8b86d9d9b9567d83f0ca3d3046fdfc5a
  98. Author: Jason Gunthorpe <[email protected]>
  99. Date: Tue Apr 30 14:21:39 2024 -0300
  100.  
  101. iommu/arm-smmu-v3: Move the CD generation for SVA into a function
  102.  
  103. Pull all the calculations for building the CD table entry for a mmu_struct
  104. into arm_smmu_make_sva_cd().
  105.  
  106. Call it in the two places installing the SVA CD table entry.
  107.  
  108. Open code the last caller of arm_smmu_update_ctx_desc_devices() and remove
  109. the function.
  110.  
  111. Remove arm_smmu_write_ctx_desc() since all callers are gone. Add the
  112. locking assertions to arm_smmu_alloc_cd_ptr() since
  113. arm_smmu_update_ctx_desc_devices() was the last problematic caller.
  114.  
  115. Remove quiet_cd since all users are gone, arm_smmu_make_sva_cd() creates
  116. the same value.
  117.  
  118. The behavior of quiet_cd changes slightly, the old implementation edited
  119. the CD in place to set CTXDESC_CD_0_TCR_EPD0 assuming it was a SVA CD
  120. entry. This version generates a full CD entry with a 0 TTB0 and relies on
  121. arm_smmu_write_cd_entry() to install it hitlessly.
  122.  
  123. Tested-by: Nicolin Chen <[email protected]>
  124. Tested-by: Shameer Kolothum <[email protected]>
  125. Reviewed-by: Nicolin Chen <[email protected]>
  126. Signed-off-by: Jason Gunthorpe <[email protected]>
  127. Link: https://lore.kernel.org/r/[email protected]
  128. Signed-off-by: Will Deacon <[email protected]>
  129.  
  130. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 155 +++++++++++++++---------
  131. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 77 ++----------
  132. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 7 +-
  133. 3 files changed, 107 insertions(+), 132 deletions(-)
  134.  
  135. commit 13abe4faac4348da0cf1c4eeb2b1b39fcfdb4b8f
  136. Author: Jason Gunthorpe <[email protected]>
  137. Date: Tue Apr 30 14:21:38 2024 -0300
  138.  
  139. iommu/arm-smmu-v3: Allocate the CD table entry in advance
  140.  
  141. Avoid arm_smmu_attach_dev() having to undo the changes to the
  142. smmu_domain->devices list, acquire the cdptr earlier so we don't need to
  143. handle that error.
  144.  
  145. Now there is a clear break in arm_smmu_attach_dev() where all the
  146. prep-work has been done non-disruptively and we commit to making the HW
  147. change, which cannot fail.
  148.  
  149. This completes transforming arm_smmu_attach_dev() so that it does not
  150. disturb the HW if it fails.
  151.  
  152. Tested-by: Nicolin Chen <[email protected]>
  153. Tested-by: Shameer Kolothum <[email protected]>
  154. Reviewed-by: Michael Shavit <[email protected]>
  155. Reviewed-by: Nicolin Chen <[email protected]>
  156. Reviewed-by: Mostafa Saleh <[email protected]>
  157. Signed-off-by: Jason Gunthorpe <[email protected]>
  158. Link: https://lore.kernel.org/r/[email protected]
  159. Signed-off-by: Will Deacon <[email protected]>
  160.  
  161. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 24 ++++++++----------------
  162. 1 file changed, 8 insertions(+), 16 deletions(-)
  163.  
  164. commit b2f4c0fcf094dacd2d1fb96a6fd6598919501589
  165. Author: Jason Gunthorpe <[email protected]>
  166. Date: Tue Apr 30 14:21:37 2024 -0300
  167.  
  168. iommu/arm-smmu-v3: Make arm_smmu_alloc_cd_ptr()
  169.  
  170. Only the attach callers can perform an allocation for the CD table entry,
  171. the other callers must not do so, they do not have the correct locking and
  172. they cannot sleep. Split up the functions so this is clear.
  173.  
  174. arm_smmu_get_cd_ptr() will return pointer to a CD table entry without
  175. doing any kind of allocation.
  176.  
  177. arm_smmu_alloc_cd_ptr() will allocate the table and any required
  178. leaf.
  179.  
  180. A following patch will add lockdep assertions to arm_smmu_alloc_cd_ptr()
  181. once the restructuring is completed and arm_smmu_alloc_cd_ptr() is never
  182. called in the wrong context.
  183.  
  184. Tested-by: Nicolin Chen <[email protected]>
  185. Reviewed-by: Nicolin Chen <[email protected]>
  186. Signed-off-by: Jason Gunthorpe <[email protected]>
  187. Link: https://lore.kernel.org/r/[email protected]
  188. Signed-off-by: Will Deacon <[email protected]>
  189.  
  190. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 59 +++++++++++++++++++----------
  191. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 3 +-
  192. 2 files changed, 39 insertions(+), 23 deletions(-)
  193.  
  194. commit af8f0b83ea2bcc7cd365c32044f31bdadc07c351
  195. Author: Jason Gunthorpe <[email protected]>
  196. Date: Tue Apr 30 14:21:36 2024 -0300
  197.  
  198. iommu/arm-smmu-v3: Consolidate clearing a CD table entry
  199.  
  200. A cleared entry is all 0's. Make arm_smmu_clear_cd() do this sequence.
  201.  
  202. If we are clearing an entry and for some reason it is not already
  203. allocated in the CD table then something has gone wrong.
  204.  
  205. Remove case (5) from arm_smmu_write_ctx_desc().
  206.  
  207. Tested-by: Nicolin Chen <[email protected]>
  208. Tested-by: Shameer Kolothum <[email protected]>
  209. Reviewed-by: Michael Shavit <[email protected]>
  210. Reviewed-by: Nicolin Chen <[email protected]>
  211. Reviewed-by: Moritz Fischer <[email protected]>
  212. Reviewed-by: Mostafa Saleh <[email protected]>
  213. Signed-off-by: Jason Gunthorpe <[email protected]>
  214. Link: https://lore.kernel.org/r/[email protected]
  215. Signed-off-by: Will Deacon <[email protected]>
  216.  
  217. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 2 +-
  218. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 26 +++++++++++++++----------
  219. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 1 +
  220. 3 files changed, 18 insertions(+), 11 deletions(-)
  221.  
  222. commit e9d1e4ff74b96cf180d04be38541a245c8c574c1
  223. Author: Jason Gunthorpe <[email protected]>
  224. Date: Tue Apr 30 14:21:35 2024 -0300
  225.  
  226. iommu/arm-smmu-v3: Move the CD generation for S1 domains into a function
  227.  
  228. Introduce arm_smmu_make_s1_cd() to build the CD from the paging S1 domain,
  229. and reorganize all the places programming S1 domain CD table entries to
  230. call it.
  231.  
  232. Split arm_smmu_update_s1_domain_cd_entry() from
  233. arm_smmu_update_ctx_desc_devices() so that the S1 path has its own call
  234. chain separate from the unrelated SVA path.
  235.  
  236. arm_smmu_update_s1_domain_cd_entry() only works on S1 domains attached to
  237. RIDs and refreshes all their CDs. Remove case (3) from
  238. arm_smmu_write_ctx_desc() as it is now handled by directly calling
  239. arm_smmu_write_cd_entry().
  240.  
  241. Remove the forced clear of the CD during S1 domain attach,
  242. arm_smmu_write_cd_entry() will do this automatically if necessary.
  243.  
  244. Tested-by: Nicolin Chen <[email protected]>
  245. Tested-by: Shameer Kolothum <[email protected]>
  246. Reviewed-by: Michael Shavit <[email protected]>
  247. Reviewed-by: Nicolin Chen <[email protected]>
  248. Reviewed-by: Mostafa Saleh <[email protected]>
  249. Signed-off-by: Jason Gunthorpe <[email protected]>
  250. Link: https://lore.kernel.org/r/[email protected]
  251. [will: Drop unused arm_smmu_clean_cd_entry() function]
  252. Signed-off-by: Will Deacon <[email protected]>
  253.  
  254. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 25 ++++++++-
  255. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 71 +++++++++++++++----------
  256. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 9 ++++
  257. 3 files changed, 76 insertions(+), 29 deletions(-)
  258.  
  259. commit 78a5fbe8395b365d58142ff9b7a6aeb556481a1f
  260. Author: Jason Gunthorpe <[email protected]>
  261. Date: Tue Apr 30 14:21:34 2024 -0300
  262.  
  263. iommu/arm-smmu-v3: Make CD programming use arm_smmu_write_entry()
  264.  
  265. CD table entries and STE's have the same essential programming sequence,
  266. just with different types. Use the new ops indirection to link CD
  267. programming to the common writer.
  268.  
  269. In a few more patches all CD writers will call an appropriate make
  270. function and then directly call arm_smmu_write_cd_entry().
  271. arm_smmu_write_ctx_desc() will be removed.
  272.  
  273. Until then lightly tweak arm_smmu_write_ctx_desc() to also use the new
  274. programmer by using the same logic as right now to build the target CD on
  275. the stack, sanitizing it to meet the used rules, and then using the
  276. writer.
  277.  
  278. Sanitizing is necessary because the writer expects that the currently
  279. programmed CD follows the used rules. Next patches add new make functions
  280. and new direct calls to arm_smmu_write_cd_entry() which will require this.
  281.  
  282. Signed-off-by: Michael Shavit <[email protected]>
  283. Tested-by: Nicolin Chen <[email protected]>
  284. Tested-by: Shameer Kolothum <[email protected]>
  285. Reviewed-by: Moritz Fischer <[email protected]>
  286. Reviewed-by: Nicolin Chen <[email protected]>
  287. Signed-off-by: Jason Gunthorpe <[email protected]>
  288. Link: https://lore.kernel.org/r/[email protected]
  289. Signed-off-by: Will Deacon <[email protected]>
  290.  
  291. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 89 ++++++++++++++++++++++-------
  292. 1 file changed, 67 insertions(+), 22 deletions(-)
  293.  
  294. commit de31c355541286aa4c938c982dfcafbf062fcb93
  295. Author: Jason Gunthorpe <[email protected]>
  296. Date: Tue Apr 30 14:21:33 2024 -0300
  297.  
  298. iommu/arm-smmu-v3: Add an ops indirection to the STE code
  299.  
  300. Prepare to put the CD code into the same mechanism. Add an ops indirection
  301. around all the STE specific code and make the worker functions independent
  302. of the entry content being processed.
  303.  
  304. get_used and sync ops are provided to hook the correct code.
  305.  
  306. Signed-off-by: Michael Shavit <[email protected]>
  307. Reviewed-by: Michael Shavit <[email protected]>
  308. Reviewed-by: Nicolin Chen <[email protected]>
  309. Tested-by: Nicolin Chen <[email protected]>
  310. Tested-by: Shameer Kolothum <[email protected]>
  311. Signed-off-by: Jason Gunthorpe <[email protected]>
  312. Link: https://lore.kernel.org/r/[email protected]
  313. Signed-off-by: Will Deacon <[email protected]>
  314.  
  315. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 176 ++++++++++++++++------------
  316. 1 file changed, 104 insertions(+), 72 deletions(-)
  317.  
  318. commit 80fea979dd9d48d67c5b48d2f690c5da3e543ebd
  319. Author: Aleksandr Aprelkov <[email protected]>
  320. Date: Wed Apr 3 12:37:59 2024 +0700
  321.  
  322. iommu/arm-smmu-v3: Free MSIs in case of ENOMEM
  323.  
  324. If devm_add_action() returns -ENOMEM, then MSIs are allocated but not
  325. not freed on teardown. Use devm_add_action_or_reset() instead to keep
  326. the static analyser happy.
  327.  
  328. Found by Linux Verification Center (linuxtesting.org) with SVACE.
  329.  
  330. Signed-off-by: Aleksandr Aprelkov <[email protected]>
  331. Link: https://lore.kernel.org/r/[email protected]
  332. [will: Tweak commit message, remove warning message]
  333. Signed-off-by: Will Deacon <[email protected]>
  334.  
  335. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 2 +-
  336. 1 file changed, 1 insertion(+), 1 deletion(-)
  337.  
  338. commit d2f85a263883b679f87ed8f911746105658e9c47
  339. Author: Yi Liu <[email protected]>
  340. Date: Thu Mar 28 05:29:58 2024 -0700
  341.  
  342. iommu: Pass domain to remove_dev_pasid() op
  343.  
  344. Existing remove_dev_pasid() callbacks of the underlying iommu drivers
  345. get the attached domain from the group->pasid_array. However, the domain
  346. stored in group->pasid_array is not always correct in all scenarios.
  347. A wrong domain may result in failure in remove_dev_pasid() callback.
  348. To avoid such problems, it is more reliable to pass the domain to the
  349. remove_dev_pasid() op.
  350.  
  351. Suggested-by: Jason Gunthorpe <[email protected]>
  352. Signed-off-by: Yi Liu <[email protected]>
  353. Reviewed-by: Kevin Tian <[email protected]>
  354. Link: https://lore.kernel.org/r/[email protected]
  355. Signed-off-by: Joerg Roedel <[email protected]>
  356.  
  357. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 9 ++-------
  358. 1 file changed, 2 insertions(+), 7 deletions(-)
  359.  
  360. commit e8e4398d53f98be7ac48e0bda9ea6e26df24136d
  361. Author: Jason Gunthorpe <[email protected]>
  362. Date: Wed Mar 27 15:07:51 2024 -0300
  363.  
  364. iommu/arm-smmu-v3: Add a type for the CD entry
  365.  
  366. Instead of passing a naked __le16 * around to represent a CD table entry
  367. wrap it in a "struct arm_smmu_cd" with an array of the correct size. This
  368. makes it much clearer which functions will comprise the "CD API".
  369.  
  370. Tested-by: Nicolin Chen <[email protected]>
  371. Tested-by: Shameer Kolothum <[email protected]>
  372. Reviewed-by: Michael Shavit <[email protected]>
  373. Reviewed-by: Moritz Fischer <[email protected]>
  374. Reviewed-by: Nicolin Chen <[email protected]>
  375. Reviewed-by: Mostafa Saleh <[email protected]>
  376. Signed-off-by: Jason Gunthorpe <[email protected]>
  377. Link: https://lore.kernel.org/r/[email protected]
  378. Signed-off-by: Will Deacon <[email protected]>
  379.  
  380. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 20 +++++++++++---------
  381. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 7 ++++++-
  382. 2 files changed, 17 insertions(+), 10 deletions(-)
  383.  
  384. commit 86e5ca098dd9f8c5b80a6205395aea0535018837
  385. Author: Jason Gunthorpe <[email protected]>
  386. Date: Wed Mar 27 15:07:50 2024 -0300
  387.  
  388. iommu/arm-smmu-v3: Do not ATC invalidate the entire domain
  389.  
  390. At this point we know which master we are going to change the PCI config
  391. on, this is the only device we need to invalidate. Switch
  392. arm_smmu_atc_inv_domain() for arm_smmu_atc_inv_master().
  393.  
  394. Tested-by: Nicolin Chen <[email protected]>
  395. Tested-by: Shameer Kolothum <[email protected]>
  396. Reviewed-by: Michael Shavit <[email protected]>
  397. Reviewed-by: Nicolin Chen <[email protected]>
  398. Reviewed-by: Moritz Fischer <[email protected]>
  399. Reviewed-by: Mostafa Saleh <[email protected]>
  400. Signed-off-by: Jason Gunthorpe <[email protected]>
  401. Link: https://lore.kernel.org/r/[email protected]
  402. Signed-off-by: Will Deacon <[email protected]>
  403.  
  404. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 5 ++++-
  405. 1 file changed, 4 insertions(+), 1 deletion(-)
  406.  
  407. commit fdc69d39e77f88264ee6e8174ff9aaf0953aecd9
  408. Author: Jason Gunthorpe <[email protected]>
  409. Date: Wed Mar 27 15:07:49 2024 -0300
  410.  
  411. iommu/arm-smmu-v3: Do not allow a SVA domain to be set on the wrong PASID
  412.  
  413. The SVA code is wired to assume that the SVA is programmed onto the
  414. mm->pasid. The current core code always does this, so it is fine.
  415.  
  416. Add a check for clarity.
  417.  
  418. Tested-by: Nicolin Chen <[email protected]>
  419. Tested-by: Shameer Kolothum <[email protected]>
  420. Signed-off-by: Jason Gunthorpe <[email protected]>
  421. Link: https://lore.kernel.org/r/[email protected]
  422. Signed-off-by: Will Deacon <[email protected]>
  423.  
  424. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 3 +++
  425. 1 file changed, 3 insertions(+)
  426.  
  427. commit 734554fdfce6731b22f0777ec3f1e4a853354883
  428. Author: Robin Murphy <[email protected]>
  429. Date: Fri Apr 5 17:52:07 2024 +0100
  430.  
  431. iommu/arm-smmu-v3: Retire disable_bypass parameter
  432.  
  433. The disable_bypass parameter has been mostly meaningless for a long time
  434. since the introduction of default domains. Its original intent is now
  435. fulfilled by the controls users have over the default domain type, and
  436. its remaining effect in the brief window between Stream Table
  437. initialisation and default domain creation hardly seems worth the
  438. complication. Furthermore, thanks to 2-level Stream Tables, disabling
  439. disable_bypass (there's another reason not to like it right there) has
  440. never guaranteed that any particular StreamID *will* bypass anyway - any
  441. device which might actually care about that wants RMRs - so there's not
  442. really much lost by taking away that option (which has already been
  443. non-default for nearing 6 years now).
  444.  
  445. As part of this, also remove the weird behaviour where we "successfully"
  446. probe and register a non-functional SMMU if the DT "#iommu-cells"
  447. property is wrong. I have no memory of what possessed me to think that
  448. was a good idea at the time, and by now I suspect it's likely to break
  449. things worse than simply failing probe would.
  450.  
  451. Signed-off-by: Robin Murphy <[email protected]>
  452. Reviewed-by: Mostafa Saleh <[email protected]>
  453. Link: https://lore.kernel.org/r/ea3ac4cd595a81b5511729601b2f7d4668178438.1712335927.git.robin.murphy@arm.com
  454. Signed-off-by: Will Deacon <[email protected]>
  455.  
  456. drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 46 ++++++++---------------------
  457. 1 file changed, 13 insertions(+), 33 deletions(-)
Tags: arm smmu-v3
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement