[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
<SA1PR19MB490914561C8ADF3012814D69C231A@SA1PR19MB4909.namprd19.prod.outlook.com>
Date: Mon, 18 Aug 2025 08:41:21 +0000
From: Yi xin Zhu <yzhu@...linear.com>
To: Krzysztof Kozlowski <krzk@...nel.org>, "vkoul@...nel.org"
<vkoul@...nel.org>, "robh@...nel.org" <robh@...nel.org>, "krzk+dt@...nel.org"
<krzk+dt@...nel.org>, "conor+dt@...nel.org" <conor+dt@...nel.org>,
"p.zabel@...gutronix.de" <p.zabel@...gutronix.de>, "kees@...nel.org"
<kees@...nel.org>, "dave.jiang@...el.com" <dave.jiang@...el.com>,
"av2082000@...il.com" <av2082000@...il.com>, "dmaengine@...r.kernel.org"
<dmaengine@...r.kernel.org>, "devicetree@...r.kernel.org"
<devicetree@...r.kernel.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>
Subject: RE: [PATCH v2 1/3] dt-bindings: lgm-dma: Added intel,dma-sw-desc
property.
Hi Krzysztof,
On 15/08/2025 18:40, Krzysztof wrote:
>
>
> What is a "SoC level configuration"?
>
> From your explanation 1+2 it feels like consumer chooses it. Where is a full DTS
> showing all this?
>
>
> > of the DMA instances work in hardware descriptor mode while other DMA
> > instances work in software descriptor mode or all in HW/SW mode.
> >
>
> Best regards,
> Krzysztof
In the LGM SoC, The DMA instances are default connected to CBM(central buffer manager) to automate the DMA descriptors.
It can also be detached from CBM to use it in different use cases individually.
In the HW descriptor case, the device tree would be like:
dma1tx: dma-controller@...00000 {
compatible = "intel,lgm-dma1tx";
reg = <0xe7300000 0x1000>;
...
#dma-cells = <3>;
intel,dma-poll-cnt = <16>;
};
cbm: cbm@...00000 {
dmas = <&dma1tx 0 0 64>, <&dma1tx 1 0 64> ... <&dma1tx 15 0 64>;
};
DMA HW feature, desc_fod(descriptor fetch on demand) and desc_in_sram are turned on in the DMA controller in this case.
These HW features are defined in platform data in the existing DMA driver as default enabled.
static const struct ldma_inst_data dma1tx = {
...
.desc_fod = true;
.desc_in_sram = true;
};
In the SW descriptor management case, the device tree would be like:
dma1tx: dma-controller@...00000 {
compatible = "intel,lgm-dma1tx";
reg = <0xe7300000 0x1000>;
...
#dma-cells = <3>;
intel,dma-poll-cnt = <16>;
intel,dma-sw-desc;
};
eth: eth@...000 {
dmas = <&dma1tx 0 0 64>;
};
Ethernet driver is an example to use the DMA to transfer data.
In the SW descriptor management case, DMA driver must turn off
DMA HW feature desc_fod and desc_in_sram to give the control to CPU.
Best regards,
Yixin
Powered by blists - more mailing lists