iommu/vtd: Cleanup dma_remapping.h header
Subsystems (7)
PATCH v2 1/1 iommu/vtd: Cleanup dma_remapping.h header
Commit e61d98d8dad00 ("x64, x2apic/intr-remap: Intel vt-d, IOMMU code reorganization") moved dma_remapping.h from drivers/pci/ to current place. It is entirely VT-d specific, but uses a generic name. This merges dma_remapping.h with include/linux/intel-iommu.h and removes dma_remapping.h as the result.
--- arch/x86/kernel/tboot.c | 2 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 +- drivers/gpu/drm/i915/intel_display.c | 2 +- drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 2 +- drivers/misc/mic/scif/scif_rma.c | 2 +- drivers/misc/mic/scif/scif_rma.h | 2 +- include/linux/dma_remapping.h | 58 ---------------------- include/linux/intel-iommu.h | 49 +++++++++++++++++- 8 files changed, 53 insertions(+), 66 deletions(-) delete mode 100644 include/linux/dma_remapping.h
arch/x86/kernel/tboot.c +1 -1
@@ -19,7 +19,7 @@* */ -#include <linux/dma_remapping.h> +#include <linux/intel-iommu.h> #include <linux/init_task.h> #include <linux/spinlock.h> #include <linux/export.h>
drivers/gpu/drm/i915/i915_gem_execbuffer.c +1 -1
@@ -26,7 +26,7 @@* */ -#include <linux/dma_remapping.h> +#include <linux/intel-iommu.h> #include <linux/reservation.h> #include <linux/sync_file.h> #include <linux/uaccess.h>
drivers/gpu/drm/i915/intel_display.c +1 -1
@@ -47,7 +47,7 @@#include <drm/drm_plane_helper.h> #include <drm/drm_rect.h> #include <drm/drm_atomic_uapi.h> -#include <linux/dma_remapping.h> +#include <linux/intel-iommu.h> #include <linux/reservation.h> /* Primary plane formats for gen <= 3 */
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c +1 -1
@@ -34,7 +34,7 @@#include <drm/ttm/ttm_placement.h> #include <drm/ttm/ttm_bo_driver.h> #include <drm/ttm/ttm_module.h> -#include <linux/dma_remapping.h> +#include <linux/intel-iommu.h> #define VMWGFX_DRIVER_DESC "Linux drm driver for VMware graphics devices"#define VMWGFX_CHIP_SVGAII 0
drivers/misc/mic/scif/scif_rma.c +1 -1
@@ -15,7 +15,7 @@* Intel SCIF driver. * */ -#include <linux/dma_remapping.h> +#include <linux/intel-iommu.h> #include <linux/pagemap.h> #include <linux/sched/mm.h> #include <linux/sched/signal.h>
drivers/misc/mic/scif/scif_rma.h +1 -1
@@ -53,7 +53,7 @@#ifndef SCIF_RMA_H #define SCIF_RMA_H -#include <linux/dma_remapping.h> +#include <linux/intel-iommu.h> #include <linux/mmu_notifier.h> #include "../bus/scif_bus.h"
include/linux/dma_remapping.h deleted +0 -58
58 lines not on this page · raw message
include/linux/intel-iommu.h +47 -2
67 lines not on this page · raw message
Signature · 1 line
2.17.1
Hi,
Quoted 6 lines · Lu Baolu
Commit
e61d98d8dad00("x64, x2apic/intr-remap: Intel vt-d, IOMMU code reorganization") moveddma_remapping.hfromdrivers/pci/to current place. It is entirely VT-d specific, but uses a generic name. This mergesdma_remapping.hwithinclude/linux/intel-iommu.hand removesdma_remapping.has the result.
Quoted 7 lines
Cc Ashok Raj <[email protected]>Cc Jacob Pan <jacob.jun.pan-VuQAYsv1563Yd54FQh9/[email protected]>Cc Sohil Mehta <[email protected]>Suggested-by Christoph Hellwig <[email protected]>Reviewed-by Christoph Hellwig <[email protected]>---
Just realized that I forgot to add the change log.
Change log:v1->v2:
- Add "Reviewed-by: Christoph Hellwig <[email protected]>"
Sorry about it.
Best regards,
Lu Baolu
Quoted 228 lines
arch/x86/kernel/tboot.c | 2 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 +- drivers/gpu/drm/i915/intel_display.c | 2 +- drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 2 +- drivers/misc/mic/scif/scif_rma.c | 2 +- drivers/misc/mic/scif/scif_rma.h | 2 +- include/linux/dma_remapping.h | 58 ---------------------- include/linux/intel-iommu.h | 49 +++++++++++++++++- 8 files changed, 53 insertions(+), 66 deletions(-)delete mode 100644
include/linux/dma_remapping.harch/x86/kernel/tboot.c +1
-1@@ -19,7 +19,7 @@* */ -#include <linux/dma_remapping.h> +#include <linux/intel-iommu.h> #include <linux/init_task.h> #include <linux/spinlock.h> #include <linux/export.h> drivers/gpu/drm/i915/i915_gem_execbuffer.c +1
-1@@ -26,7 +26,7 @@* */ -#include <linux/dma_remapping.h> +#include <linux/intel-iommu.h> #include <linux/reservation.h> #include <linux/sync_file.h> #include <linux/uaccess.h> drivers/gpu/drm/i915/intel_display.c +1
-1@@ -47,7 +47,7 @@#include <drm/drm_plane_helper.h> #include <drm/drm_rect.h> #include <drm/drm_atomic_uapi.h> -#include <linux/dma_remapping.h> +#include <linux/intel-iommu.h> #include <linux/reservation.h> /* Primary plane formats for gen <= 3 */ drivers/gpu/drm/vmwgfx/vmwgfx_drv.c +1
-1@@ -34,7 +34,7 @@#include <drm/ttm/ttm_placement.h> #include <drm/ttm/ttm_bo_driver.h> #include <drm/ttm/ttm_module.h> -#include <linux/dma_remapping.h> +#include <linux/intel-iommu.h> #define VMWGFX_DRIVER_DESC "Linux drm driver for VMware graphics devices"#define VMWGFX_CHIP_SVGAII 0drivers/misc/mic/scif/scif_rma.c +1
-1@@ -15,7 +15,7 @@* Intel SCIF driver. * */ -#include <linux/dma_remapping.h> +#include <linux/intel-iommu.h> #include <linux/pagemap.h> #include <linux/sched/mm.h> #include <linux/sched/signal.h> drivers/misc/mic/scif/scif_rma.h +1
-1@@ -53,7 +53,7 @@#ifndef SCIF_RMA_H #define SCIF_RMA_H -#include <linux/dma_remapping.h> +#include <linux/intel-iommu.h> #include <linux/mmu_notifier.h> #include "../bus/scif_bus.h" include/linux/dma_remapping.h deleted +0
-58@@ -1,58 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#ifndef _DMA_REMAPPING_H -#define _DMA_REMAPPING_H - -/* -* VT-d hardware uses 4KiB page size regardless of host page size. -*/ -#define VTD_PAGE_SHIFT (12) -#define VTD_PAGE_SIZE (1UL << VTD_PAGE_SHIFT) -#define VTD_PAGE_MASK (((u64)-1) << VTD_PAGE_SHIFT) -#define VTD_PAGE_ALIGN (addr) (((addr) + VTD_PAGE_SIZE - 1) & VTD_PAGE_MASK) - -#define VTD_STRIDE_SHIFT (9) -#define VTD_STRIDE_MASK (((u64)-1) << VTD_STRIDE_SHIFT) - -#define DMA_PTE_READ (1) -#define DMA_PTE_WRITE (2) -#define DMA_PTE_LARGE_PAGE (1 << 7) -#define DMA_PTE_SNP (1 << 11) - -#define CONTEXT_TT_MULTI_LEVEL 0 -#define CONTEXT_TT_DEV_IOTLB 1 -#define CONTEXT_TT_PASS_THROUGH 2 -/* Extended context entry types */ -#define CONTEXT_TT_PT_PASID 4 -#define CONTEXT_TT_PT_PASID_DEV_IOTLB 5 -#define CONTEXT_TT_MASK (7ULL << 2) - -#define CONTEXT_DINVE (1ULL << 8) -#define CONTEXT_PRS (1ULL << 9) -#define CONTEXT_PASIDE (1ULL << 11) - -struct intel_iommu ; -struct dmar_domain ; -struct root_entry ; - - -#ifdef CONFIG_INTEL_IOMMU -extern int iommu_calculate_agaw (struct intel_iommu *iommu); -extern int iommu_calculate_max_sagaw (struct intel_iommu *iommu); -extern int dmar_disabled; -extern int intel_iommu_enabled; -extern int intel_iommu_tboot_noforce; -#else -static inline int iommu_calculate_agaw (struct intel_iommu *iommu) -{ -return 0 ; -} -static inline int iommu_calculate_max_sagaw (struct intel_iommu *iommu) -{ -return 0 ; -} -#define dmar_disabled (1) -#define intel_iommu_enabled (0) -#endif - - -#endif include/linux/intel-iommu.h +47
-2@@ -26,7 +26,6 @@#include <linux/iova.h> #include <linux/io.h> #include <linux/idr.h> -#include <linux/dma_remapping.h> #include <linux/mmu_notifier.h> #include <linux/list.h> #include <linux/iommu.h> @@ -37,9 +36,36 @@#include <asm/iommu.h> /* -* Intel IOMMU register specification per version 1.0 public spec. +* VT-d hardware uses 4KiB page size regardless of host page size. */ +#define VTD_PAGE_SHIFT (12) +#define VTD_PAGE_SIZE (1UL << VTD_PAGE_SHIFT) +#define VTD_PAGE_MASK (((u64)-1) << VTD_PAGE_SHIFT) +#define VTD_PAGE_ALIGN (addr) (((addr) + VTD_PAGE_SIZE - 1) & VTD_PAGE_MASK) + +#define VTD_STRIDE_SHIFT (9) +#define VTD_STRIDE_MASK (((u64)-1) << VTD_STRIDE_SHIFT) + +#define DMA_PTE_READ (1) +#define DMA_PTE_WRITE (2) +#define DMA_PTE_LARGE_PAGE (1 << 7) +#define DMA_PTE_SNP (1 << 11) + +#define CONTEXT_TT_MULTI_LEVEL 0 +#define CONTEXT_TT_DEV_IOTLB 1 +#define CONTEXT_TT_PASS_THROUGH 2 +/* Extended context entry types */ +#define CONTEXT_TT_PT_PASID 4 +#define CONTEXT_TT_PT_PASID_DEV_IOTLB 5 +#define CONTEXT_TT_MASK (7ULL << 2) + +#define CONTEXT_DINVE (1ULL << 8) +#define CONTEXT_PRS (1ULL << 9) +#define CONTEXT_PASIDE (1ULL << 11) +/* +* Intel IOMMU register specification per version 1.0 public spec. +*/ #define DMAR_VER_REG 0x0/* Arch version supported by this IOMMU */ #define DMAR_CAP_REG 0x8/* Hardware supported capabilities */ #define DMAR_ECAP_REG 0x10/* Extended capabilities supported */ @@ -632,4 +658,23 @@ bool context_present(struct context_entry *context);struct context_entry *iommu_context_addr (struct intel_iommu *iommu,u8 bus,u8 devfn,int alloc); +#ifdef CONFIG_INTEL_IOMMU +extern int iommu_calculate_agaw (struct intel_iommu *iommu); +extern int iommu_calculate_max_sagaw (struct intel_iommu *iommu); +extern int dmar_disabled; +extern int intel_iommu_enabled; +extern int intel_iommu_tboot_noforce; +#else +static inline int iommu_calculate_agaw (struct intel_iommu *iommu) +{ +return 0 ; +} +static inline int iommu_calculate_max_sagaw (struct intel_iommu *iommu) +{ +return 0 ; +} +#define dmar_disabled (1) +#define intel_iommu_enabled (0) +#endif +#endif
Quoted 10 lines
[email protected]] On Behalf Of Lu Baolu
Sent: Monday, November 12, 2018 2:40 PM
Subject: [PATCH v2 1/1] iommu/vtd: Cleanupdma_remapping.hheaderCommit
e61d98d8dad00("x64, x2apic/intr-remap: Intel vt-d, IOMMU code reorganization") moveddma_remapping.hfromdrivers/pci/to current place. It is entirely VT-d specific, but uses a generic name. This mergesdma_remapping.hwithinclude/linux/intel-iommu.hand removesdma_remapping.has the result.
Quoted 7 lines
Cc Ashok Raj <[email protected]>Cc Jacob Pan <[email protected]>Cc Sohil Mehta <[email protected]>Suggested-by Christoph Hellwig <[email protected]>Signed-off-by Lu Baolu <[email protected]>Reviewed-by Christoph Hellwig <[email protected]>---
Just out of curious, did you considered to modify the original file name to be an intel specific file name? What makes you believe merging the file content to intel-iommu.h is better?
Regards,
Yi Liu
Hi,
Quoted 18 lines · Yi L
Quoted 10 lines
[email protected]] On Behalf Of Lu Baolu
Sent: Monday, November 12, 2018 2:40 PM
Subject: [PATCH v2 1/1] iommu/vtd: Cleanupdma_remapping.hheaderCommit
e61d98d8dad00("x64, x2apic/intr-remap: Intel vt-d, IOMMU code reorganization") moveddma_remapping.hfromdrivers/pci/to current place. It is entirely VT-d specific, but uses a generic name. This mergesdma_remapping.hwithinclude/linux/intel-iommu.hand removesdma_remapping.has the result.Quoted 7 lines
Cc Ashok Raj <[email protected]>Cc Jacob Pan <[email protected]>Cc Sohil Mehta <[email protected]>Suggested-by Christoph Hellwig <[email protected]>Signed-off-by Lu Baolu <[email protected]>Reviewed-by Christoph Hellwig <[email protected]>---
Quoted 5 lines
Reviewed-by Liu, Yi L <[email protected]>Just out of curious, did you considered to modify the original file name to be an intel specific file name? What makes you believe merging the file content to
intel-iommu.his better?
I don't think we need multiple headers for VT-d specific things.
Best regards,
Lu Baolu
Joerg Roedel
AppliedQuoted 10 lines · Lu Baolu
arch/x86/kernel/tboot.c | 2 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 +- drivers/gpu/drm/i915/intel_display.c | 2 +- drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 2 +- drivers/misc/mic/scif/scif_rma.c | 2 +- drivers/misc/mic/scif/scif_rma.h | 2 +- include/linux/dma_remapping.h | 58 ---------------------- include/linux/intel-iommu.h | 49 +++++++++++++++++- 8 files changed, 53 insertions(+), 66 deletions(-) delete mode 100644 include/linux/dma_remapping.h
Applied, thanks.