From: Chen-Yu Tsai <wenst@chromium.org>
To: Manivannan Sadhasivam <mani@kernel.org>
Cc: "Matthias Brugger" <matthias.bgg@gmail.com>,
"AngeloGioacchino Del Regno"
<angelogioacchino.delregno@collabora.com>,
"Ryder Lee" <ryder.lee@mediatek.com>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Krzysztof Wilczyński" <kwilczynski@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
devicetree@vger.kernel.org, linux-pci@vger.kernel.org,
linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] dt-bindings: PCI: mediatek-gen3: Allow memory-region for restricted DMA buffer
Date: Thu, 14 May 2026 15:54:29 +0800 [thread overview]
Message-ID: <CAGXv+5GAaMQbaoUVr5zcwtHaofyXwHz03TxBe-QyWj_sNoQZsg@mail.gmail.com> (raw)
In-Reply-To: <locoul5wdzuvvmm7mqpuntjqu4o75gmyd5npgfqrw3zuwsrse6@dhrjggs4cihh>
On Thu, May 14, 2026 at 1:23 PM Manivannan Sadhasivam <mani@kernel.org> wrote:
>
> On Fri, May 08, 2026 at 02:36:32PM +0800, Chen-Yu Tsai wrote:
> > On some SoCs without an IOMMU behind the PCIe controller, the PCIe
> > controller memory access could be limited to a small region by the
> > firmware configuring a memory protection unit. This memory region
> > must be assigned to the PCIe controller so that the OS knows to
> > use that region. Otherwise PCIe devices would not work properly.
> >
>
> So this means, the PCIe devices can only access a specific carveout memory
> configured by MPU for DMA? If so, you should use 'dma-ranges' as suggested by
> Rob.
>
> 'memory-region' also serves the purpose, but for PCI, we have the dedicated
> 'dma-ranges' property.
I think I need some sort of guide on writing the 'dma-ranges' property,
because it is not working for me.
I'm adding
dma-ranges = <0x42000000 0 0x00000000 0 0xc0000000 0 0x4000000>;
to the PCIe controller node, and dropping the memory-region. The WiFi
driver subsequently fails to allocate buffers:
rtw88_8822ce 0000:01:00.0: enabling device (0000 -> 0003)
rtw88_8822ce 0000:01:00.0: failed to allocate tx ring
This is dma_alloc_coherent() failing.
rtw88_8822ce 0000:01:00.0: Firmware version 9.9.15, H2C version 15
rtw88_8822ce 0000:01:00.0: failed to allocate pci resources
rtw88_8822ce 0000:01:00.0: WOW Firmware version 9.9.4, H2C version 15
rtw88_8822ce 0000:01:00.0: failed to setup pci resources
rtw88_8822ce 0000:01:00.0: probe with driver rtw88_8822ce failed
with error -12
Also, using memory-region seems more straight-forward: I have a region of
memory dedicated to the PCIe controller. I describe the memory region,
and assign it to the PCIe controller.
Thanks
ChenYu
next prev parent reply other threads:[~2026-05-14 7:54 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-08 6:36 [PATCH] dt-bindings: PCI: mediatek-gen3: Allow memory-region for restricted DMA buffer Chen-Yu Tsai
2026-05-08 17:54 ` Bjorn Helgaas
2026-05-11 5:15 ` Chen-Yu Tsai
2026-05-11 10:04 ` AngeloGioacchino Del Regno
2026-05-13 23:15 ` Rob Herring
2026-05-14 8:12 ` Chen-Yu Tsai
2026-05-14 5:23 ` Manivannan Sadhasivam
2026-05-14 7:54 ` Chen-Yu Tsai [this message]
2026-05-14 11:48 ` Manivannan Sadhasivam
2026-05-15 9:16 ` Chen-Yu Tsai
2026-05-15 12:34 ` Manivannan Sadhasivam
2026-05-18 9:02 ` Chen-Yu Tsai
2026-05-19 7:21 ` Manivannan Sadhasivam
2026-05-19 8:42 ` Chen-Yu Tsai
2026-06-01 21:48 ` Rob Herring
2026-06-02 7:02 ` Chen-Yu Tsai
2026-06-09 3:33 ` Chen-Yu Tsai
2026-06-12 14:32 ` Rob Herring (Arm)
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=CAGXv+5GAaMQbaoUVr5zcwtHaofyXwHz03TxBe-QyWj_sNoQZsg@mail.gmail.com \
--to=wenst@chromium.org \
--cc=angelogioacchino.delregno@collabora.com \
--cc=bhelgaas@google.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzk+dt@kernel.org \
--cc=kwilczynski@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-pci@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=mani@kernel.org \
--cc=matthias.bgg@gmail.com \
--cc=robh@kernel.org \
--cc=ryder.lee@mediatek.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).