linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Christoph Hellwig <hch@lst.de>, Rob Clark <robdclark@gmail.com>,
	dri-devel@lists.freedesktop.org,
	Rob Clark <robdclark@chromium.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Maxime Ripard <maxime.ripard@bootlin.com>,
	Sean Paul <sean@poorly.run>, David Airlie <airlied@linux.ie>,
	Allison Randal <allison@lohutok.net>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] drm: add cache support for arm64
Date: Tue, 6 Aug 2019 13:38:48 +0200	[thread overview]
Message-ID: <20190806113848.GB20215@lst.de> (raw)
In-Reply-To: <20190806093816.GY7444@phenom.ffwll.local>

On Tue, Aug 06, 2019 at 11:38:16AM +0200, Daniel Vetter wrote:
> I just read through all the arch_sync_dma_for_device/cpu functions and
> none seem to use the struct *dev argument. Iirc you've said that's on the
> way out?

Not actively on the way out yet, but now that we support all
architectures it becomes pretty clear we don't need it.  So yes, we
could eventually remove it.  But..

> That dev parameter is another holdup for the places where we do not yet
> know what the new device will be (e.g. generic dma-buf exporters like
> vgem). And sprinkling a fake dev or passing NULL is a bit silly.

This is where it becomes interesting.  Because while we don't need the
dev argument for the low-level arch API, we do need it at the driver
API level, given that in some systems both dma coherent and non-coherent
devices exist, and we need to decide based on that.

> Add a HAVE_ARCH_SYNC_DMA and the above refactor (assuming it's ok to roll
> out everywhere) and we should indeed be able to use this. We still need to
> have all the others for x86 and all that. Plus I guess we should roll out
> the split into invalidate and flush.

Well, we'll still need a defined API for buffer ownership vs device.
Just exporting arch_sync_dma_for_{device,cpu} is not the right
abstraction level.  Note that these two functions are always present,
just stubbed out for architectures that do not support non-cache
coherent devices (plus the arm false negative that is easily fixable).

  reply	other threads:[~2019-08-06 11:38 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-05 21:14 [PATCH 1/2] drm: add cache support for arm64 Rob Clark
2019-08-05 21:14 ` [PATCH 2/2] drm/msm: use drm_cache when available Rob Clark
2019-08-06  8:48 ` [PATCH 1/2] drm: add cache support for arm64 Christoph Hellwig
2019-08-06  9:38   ` Daniel Vetter
2019-08-06 11:38     ` Christoph Hellwig [this message]
2019-08-06 14:11   ` Rob Clark
2019-08-06 14:34     ` Mark Rutland
2019-08-06 16:31       ` Rob Clark
2019-08-07 12:38         ` Mark Rutland
2019-08-07 16:15           ` Rob Clark
2019-08-07 16:49             ` Mark Rutland
2019-08-07 17:30               ` Rob Clark
2019-08-08  7:59                 ` Christoph Hellwig
2019-08-08 16:44                   ` Rob Clark
2019-08-09  8:18                     ` Christoph Hellwig
2019-08-08  7:58               ` Christoph Hellwig
2019-08-08 10:20                 ` Mark Rutland
2019-08-08 10:24                   ` Mark Rutland
2019-08-08 10:32                   ` Will Deacon
2019-08-08  7:53           ` Christoph Hellwig
2019-08-06 15:50     ` Christoph Hellwig
2019-08-06 16:23       ` Rob Clark
2019-08-06 16:26         ` Rob Clark
2019-08-07  6:25         ` Christoph Hellwig
2019-08-07  8:48           ` Daniel Vetter
2019-08-08  9:55             ` Christoph Hellwig
2019-08-08 11:58               ` Daniel Vetter
2019-08-09  8:14                 ` Christoph Hellwig
2019-08-07 16:09           ` Rob Clark
2019-08-08 10:00             ` Christoph Hellwig
2019-08-08 16:32               ` Rob Clark

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190806113848.GB20215@lst.de \
    --to=hch@lst.de \
    --cc=airlied@linux.ie \
    --cc=allison@lohutok.net \
    --cc=catalin.marinas@arm.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=maxime.ripard@bootlin.com \
    --cc=robdclark@chromium.org \
    --cc=robdclark@gmail.com \
    --cc=sean@poorly.run \
    --cc=tglx@linutronix.de \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).