Linux-mediatek Archive mirror
 help / color / mirror / Atom feed
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


  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).