lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Fri, 1 Oct 2021 16:50:18 +0200
From:   Daniel Vetter <daniel@...ll.ch>
To:     Christophe JAILLET <christophe.jaillet@...adoo.fr>
Cc:     Cai Huoqing <caihuoqing@...du.com>,
        Jani Nikula <jani.nikula@...ux.intel.com>,
        Joonas Lahtinen <joonas.lahtinen@...ux.intel.com>,
        Rodrigo Vivi <rodrigo.vivi@...el.com>,
        David Airlie <airlied@...ux.ie>,
        Zhenyu Wang <zhenyuw@...ux.intel.com>,
        Zhi Wang <zhi.a.wang@...el.com>,
        intel-gfx@...ts.freedesktop.org, dri-devel@...ts.freedesktop.org,
        linux-kernel@...r.kernel.org, intel-gvt-dev@...ts.freedesktop.org
Subject: Re: [PATCH] drm/i915: Use direction definition DMA_BIDIRECTIONAL
 instead of PCI_DMA_BIDIRECTIONAL

On Thu, Sep 30, 2021 at 08:58:15PM +0200, Christophe JAILLET wrote:
> Le 30/09/2021 à 16:21, Daniel Vetter a écrit :
> > On Sat, Sep 25, 2021 at 08:46:12PM +0800, Cai Huoqing wrote:
> > > Replace direction definition PCI_DMA_BIDIRECTIONAL
> > > with DMA_BIDIRECTIONAL, because it helps to enhance readability
> > > and avoid possible inconsistency.
> > > 
> > > Signed-off-by: Cai Huoqing <caihuoqing@...du.com>
> > 
> > Applied to drm-intel-gt-next, thanks for the patch.
> > -Daniel
> 
> Hi,
> just in case, a similar patch received some (unrelated) comments a few weeks
> ago. See [1].
> 
> Should it rings some bells to someone who know who knows what should be
> done.
> 
> Just my 2c.
> 
> [1]: https://lore.kernel.org/kernel-janitors/0cd61d5b-ac88-31e8-99ad-143af480416f@arm.com/

Hm yeah there's some fishy stuff in here, but it's cc'ed to intel-gfx so
should get picked up there.
-Daniel

> 
> CJ
> 
> 
> > 
> > > ---
> > >   drivers/gpu/drm/i915/gt/intel_region_lmem.c |  4 ++--
> > >   drivers/gpu/drm/i915/gvt/gtt.c              | 17 ++++++++---------
> > >   drivers/gpu/drm/i915/gvt/kvmgt.c            |  4 ++--
> > >   drivers/gpu/drm/i915/i915_gem_gtt.c         |  4 ++--
> > >   4 files changed, 14 insertions(+), 15 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/gt/intel_region_lmem.c b/drivers/gpu/drm/i915/gt/intel_region_lmem.c
> > > index a74b72f50cc9..afb35d2e5c73 100644
> > > --- a/drivers/gpu/drm/i915/gt/intel_region_lmem.c
> > > +++ b/drivers/gpu/drm/i915/gt/intel_region_lmem.c
> > > @@ -32,7 +32,7 @@ static int init_fake_lmem_bar(struct intel_memory_region *mem)
> > >   	mem->remap_addr = dma_map_resource(i915->drm.dev,
> > >   					   mem->region.start,
> > >   					   mem->fake_mappable.size,
> > > -					   PCI_DMA_BIDIRECTIONAL,
> > > +					   DMA_BIDIRECTIONAL,
> > >   					   DMA_ATTR_FORCE_CONTIGUOUS);
> > >   	if (dma_mapping_error(i915->drm.dev, mem->remap_addr)) {
> > >   		drm_mm_remove_node(&mem->fake_mappable);
> > > @@ -62,7 +62,7 @@ static void release_fake_lmem_bar(struct intel_memory_region *mem)
> > >   	dma_unmap_resource(mem->i915->drm.dev,
> > >   			   mem->remap_addr,
> > >   			   mem->fake_mappable.size,
> > > -			   PCI_DMA_BIDIRECTIONAL,
> > > +			   DMA_BIDIRECTIONAL,
> > >   			   DMA_ATTR_FORCE_CONTIGUOUS);
> > >   }
> > > diff --git a/drivers/gpu/drm/i915/gvt/gtt.c b/drivers/gpu/drm/i915/gvt/gtt.c
> > > index e5c2fdfc20e3..53d0cb327539 100644
> > > --- a/drivers/gpu/drm/i915/gvt/gtt.c
> > > +++ b/drivers/gpu/drm/i915/gvt/gtt.c
> > > @@ -745,7 +745,7 @@ static void ppgtt_free_spt(struct intel_vgpu_ppgtt_spt *spt)
> > >   	trace_spt_free(spt->vgpu->id, spt, spt->guest_page.type);
> > >   	dma_unmap_page(kdev, spt->shadow_page.mfn << I915_GTT_PAGE_SHIFT, 4096,
> > > -		       PCI_DMA_BIDIRECTIONAL);
> > > +		       DMA_BIDIRECTIONAL);
> > >   	radix_tree_delete(&spt->vgpu->gtt.spt_tree, spt->shadow_page.mfn);
> > > @@ -849,7 +849,7 @@ static struct intel_vgpu_ppgtt_spt *ppgtt_alloc_spt(
> > >   	 */
> > >   	spt->shadow_page.type = type;
> > >   	daddr = dma_map_page(kdev, spt->shadow_page.page,
> > > -			     0, 4096, PCI_DMA_BIDIRECTIONAL);
> > > +			     0, 4096, DMA_BIDIRECTIONAL);
> > >   	if (dma_mapping_error(kdev, daddr)) {
> > >   		gvt_vgpu_err("fail to map dma addr\n");
> > >   		ret = -EINVAL;
> > > @@ -865,7 +865,7 @@ static struct intel_vgpu_ppgtt_spt *ppgtt_alloc_spt(
> > >   	return spt;
> > >   err_unmap_dma:
> > > -	dma_unmap_page(kdev, daddr, PAGE_SIZE, PCI_DMA_BIDIRECTIONAL);
> > > +	dma_unmap_page(kdev, daddr, PAGE_SIZE, DMA_BIDIRECTIONAL);
> > >   err_free_spt:
> > >   	free_spt(spt);
> > >   	return ERR_PTR(ret);
> > > @@ -2409,8 +2409,7 @@ static int alloc_scratch_pages(struct intel_vgpu *vgpu,
> > >   		return -ENOMEM;
> > >   	}
> > > -	daddr = dma_map_page(dev, virt_to_page(scratch_pt), 0,
> > > -			4096, PCI_DMA_BIDIRECTIONAL);
> > > +	daddr = dma_map_page(dev, virt_to_page(scratch_pt), 0, 4096, DMA_BIDIRECTIONAL);
> > >   	if (dma_mapping_error(dev, daddr)) {
> > >   		gvt_vgpu_err("fail to dmamap scratch_pt\n");
> > >   		__free_page(virt_to_page(scratch_pt));
> > > @@ -2461,7 +2460,7 @@ static int release_scratch_page_tree(struct intel_vgpu *vgpu)
> > >   		if (vgpu->gtt.scratch_pt[i].page != NULL) {
> > >   			daddr = (dma_addr_t)(vgpu->gtt.scratch_pt[i].page_mfn <<
> > >   					I915_GTT_PAGE_SHIFT);
> > > -			dma_unmap_page(dev, daddr, 4096, PCI_DMA_BIDIRECTIONAL);
> > > +			dma_unmap_page(dev, daddr, 4096, DMA_BIDIRECTIONAL);
> > >   			__free_page(vgpu->gtt.scratch_pt[i].page);
> > >   			vgpu->gtt.scratch_pt[i].page = NULL;
> > >   			vgpu->gtt.scratch_pt[i].page_mfn = 0;
> > > @@ -2741,7 +2740,7 @@ int intel_gvt_init_gtt(struct intel_gvt *gvt)
> > >   	}
> > >   	daddr = dma_map_page(dev, virt_to_page(page), 0,
> > > -			4096, PCI_DMA_BIDIRECTIONAL);
> > > +			4096, DMA_BIDIRECTIONAL);
> > >   	if (dma_mapping_error(dev, daddr)) {
> > >   		gvt_err("fail to dmamap scratch ggtt page\n");
> > >   		__free_page(virt_to_page(page));
> > > @@ -2755,7 +2754,7 @@ int intel_gvt_init_gtt(struct intel_gvt *gvt)
> > >   		ret = setup_spt_oos(gvt);
> > >   		if (ret) {
> > >   			gvt_err("fail to initialize SPT oos\n");
> > > -			dma_unmap_page(dev, daddr, 4096, PCI_DMA_BIDIRECTIONAL);
> > > +			dma_unmap_page(dev, daddr, 4096, DMA_BIDIRECTIONAL);
> > >   			__free_page(gvt->gtt.scratch_page);
> > >   			return ret;
> > >   		}
> > > @@ -2779,7 +2778,7 @@ void intel_gvt_clean_gtt(struct intel_gvt *gvt)
> > >   	dma_addr_t daddr = (dma_addr_t)(gvt->gtt.scratch_mfn <<
> > >   					I915_GTT_PAGE_SHIFT);
> > > -	dma_unmap_page(dev, daddr, 4096, PCI_DMA_BIDIRECTIONAL);
> > > +	dma_unmap_page(dev, daddr, 4096, DMA_BIDIRECTIONAL);
> > >   	__free_page(gvt->gtt.scratch_page);
> > > diff --git a/drivers/gpu/drm/i915/gvt/kvmgt.c b/drivers/gpu/drm/i915/gvt/kvmgt.c
> > > index 7efa386449d1..20b82fb036f8 100644
> > > --- a/drivers/gpu/drm/i915/gvt/kvmgt.c
> > > +++ b/drivers/gpu/drm/i915/gvt/kvmgt.c
> > > @@ -328,7 +328,7 @@ static int gvt_dma_map_page(struct intel_vgpu *vgpu, unsigned long gfn,
> > >   		return ret;
> > >   	/* Setup DMA mapping. */
> > > -	*dma_addr = dma_map_page(dev, page, 0, size, PCI_DMA_BIDIRECTIONAL);
> > > +	*dma_addr = dma_map_page(dev, page, 0, size, DMA_BIDIRECTIONAL);
> > >   	if (dma_mapping_error(dev, *dma_addr)) {
> > >   		gvt_vgpu_err("DMA mapping failed for pfn 0x%lx, ret %d\n",
> > >   			     page_to_pfn(page), ret);
> > > @@ -344,7 +344,7 @@ static void gvt_dma_unmap_page(struct intel_vgpu *vgpu, unsigned long gfn,
> > >   {
> > >   	struct device *dev = vgpu->gvt->gt->i915->drm.dev;
> > > -	dma_unmap_page(dev, dma_addr, size, PCI_DMA_BIDIRECTIONAL);
> > > +	dma_unmap_page(dev, dma_addr, size, DMA_BIDIRECTIONAL);
> > >   	gvt_unpin_guest_page(vgpu, gfn, size);
> > >   }
> > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
> > > index 36489be4896b..cd5f2348a187 100644
> > > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
> > > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
> > > @@ -30,7 +30,7 @@ int i915_gem_gtt_prepare_pages(struct drm_i915_gem_object *obj,
> > >   	do {
> > >   		if (dma_map_sg_attrs(obj->base.dev->dev,
> > >   				     pages->sgl, pages->nents,
> > > -				     PCI_DMA_BIDIRECTIONAL,
> > > +				     DMA_BIDIRECTIONAL,
> > >   				     DMA_ATTR_SKIP_CPU_SYNC |
> > >   				     DMA_ATTR_NO_KERNEL_MAPPING |
> > >   				     DMA_ATTR_NO_WARN))
> > > @@ -64,7 +64,7 @@ void i915_gem_gtt_finish_pages(struct drm_i915_gem_object *obj,
> > >   		usleep_range(100, 250);
> > >   	dma_unmap_sg(i915->drm.dev, pages->sgl, pages->nents,
> > > -		     PCI_DMA_BIDIRECTIONAL);
> > > +		     DMA_BIDIRECTIONAL);
> > >   }
> > >   /**
> > > -- 
> > > 2.25.1
> > > 
> > 
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ