[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201015154300.GA8047@infradead.org>
Date: Thu, 15 Oct 2020 16:43:00 +0100
From: Christoph Hellwig <hch@...radead.org>
To: Christoph Hellwig <hch@...radead.org>,
Robin Murphy <robin.murphy@....com>,
Jonathan Marek <jonathan@...ek.ca>,
David Airlie <airlied@...ux.ie>,
freedreno@...ts.freedesktop.org,
open list <linux-kernel@...r.kernel.org>,
"open list:DRM DRIVER FOR MSM ADRENO GPU"
<dri-devel@...ts.freedesktop.org>,
iommu@...ts.linux-foundation.org,
"open list:DRM DRIVER FOR MSM ADRENO GPU"
<linux-arm-msm@...r.kernel.org>, Sean Paul <sean@...rly.run>
Subject: Re: [PATCH 2/3] drm/msm: add DRM_MSM_GEM_SYNC_CACHE for non-coherent
cache maintenance
On Thu, Oct 15, 2020 at 05:33:34PM +0200, Daniel Vetter wrote:
> On Thu, Oct 15, 2020 at 07:55:32AM +0100, Christoph Hellwig wrote:
> > On Tue, Oct 13, 2020 at 02:42:38PM +0100, Robin Murphy wrote:
> > > I still think this situation would be best handled with a variant of
> > > dma_ops_bypass that also guarantees to bypass SWIOTLB, and can be set
> > > automatically when attaching to an unmanaged IOMMU domain.
> >
> > dma_ops_bypass should mostly do the right thing as-is. swiotlb bouncing
> > is triggered of two things:
> >
> > 1) the dma_mask. This is under control of the driver, and obviously
> > if it is too small for a legit reason we can't just proceed
>
> Somewhat related, but is there a way to tell the dma-api to fail instead
> of falling back to swiotlb? In many case for gpu drivers it's much better
> if we fall back to dma_alloc_coherent and manage the copying ourselves
> instead of abstracting this away in the dma-api. Currently that's "solved"
> rather pessimistically by always allocating from dma_alloc_coherent if
> swiotlb could be in the picture (at least for ttm based drivers, i915 just
> falls over).
Is this for the alloc_pages plus manually map logic in various drivers?
They should switch to the new dma_alloc_pages API that I'll send to
Linus for 5.10 soon.
Powered by blists - more mailing lists