lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ