iommu/vt-d: Clean up pasid_enabled() and ecs_enabled() dependencies
authorDavid Woodhouse <David.Woodhouse@intel.com>
Sat, 24 Oct 2015 19:33:01 +0000 (21:33 +0200)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Sat, 24 Oct 2015 19:33:01 +0000 (21:33 +0200)
commitd42fde70849c5ba2f00c37a0666305eb507a47b8
treedabb3105f22d8a54bb39512e9d31f4d18d74fc45
parent5a10ba27d963bc79d6ac2e4996cdbb012195c306
iommu/vt-d: Clean up pasid_enabled() and ecs_enabled() dependencies

When booted with intel_iommu=ecs_off we were still allocating the PASID
tables even though we couldn't actually use them. We really want to make
the pasid_enabled() macro depend on ecs_enabled().

Which is unfortunate, because currently they're the other way round to
cope with the Broadwell/Skylake problems with ECS.

Instead of having ecs_enabled() depend on pasid_enabled(), which was never
something that made me happy anyway, make it depend in the normal case
on the "broken PASID" bit 28 *not* being set.

Then pasid_enabled() can depend on ecs_enabled() as it should. And we also
don't need to mess with it if we ever see an implementation that has some
features requiring ECS (like PRI) but which *doesn't* have PASID support.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/iommu/intel-iommu.c
This page took 0.024196 seconds and 5 git commands to generate.