Message ID | 1355413667-9343-1-git-send-email-zhenyuw@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Dec 13, 2012 at 11:47:47PM +0800, Zhenyu Wang wrote: > From Ben's AGP dependence removal change, "needs_dmar" flag has not > been properly setup for new chips using new GTT init function. This > one adds missed setting of that flag to make sure we do pci mappings > with IOMMU enabled. > > Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Nice catch! Thanks for the patch, merged to -fixes for 3.8. -Daniel
On Fri, 14 Dec 2012 00:00:07 +0100 Daniel Vetter <daniel@ffwll.ch> wrote: > On Thu, Dec 13, 2012 at 11:47:47PM +0800, Zhenyu Wang wrote: > > From Ben's AGP dependence removal change, "needs_dmar" flag has not > > been properly setup for new chips using new GTT init function. This > > one adds missed setting of that flag to make sure we do pci mappings > > with IOMMU enabled. > > > > Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> > > Nice catch! Thanks for the patch, merged to -fixes for 3.8. > -Daniel dmar. can't live with it, can live without it
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index cc1be53..9ae588a 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c @@ -665,6 +665,10 @@ int i915_gem_gtt_init(struct drm_device *dev) if (!pci_set_dma_mask(dev->pdev, DMA_BIT_MASK(40))) pci_set_consistent_dma_mask(dev->pdev, DMA_BIT_MASK(40)); +#ifdef CONFIG_INTEL_IOMMU + dev_priv->mm.gtt->needs_dmar = 1; +#endif + /* For GEN6+ the PTEs for the ggtt live at 2MB + BAR0 */ gtt_bus_addr = pci_resource_start(dev->pdev, 0) + (2<<20); dev_priv->mm.gtt->gma_bus_addr = pci_resource_start(dev->pdev, 2);
From Ben's AGP dependence removal change, "needs_dmar" flag has not been properly setup for new chips using new GTT init function. This one adds missed setting of that flag to make sure we do pci mappings with IOMMU enabled. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> --- drivers/gpu/drm/i915/i915_gem_gtt.c | 4 ++++ 1 file changed, 4 insertions(+)