RE: [PATCH v5 04/13] DMA-API: Introduce dma_(un)map_peer_resource

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> > +#ifdef CONFIG_HAS_DMA_P2P
> > +static inline dma_peer_addr_t dma_map_peer_resource_attrs(struct
> > device *dev,
> > +							  struct device *peer,
> > +							  struct resource *res,
> > +							  size_t offset,
> > +							  size_t size,
> > +							  enum dma_data_direction dir,
> > +							  struct dma_attrs *attrs)
> > +{
> > +	struct dma_map_ops *ops = get_dma_ops(dev);
> > +	dma_peer_addr_t addr;
> > +
> > +	BUG_ON(!valid_dma_direction(dir));
> > +	BUG_ON(ops->map_peer_resource == NULL);
> > +	addr = ops->map_peer_resource(dev, peer, res, offset, size, dir,
> > +				      attrs);
> > +	debug_dma_map_peer_resource(dev, peer, res, offset, size, dir,
> > addr);
> > +
> > +	return addr;
> > +
> 
> With those 'BUG_ON' you need to make sure that every dma_map_ops has
> this implemented. That means the calgary_dma_ops, gart_dma_ops, swiotlb_dma_ops,
> and xen_swiotlb_dma_ops MUST have something implemented.
> 
> Please keep in mind that on one can do 'iommu=soft swiotbl=force' on the
> command line which will force the IOMMUs to be ignored and only the
> SWIOTLB code will be used.

Thanks for the feedback, Konrad. I will add implementations for those
dma_map_ops in v6.

Will

--
nvpublic
��.n��������+%������w��{.n�����{���"�)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux