Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1492229

Re: [PATCH v5 5/8] iommu/amd: copy old trans table from old kernel

From Baoquan He <bhe@redhat.com>
Newsgroups linux.kernel
Subject Re: [PATCH v5 5/8] iommu/amd: copy old trans table from old kernel
Date 2016-09-28 03:40 +0200
Message-ID <smc0N-en-1@gated-at.bofh.it> (permalink)
References <shGsx-ar-11@gated-at.bofh.it> <shGsy-ar-43@gated-at.bofh.it> <sjsEO-31h-25@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Hi Joerg,

On 09/20/16 at 02:40pm, Joerg Roedel wrote:
> > +	if ( !is_pre_enabled) {
> > +		for_each_iommu(iommu)
> > +			early_enable_iommu(iommu);
> > +	} else {
> > +		if (copy_dev_tables()) {
> > +			pr_err("Failed to copy DEV table from previous kernel.\n");
> > +			/*
> > +			 * If failed to copy dev tables from old kernel, continue to proceed
> > +			 * as it does in normal kernel.
> > +			 */
> > +			for_each_iommu(iommu) {
> > +				clear_translation_pre_enabled(iommu);
> > +				early_enable_iommu(iommu);
> > +			}
> > +		} else {
> > +			pr_info("Copied DEV table from previous kernel.\n");
> > +			for_each_iommu(iommu) {
> > +				iommu_feature_disable(iommu, CONTROL_CMDBUF_EN);
> > +		                iommu_feature_disable(iommu, CONTROL_EVT_LOG_EN);
> 
> Could you move that into new helpers (iommu_disable_command_buffer...)?

Did you mean wraping iommu_feature_disable(iommu, CONTROL_CMDBUF_EN) into a
helper function like iommu_disable_command_buffer(), and wraping
iommu_feature_disable(iommu, CONTROL_EVT_LOG_EN) into
iommu_disable_event_buffer()?

I retest with not disabling command buffer and event log here, it works
on amd iommu v1 and v2 systems. So if I understand your comment
correctly, there's no need to add "iommu_feature_disable(iommu,
CONTROL_CMDBUF_EN)"  and "iommu_feature_disable(iommu,
CONTROL_EVT_LOG_EN)" here. I remember I added them here because more
IO_PAGE_FAULT messages are printed without them. But now it seems not to
related to them. So I will remove above two lines of code.

> 
> > +		                iommu_enable_command_buffer(iommu);
> > +		                iommu_enable_event_buffer(iommu);
> > +		                iommu_set_device_table(iommu);
> > +		                iommu_flush_all_caches(iommu);
> > +			}
> > +		}
> > +	}
> >  }
> >  
> >  static void enable_iommus_v2(void)
> > -- 
> > 2.5.5
> > 

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Re: [PATCH v5 5/8] iommu/amd: copy old trans table from old kernel Baoquan He <bhe@redhat.com> - 2016-09-28 03:40 +0200
  Re: [PATCH v5 5/8] iommu/amd: copy old trans table from old kernel Baoquan He <bhe@redhat.com> - 2016-09-28 15:10 +0200

csiph-web