mirror of
https://github.com/torvalds/linux.git
synced 2024-09-21 07:23:06 +00:00
e2a4b29478
Every IOMMU driver should be able to implement the needed iommu domain ops to control dirty tracking. Connect a hw_pagetable to the IOMMU core dirty tracking ops, specifically the ability to enable/disable dirty tracking on an IOMMU domain (hw_pagetable id). To that end add an io_pagetable kernel API to toggle dirty tracking: * iopt_set_dirty_tracking(iopt, [domain], state) The intended caller of this is via the hw_pagetable object that is created. Internally it will ensure the leftover dirty state is cleared /right before/ dirty tracking starts. This is also useful for iommu drivers which may decide that dirty tracking is always-enabled at boot without wanting to toggle dynamically via corresponding iommu domain op. Link: https://lore.kernel.org/r/20231024135109.73787-7-joao.m.martins@oracle.com Signed-off-by: Joao Martins <joao.m.martins@oracle.com> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Reviewed-by: Kevin Tian <kevin.tian@intel.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> |
||
---|---|---|
.. | ||
device.c | ||
double_span.h | ||
hw_pagetable.c | ||
io_pagetable.c | ||
io_pagetable.h | ||
ioas.c | ||
iommufd_private.h | ||
iommufd_test.h | ||
iova_bitmap.c | ||
Kconfig | ||
main.c | ||
Makefile | ||
pages.c | ||
selftest.c | ||
vfio_compat.c |