From: Thierry Reding <thierry.reding@kernel.org>
To: Vincent Donnefort <vdonnefort@google.com>
Cc: "Will Deacon" <will@kernel.org>, "Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Jonathan Hunter" <jonathanh@nvidia.com>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Maxime Ripard" <mripard@kernel.org>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"Sowjanya Komatineni" <skomatineni@nvidia.com>,
"Luca Ceresoli" <luca.ceresoli@bootlin.com>,
"Mikko Perttunen" <mperttunen@nvidia.com>,
"Yury Norov" <yury.norov@gmail.com>,
"Rasmus Villemoes" <linux@rasmusvillemoes.dk>,
"Russell King" <linux@armlinux.org.uk>,
"Alexander Gordeev" <agordeev@linux.ibm.com>,
"Gerald Schaefer" <gerald.schaefer@linux.ibm.com>,
"Heiko Carstens" <hca@linux.ibm.com>,
"Vasily Gorbik" <gor@linux.ibm.com>,
"Christian Borntraeger" <borntraeger@linux.ibm.com>,
"Sven Schnelle" <svens@linux.ibm.com>,
"Andrew Morton" <akpm@linux-foundation.org>,
"David Hildenbrand" <david@kernel.org>,
"Lorenzo Stoakes" <ljs@kernel.org>,
"Liam R. Howlett" <liam@infradead.org>,
"Vlastimil Babka" <vbabka@kernel.org>,
"Mike Rapoport" <rppt@kernel.org>,
"Suren Baghdasaryan" <surenb@google.com>,
"Michal Hocko" <mhocko@suse.com>,
"Marek Szyprowski" <m.szyprowski@samsung.com>,
"Robin Murphy" <robin.murphy@arm.com>,
"Sumit Semwal" <sumit.semwal@linaro.org>,
"Benjamin Gaignard" <benjamin.gaignard@collabora.com>,
"Brian Starkey" <Brian.Starkey@arm.com>,
"John Stultz" <jstultz@google.com>,
"T.J. Mercier" <tjmercier@google.com>,
"Christian König" <christian.koenig@amd.com>,
"Steven Rostedt" <rostedt@goodmis.org>,
"Masami Hiramatsu" <mhiramat@kernel.org>,
"Mathieu Desnoyers" <mathieu.desnoyers@efficios.com>,
"Catalin Marinas" <catalin.marinas@arm.com>,
"Chun Ng" <chunn@nvidia.com>,
"Mark Rutland" <mark.rutland@arm.com>,
"Saravana Kannan" <saravanak@kernel.org>,
"Thierry Reding" <thierry.reding@gmail.com>,
devicetree@vger.kernel.org, linux-tegra@vger.kernel.org,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
linux-media@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-s390@vger.kernel.org,
linux-mm@kvack.org, iommu@lists.linux.dev,
linaro-mm-sig@lists.linaro.org,
linux-trace-kernel@vger.kernel.org,
"Thierry Reding" <treding@nvidia.com>
Subject: Re: [PATCH v6 00/12] dma-buf: heaps: Add support for Tegra VPR
Date: Tue, 8 Sep 2026 11:08:26 +0200 [thread overview]
Message-ID: <ap_QJG8EevX98SXa@orome> (raw)
In-Reply-To: <ap_OFQepcu26g88u@google.com>
[-- Attachment #1: Type: text/plain, Size: 3812 bytes --]
On Tue, Sep 08, 2026 at 09:57:57AM +0100, Vincent Donnefort wrote:
> On Tue, Sep 08, 2026 at 10:39:17AM +0200, Thierry Reding wrote:
> > On Fri, Sep 04, 2026 at 12:41:05PM +0100, Will Deacon wrote:
> > > Hi Thierry,
> > >
> > > On Fri, Sep 04, 2026 at 12:44:51PM +0200, Thierry Reding wrote:
> > > > This series adds support for the video protection region (VPR) used on
> > > > Tegra SoC devices. It's a special region of memory that is protected
> > > > from accesses by the CPU and used to store DRM protected content (both
> > > > decrypted stream data as well as decoded video frames).
> > > >
> > > > Patches 1 through 3 add DT binding documentation for the VPR and add the
> > > > VPR to the list of memory-region items for display, host1x and NVDEC.
> > > >
> > > > The set_direct_map_*_noflush() functions that will be used later in this
> > > > series are exported in patch 4 so that the drivers that use them can be
> > > > built as a module.
> > > >
> > > > Patch 5 adds bitmap_allocate(), which is like bitmap_allocate_region()
> > > > but works on sizes that are not a power of two.
> > > >
> > > > The of_node_to_nid() function is exported in patch 6 because it is used
> > > > in a later patch adding a driver that can be built as a module.
> > > >
> > > > Patch 7 introduces new APIs needed by the Tegra VPR implementation that
> > > > allow memory to be allocated at a fixed offset within a CMA area. Tegra
> > > > VPR needs this in order to implement its own allocator on top of CMA to
> > > > meet the strict hardware requirements. This replaces the dynamic CMA
> > > > area creation patch from earlier versions.
> > >
> > > Did you get a chance to see how this could work with Vincent's series:
> > >
> > > https://lore.kernel.org/r/20260902104712.2399797-1-vdonnefort@google.com
> > >
> > > ? I think that should remove your reliance on can_set_direct_map() and
> > > mean that you can retain block mappings for most of the linear mapping.
> >
> > I'm not sure if it would help all that much. Yes, if we mark the VPR
> > region as LLMAP (or PTE_MAP, whichever it ends up being), it should make
> > the checks for can_set_direct_map() redundant. However, from what I can
> > tell, Vincent's series still forces page-granularity on these regions,
> > so it won't retain block mappings at all for them.
> >
> > The block mappings can be retained for the non-VPR memory, so that's
> > nice. It also reduces the amount of external prerequisites, but I had
> > kind of hoped that we could go one step further and keep block mappings
> > even for the VPR memory if the region happened to be a multiple of the
> > block size.
> >
> > The recent addition of page count to the set_direct_map_*() functions
> > helps reduce the amount of checks that need to be run, so maybe there's
> > not too much to be gained from removing whole block mappings at once
> > from the linear map.
> >
> > Thierry
>
> I should be able to add PMD_SIZE mapping support to the series. That was
> actually my original idea as we can easily force the CMA allocation granule to
> be PMD_SIZE too.
>
> I didn't implement it as I thought there were not much interest in the end (and
> also as contiguous.c is always using PAGE_SIZE granularity).
>
> But now as I have implemented a specific pool (and do not use contiguous.c as
> originally planned), if you believe it is important for the VPR driver, let me
> see if I can extend the support in a V2.
I don't think it needs to be part of a v2 and can be a follow-up. It
should be transparent from an API point of view and merely be an
optimisation for that specific case.
Eventually it'd be nice to have, though it might also be worth checking
what the actually gains are.
Thierry
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2026-09-08 9:08 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-04 10:44 [PATCH v6 00/12] dma-buf: heaps: Add support for Tegra VPR Thierry Reding
2026-09-04 10:44 ` [PATCH v6 01/12] dt-bindings: reserved-memory: Document " Thierry Reding
2026-09-04 10:59 ` sashiko-bot
2026-09-04 10:44 ` [PATCH v6 02/12] dt-bindings: display: tegra: Document memory regions Thierry Reding
2026-09-04 10:56 ` sashiko-bot
2026-09-04 10:44 ` [PATCH v6 03/12] dt-bindings: gpu: host1x: Document memory-regions for NVDEC Thierry Reding
2026-09-04 11:03 ` sashiko-bot
2026-09-09 14:13 ` Thierry Reding
2026-09-04 10:44 ` [PATCH v6 04/12] arm64/mm: Export set_direct_map_*_noflush() APIs Thierry Reding
2026-09-04 11:13 ` sashiko-bot
2026-09-10 5:51 ` Christoph Hellwig
2026-09-10 9:21 ` Thierry Reding
2026-09-04 10:44 ` [PATCH v6 05/12] bitmap: Add bitmap_allocate() function Thierry Reding
2026-09-04 11:13 ` sashiko-bot
2026-09-04 10:44 ` [PATCH v6 06/12] of: Export of_node_to_nid() Thierry Reding
2026-09-04 11:21 ` sashiko-bot
2026-09-08 14:59 ` Rob Herring
2026-09-10 10:52 ` Thierry Reding
2026-09-04 10:44 ` [PATCH v6 07/12] mm/cma: Introduce cma_alloc_at() API Thierry Reding
2026-09-04 11:22 ` sashiko-bot
2026-09-08 8:21 ` Marek Szyprowski
2026-09-04 10:44 ` [PATCH v6 08/12] dma-buf: heaps: Add debugfs support Thierry Reding
2026-09-04 11:34 ` sashiko-bot
[not found] ` <a77730b2-b5d6-49f9-a8ab-72eac4e241b6@amd.com>
2026-09-09 11:04 ` Christian König
2026-09-09 14:09 ` Thierry Reding
2026-09-04 10:45 ` [PATCH v6 09/12] dma-buf: heaps: Add support for Tegra VPR Thierry Reding
2026-09-04 11:38 ` sashiko-bot
2026-09-08 14:56 ` Rob Herring
2026-09-04 10:45 ` [PATCH v6 10/12] arm64: tegra: Add VPR placeholder node on Tegra234 Thierry Reding
2026-09-04 11:54 ` sashiko-bot
2026-09-04 10:45 ` [PATCH v6 11/12] arm64: tegra: Hook up VPR to host1x Thierry Reding
2026-09-04 11:49 ` sashiko-bot
2026-09-04 10:45 ` [PATCH v6 12/12] arm64: tegra: Add VPR placeholder node on Tegra264 Thierry Reding
2026-09-04 11:53 ` sashiko-bot
2026-09-04 11:41 ` [PATCH v6 00/12] dma-buf: heaps: Add support for Tegra VPR Will Deacon
2026-09-08 8:39 ` Thierry Reding
2026-09-08 8:57 ` Vincent Donnefort
2026-09-08 9:08 ` Thierry Reding [this message]
2026-09-08 9:10 ` Vincent Donnefort
2026-09-08 9:06 ` Thierry Reding
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=ap_QJG8EevX98SXa@orome \
--to=thierry.reding@kernel.org \
--cc=Brian.Starkey@arm.com \
--cc=agordeev@linux.ibm.com \
--cc=airlied@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=benjamin.gaignard@collabora.com \
--cc=borntraeger@linux.ibm.com \
--cc=catalin.marinas@arm.com \
--cc=christian.koenig@amd.com \
--cc=chunn@nvidia.com \
--cc=conor+dt@kernel.org \
--cc=david@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=gerald.schaefer@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=iommu@lists.linux.dev \
--cc=jonathanh@nvidia.com \
--cc=jstultz@google.com \
--cc=krzk+dt@kernel.org \
--cc=liam@infradead.org \
--cc=linaro-mm-sig@lists.linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=linux@rasmusvillemoes.dk \
--cc=ljs@kernel.org \
--cc=luca.ceresoli@bootlin.com \
--cc=m.szyprowski@samsung.com \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mark.rutland@arm.com \
--cc=mathieu.desnoyers@efficios.com \
--cc=mhiramat@kernel.org \
--cc=mhocko@suse.com \
--cc=mperttunen@nvidia.com \
--cc=mripard@kernel.org \
--cc=robh@kernel.org \
--cc=robin.murphy@arm.com \
--cc=rostedt@goodmis.org \
--cc=rppt@kernel.org \
--cc=saravanak@kernel.org \
--cc=simona@ffwll.ch \
--cc=skomatineni@nvidia.com \
--cc=sumit.semwal@linaro.org \
--cc=surenb@google.com \
--cc=svens@linux.ibm.com \
--cc=thierry.reding@gmail.com \
--cc=tjmercier@google.com \
--cc=treding@nvidia.com \
--cc=tzimmermann@suse.de \
--cc=vbabka@kernel.org \
--cc=vdonnefort@google.com \
--cc=will@kernel.org \
--cc=yury.norov@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox