From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754757AbcEYG3i (ORCPT ); Wed, 25 May 2016 02:29:38 -0400 Received: from mx1.redhat.com ([209.132.183.28]:48225 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754269AbcEYG3f (ORCPT ); Wed, 25 May 2016 02:29:35 -0400 From: Baoquan He To: joro@8bytes.org Cc: iommu@lists.linux-foundation.org, vincent.wan@amd.com, xlpang@redhat.com, dyoung@redhat.com, linux-kernel@vger.kernel.org, Baoquan HE , Baoquan He Subject: [Patch v4 8/9] iommu/amd: Do not initialize dev tables again in kdump Date: Wed, 25 May 2016 14:28:54 +0800 Message-Id: <1464157735-8865-9-git-send-email-bhe@redhat.com> In-Reply-To: <1464157735-8865-1-git-send-email-bhe@redhat.com> References: <1464157735-8865-1-git-send-email-bhe@redhat.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Wed, 25 May 2016 06:29:30 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Baoquan HE The init should have been done in normal kernel, skip it in kdump kernel. And clean up the function comments. Signed-off-by: Baoquan He --- drivers/iommu/amd_iommu_init.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c index 66a1fa5..47e5972 100644 --- a/drivers/iommu/amd_iommu_init.c +++ b/drivers/iommu/amd_iommu_init.c @@ -1432,7 +1432,11 @@ static int __init amd_iommu_init_pci(void) break; } - init_device_table_dma(); + for_each_iommu(iommu) { + if ( !translation_pre_enabled(iommu) ) + init_device_table_dma(); + break; + } for_each_iommu(iommu) iommu_flush_all_caches(iommu); @@ -1612,8 +1616,7 @@ static int __init init_memory_definitions(struct acpi_table_header *table) } /* - * Init the device table to not allow DMA access for devices and - * suppress all page faults + * Init the device table to not allow DMA access for devices. */ static void init_device_table_dma(void) { -- 2.5.5