Re: [PATCH] drm/vmwgfx: fix a warning due to missing dma_parms

2019-05-24 Thread h...@lst.de
On Fri, May 24, 2019 at 11:57:04AM +, Thomas Hellstrom wrote: > It's a PCI device. The struct device * used in dma_map_sg() is the same > as the &pci_dev->dev handed to the probe() callback. But at probe time, > the struct device::dma_parms is non-NULL, at least on my system so > there shouldn'

Re: [PATCH] lib/scatterlist: Provide a DMA page iterator

2019-01-16 Thread h...@lst.de
On Tue, Jan 15, 2019 at 02:25:01PM -0700, Jason Gunthorpe wrote: > RDMA needs something similar as well, in this case drivers take a > struct page * from get_user_pages() and need to have the DMA map fail > if the platform can't DMA map in a way that does not require any > additional DMA API calls

Re: [PATCH] lib/scatterlist: Provide a DMA page iterator

2019-01-16 Thread h...@lst.de
On Wed, Jan 16, 2019 at 07:28:13AM +, Koenig, Christian wrote: > To summarize once more: We have an array of struct pages and want to > coherently map that to a device. And the answer to that is very simple: you can't. What is so hard to understand about? If you want to map arbitrary memory

Re: [PATCH] lib/scatterlist: Provide a DMA page iterator

2019-01-15 Thread h...@lst.de
On Tue, Jan 15, 2019 at 07:13:11PM +, Koenig, Christian wrote: > Thomas is correct that the interface you propose here doesn't work at > all for GPUs. > > The kernel driver is not informed of flush/sync, but rather just setups > coherent mappings between system memory and devices. > > In ot

Re: [PATCH] lib/scatterlist: Provide a DMA page iterator

2019-01-15 Thread h...@lst.de
On Tue, Jan 15, 2019 at 06:03:39PM +, Thomas Hellstrom wrote: > In the graphics case, it's probably because it doesn't fit the graphics > use-cases: > > 1) Memory typically needs to be mappable by another device. (the "dma- > buf" interface) And there is nothing preventing dma-buf sharing of

Re: [PATCH] lib/scatterlist: Provide a DMA page iterator

2019-01-15 Thread h...@lst.de
On Tue, Jan 15, 2019 at 03:24:55PM +0100, Christian König wrote: > Yeah, indeed. Bounce buffers are an absolute no-go for GPUs. > > If the DMA API finds that a piece of memory is not directly accessible by > the GPU we need to return an error and not try to use bounce buffers behind > the surface

Re: fix DMA ops layering violations in vmwgfx

2019-01-08 Thread h...@lst.de
On Tue, Jan 08, 2019 at 09:51:45AM +, Thomas Hellstrom wrote: > Hi, Christoph, > > On Sat, 2019-01-05 at 09:01 +0100, Christoph Hellwig wrote: > > Hi Thomas, > > > > vmwgfx has been doing some odd checks based on DMA ops which rely > > on deep DMA mapping layer internals, and I think the chan

Re: [PATCH v2 1/2] dma-mapping: move dma configuration to bus infrastructure

2018-03-22 Thread h...@lst.de
> > +int dma_configure(struct device *dev) > > +{ > > + if (dev->bus->dma_configure) > > + return dev->bus->dma_configure(dev); > > What if dma_common_configure() is called in case "bus->dma_configure" is not > defined? Then we'd still have a dependency of common code on OF and ACPI.