Re: [PATCH 6/8] iommu/dart: Move the blocked domain support to a global static
From: Jason Gunthorpe <jgg@nvidia.com>
Date: 2023-09-27 13:00:00
Also in:
asahi, linux-arm-kernel, linux-iommu
From: Jason Gunthorpe <jgg@nvidia.com>
Date: 2023-09-27 13:00:00
Also in:
asahi, linux-arm-kernel, linux-iommu
On Tue, Sep 26, 2023 at 09:05:08PM +0200, Janne Grunau wrote:
quoted
+static int apple_dart_attach_dev_blocked(struct iommu_domain *domain, + struct device *dev) +{ + struct apple_dart_master_cfg *cfg = dev_iommu_priv_get(dev); + struct apple_dart_stream_map *stream_map; + int i; + + if (cfg->stream_maps[0].dart->force_bypass) + return -EINVAL;unrelated to this change as this keeps the current behavior but I think force_bypass should not override IOMMU_DOMAIN_BLOCKED.
That would be great, dart is the only driver that can fail blocked..
It is set if the CPU page size is smaller than dart's page size. Obviously dart can't translate in that situation but it should be still possible to block it completely.
Wonderful, actually it probably shouldn't even support allocating a paging domain if it can't support PAGE_SIZE mappings?
How do we manage this? I can write a patch either to the current state or based on this series.
Let me just add a patch to this series to remove that test with your explanation, that will avoid patch ordering troubles. Thanks, Jason