> kernel/dma/direct.c | 2 +- > kernel/dma/swiotlb.c | 4 ++-- > 6 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_internal.c b/drivers/gpu/drm/i915/gem/i915_gem_internal.c > index ce6b664b10aa..89a894354263 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_internal.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_internal.c > @@ -42,7 +42,7 @@ static int i915_gem_object_get_pages_internal(struct drm_i915_gem_object *obj) > > max_order = MAX_ORDER; > #ifdef CONFIG_SWIOTLB > - if (is_swiotlb_active()) { > + if (is_swiotlb_active(obj->base.dev->dev)) { This is the same device used for DMA mapping in i915_gem_gtt_prepare_pages, so this looks good. > index f4c2e46b6fe1..2ca9d9a9e5d5 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_ttm.c > +++ b/drivers/gpu/drm/nouveau/nouveau_ttm.c > @@ -276,7 +276,7 @@ nouveau_ttm_init(struct nouveau_drm *drm) > } > > #if IS_ENABLED(CONFIG_SWIOTLB) && IS_ENABLED(CONFIG_X86) > - need_swiotlb = is_swiotlb_active(); > + need_swiotlb = is_swiotlb_active(dev->dev); > #endif This looks good, too. > diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c > index b7a8f3a1921f..0d56985bfe81 100644 > --- a/drivers/pci/xen-pcifront.c > +++ b/drivers/pci/xen-pcifront.c > @@ -693,7 +693,7 @@ static int pcifront_connect_and_init_dma(struct pcifront_device *pdev) > > spin_unlock(&pcifront_dev_lock); > > - if (!err && !is_swiotlb_active()) { > + if (!err && !is_swiotlb_active(&pdev->xdev->dev)) { This looks good as well. So I think the devices are all good. Reviewed-by: Christoph Hellwig <hch@xxxxxx>