From c0907ad08b7b19827afd906c736bdfab5018e7af Mon Sep 17 00:00:00 2001 From: "Isaac J. Manjarres" Date: Thu, 17 Oct 2019 00:01:55 -0700 Subject: [PATCH] iommu/io-pgtable: Deprecate IO_PGTABLE_QUIRK_NO_DMA Now that there are no users of IO_PGTABLE_QUIRK_NO_DMA, deprecate it. Update the Kconfig entry for QCOM_IOMMU_IO_PGTABLE_QUIRKS accordingly. Change-Id: Id815d8d0e07de8245193cbc19436c7db3e831224 Signed-off-by: Isaac J. Manjarres --- drivers/iommu/Kconfig | 5 ++--- include/linux/io-pgtable.h | 10 ++-------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig index 31c67c26594b..7c5fdf384ca8 100644 --- a/drivers/iommu/Kconfig +++ b/drivers/iommu/Kconfig @@ -108,9 +108,8 @@ config QCOM_IOMMU_IO_PGTABLE_QUIRKS help Enables some quirks that are used when creating the IOMMU's page tables for a particular domain for faster translations. - The quirks that are supported deal with allowing for page - tables to be IO-coherent, allowing for page tables to be - saved in the system cache, and disabling the write-allocate + The quirks that are supported deal with allowing for page tables + to be saved in the system cache, and disabling the write-allocate hint when saving page tables in the system cache. If unsure, say N here. diff --git a/include/linux/io-pgtable.h b/include/linux/io-pgtable.h index 6edf92f106b1..9ea96a64d380 100644 --- a/include/linux/io-pgtable.h +++ b/include/linux/io-pgtable.h @@ -109,11 +109,6 @@ struct io_pgtable_cfg { * on unmap, for DMA domains using the flush queue mechanism for * delayed invalidation. * - * IO_PGTABLE_QUIRK_NO_DMA: Guarantees that the tables will only ever - * be accessed by a fully cache-coherent IOMMU or CPU (e.g. for a - * software-emulated IOMMU), such that pagetable updates need not - * be treated as explicit DMA data. - * * IO_PGTABLE_QUIRK_QCOM_USE_UPSTREAM_HINT: Override the attributes * set in TCR for the page table walker. Use attributes specified * by the upstream hw instead. @@ -128,9 +123,8 @@ struct io_pgtable_cfg { #define IO_PGTABLE_QUIRK_TLBI_ON_MAP BIT(2) #define IO_PGTABLE_QUIRK_ARM_MTK_EXT BIT(3) #define IO_PGTABLE_QUIRK_NON_STRICT BIT(4) - #define IO_PGTABLE_QUIRK_NO_DMA BIT(5) - #define IO_PGTABLE_QUIRK_QCOM_USE_UPSTREAM_HINT BIT(6) - #define IO_PGTABLE_QUIRK_QCOM_USE_LLC_NWA BIT(7) + #define IO_PGTABLE_QUIRK_QCOM_USE_UPSTREAM_HINT BIT(5) + #define IO_PGTABLE_QUIRK_QCOM_USE_LLC_NWA BIT(6) unsigned long quirks; unsigned long pgsize_bitmap; unsigned int ias;