OSDN Git Service

Merge branches 'iommu/fixes', 'arm/qcom', 'arm/renesas', 'arm/rockchip', 'arm/mediate...
authorJoerg Roedel <jroedel@suse.de>
Tue, 12 Nov 2019 16:11:25 +0000 (17:11 +0100)
committerJoerg Roedel <jroedel@suse.de>
Tue, 12 Nov 2019 16:11:25 +0000 (17:11 +0100)
15 files changed:
1  2  3  4  5  6  7  8  9  10  11 
drivers/iommu/Kconfig
drivers/iommu/Makefile
drivers/iommu/amd_iommu.c
drivers/iommu/amd_iommu_types.h
drivers/iommu/arm-smmu-v3.c
drivers/iommu/arm-smmu.c
drivers/iommu/intel-iommu.c
drivers/iommu/iommu.c
drivers/iommu/ipmmu-vmsa.c
drivers/iommu/mtk_iommu.c
drivers/iommu/qcom_iommu.c
drivers/iommu/rockchip-iommu.c
drivers/iommu/tegra-smmu.c
drivers/iommu/virtio-iommu.c
include/linux/iommu.h

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@@@@@@@@@@ -282,11 -282,11 -226,26 -282,11 -282,11 -282,11 -282,11 -282,11 -282,11 -282,11 -282,11 +226,26 @@@@@@@@@@@@ static void ipmmu_ctx_write_all(struct 
                                        unsigned int reg, u32 data)
           {
                if (domain->mmu != domain->mmu->root)
-- --------             ipmmu_write(domain->mmu,
-- --------                         domain->context_id * IM_CTX_SIZE + reg, data);
++ ++++++++             ipmmu_ctx_write(domain->mmu, domain->context_id, reg, data);
 + ++++++++
-               ipmmu_write(domain->mmu->root,
-                           domain->context_id * IM_CTX_SIZE + reg, data);
++ ++++++++     ipmmu_ctx_write(domain->mmu->root, domain->context_id, reg, data);
++ ++++++++}
++ ++++++++
++ ++++++++static u32 ipmmu_utlb_reg(struct ipmmu_vmsa_device *mmu, unsigned int reg)
++ ++++++++{
++ ++++++++     return mmu->features->utlb_offset_base + reg;
++ ++++++++}
++ ++++++++
++ ++++++++static void ipmmu_imuasid_write(struct ipmmu_vmsa_device *mmu,
++ ++++++++                             unsigned int utlb, u32 data)
++ ++++++++{
++ ++++++++     ipmmu_write(mmu, ipmmu_utlb_reg(mmu, IMUASID(utlb)), data);
++ ++++++++}
+          
 - --------     ipmmu_write(domain->mmu->root,
 - --------                 domain->context_id * IM_CTX_SIZE + reg, data);
++ ++++++++static void ipmmu_imuctr_write(struct ipmmu_vmsa_device *mmu,
++ ++++++++                            unsigned int utlb, u32 data)
++ ++++++++{
++ ++++++++     ipmmu_write(mmu, ipmmu_utlb_reg(mmu, IMUCTR(utlb)), data);
           }
           
           /* -----------------------------------------------------------------------------
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge