Messages in this thread |  | | Date | Tue, 11 Feb 2025 14:20:52 -0500 | | From | Alyssa Rosenzweig <> | | Subject | Re: [PATCH 5/5] iommu/dart: Assert !locked when configuring |
| |
> > Configuration is only possible and needed for non-locked DARTs and will > > fail for locked DARTs. We cannot try -- assert that we do not. > > Except now we absolutely will - if a locked DART and its client device are > advertised to Linux, instead of gracefully refusing to touch it, we'll now > attach the client to a DMA domain, firing a barrage of multiple WARNs in the > process, and give it DMA ops which still cannot work. I'm not really > convinced this series on its own leaves us in a better position than we're > already in now... :/
Fair point, thanks for raising that. "Fortunately" the upstream DTs don't describe any locked DARTs yet.
> How hideous is the rest of what's required to actually make this usable?
It isn't... pretty, and it's going to be ugly no matter how we slice it. Unfortunately the display controller DARTs really are locked so our hands are tied here.
When I originally wrote these patches I had some hideous hack in the shared page table code. I'm thrilled to see that Janne rewrote that code to be local to apple-dart.c, at least: https://github.com/AsahiLinux/linux/commit/d90cc3590ea460e1c574b4b7c47fdafb2794af6a
I'll include that patch with v2, which makes the locked DARTs actually usable, and restructure the series so we only probe after that commit is there.
|  |