From: Robin Murphy <robin.murphy@arm.com>
To: Rob Herring <robh@kernel.org>, dri-devel@lists.freedesktop.org
Cc: Maxime Ripard <maxime.ripard@bootlin.com>,
Tomeu Vizoso <tomeu.vizoso@collabora.com>,
David Airlie <airlied@linux.ie>,
Steven Price <steven.price@arm.com>,
Boris Brezillon <boris.brezillon@collabora.com>,
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>,
Sean Paul <sean@poorly.run>
Subject: Re: [PATCH v2 8/8] drm/panfrost: Remove unnecessary flushing from tlb_inv_context
Date: Fri, 23 Aug 2019 13:56:11 +0100 [thread overview]
Message-ID: <39a16722-9ab2-b7ca-1c28-dd733c1b193a@arm.com> (raw)
In-Reply-To: <20190823021216.5862-9-robh@kernel.org>
On 23/08/2019 03:12, Rob Herring wrote:
> tlb_inv_context() hook is only called when freeing the page tables. There's
> no point in flushing only to free the page tables immediately following.
FWIW, in general the point of flushing is *because* we're about to free
the pagetables - if there's any possibility that the hardware could
continue to issue translation table walks (speculative or otherwise)
after those pages have been reused by someone else, TLB badness may ensue.
For panfrost in particular I suspect we can probably get away without
it, at least for the moment, but it might be worth moving the flush to
mmu_disable() for complete peace of mind (which kind of preempts the
sort of thing that per-process AS switching will want anyway).
Robin.
> There is also a problem that we could be accessing the h/w when suspended.
>
> Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
> Cc: Steven Price <steven.price@arm.com>
> Cc: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
> v2: new patch
>
> drivers/gpu/drm/panfrost/panfrost_mmu.c | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/panfrost/panfrost_mmu.c b/drivers/gpu/drm/panfrost/panfrost_mmu.c
> index ccf671a9c3fb..9f85275a896c 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_mmu.c
> +++ b/drivers/gpu/drm/panfrost/panfrost_mmu.c
> @@ -328,11 +328,7 @@ void panfrost_mmu_unmap(struct panfrost_gem_object *bo)
> }
>
> static void mmu_tlb_inv_context_s1(void *cookie)
> -{
> - struct panfrost_file_priv *priv = cookie;
> -
> - mmu_hw_do_operation(priv->pfdev, &priv->mmu, 0, ~0UL, AS_COMMAND_FLUSH_MEM);
> -}
> +{}
>
> static void mmu_tlb_inv_range_nosync(unsigned long iova, size_t size,
> size_t granule, bool leaf, void *cookie)
>
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2019-08-23 12:56 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-23 2:12 (unknown) Rob Herring
2019-08-23 2:12 ` [PATCH v2 1/8] drm/panfrost: Fix possible suspend in panfrost_remove Rob Herring
2019-08-23 14:50 ` Steven Price
2019-08-23 2:12 ` [PATCH v2 2/8] drm/panfrost: Rework runtime PM initialization Rob Herring
2019-08-23 10:54 ` Robin Murphy
2019-08-23 12:16 ` Rob Herring
2019-08-23 2:12 ` [PATCH v2 3/8] drm/panfrost: Hold runtime PM reference until jobs complete Rob Herring
2019-08-23 14:50 ` Steven Price
2019-08-23 15:13 ` Rob Herring
2019-08-23 2:12 ` [PATCH v2 4/8] drm/shmem: Do dma_unmap_sg before purging pages Rob Herring
2019-08-23 2:12 ` [PATCH v2 5/8] drm/shmem: Use mutex_trylock in drm_gem_shmem_purge Rob Herring
2019-08-23 14:53 ` Steven Price
2019-08-23 2:12 ` [PATCH v2 6/8] drm/panfrost: Use mutex_trylock in panfrost_gem_purge Rob Herring
2019-08-23 14:55 ` Steven Price
2019-08-23 2:12 ` [PATCH v2 7/8] drm/panfrost: Rework page table flushing and runtime PM interaction Rob Herring
2019-08-23 11:11 ` Robin Murphy
2019-08-23 15:05 ` Steven Price
2019-08-23 15:44 ` Robin Murphy
2019-08-23 15:57 ` Rob Herring
2019-08-23 16:16 ` Robin Murphy
2019-08-23 16:45 ` Rob Herring
2019-08-23 15:09 ` Steven Price
2019-08-23 15:49 ` Rob Herring
2019-08-23 2:12 ` [PATCH v2 8/8] drm/panfrost: Remove unnecessary flushing from tlb_inv_context Rob Herring
2019-08-23 12:56 ` Robin Murphy [this message]
2019-08-23 13:18 ` Rob Herring
2019-08-23 14:05 ` Robin Murphy
2019-08-23 14:26 ` Rob Herring
2019-08-23 14:56 ` Robin Murphy
2019-08-23 15:12 ` Steven Price
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=39a16722-9ab2-b7ca-1c28-dd733c1b193a@arm.com \
--to=robin.murphy@arm.com \
--cc=airlied@linux.ie \
--cc=alyssa.rosenzweig@collabora.com \
--cc=boris.brezillon@collabora.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=maxime.ripard@bootlin.com \
--cc=robh@kernel.org \
--cc=sean@poorly.run \
--cc=steven.price@arm.com \
--cc=tomeu.vizoso@collabora.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.