[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <DS0PR11MB637482C854F7C5FF32033D8F9906A@DS0PR11MB6374.namprd11.prod.outlook.com>
Date: Tue, 2 Sep 2025 08:34:17 +0000
From: "Sun, Yi" <yi.sun@...el.com>
To: Vinod Koul <vkoul@...nel.org>
CC: "Gomes, Vinicius" <vinicius.gomes@...el.com>, "Jiang, Dave"
<dave.jiang@...el.com>, "dmaengine@...r.kernel.org"
<dmaengine@...r.kernel.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, "Jin, Gordon" <gordon.jin@...el.com>,
"fenghuay@...dia.com" <fenghuay@...dia.com>, "Lai, Yi1" <yi1.lai@...el.com>,
Anil S Keshavamurthy <anil.s.keshavamurthy@...el.com>
Subject: RE: [PATCH v3 1/2] dmaengine: idxd: Expose DSA3.0 capabilities
through sysfs
Hi Vinod,
The three capability registers are consecutive in BAR0 (0x180, 0x188, 0x190) and represent a single functionality. Exposing them as one sysfs entry makes their relationship clearer and avoids clutter, since there are already many files under dsa<x>.
If more capability registers are added at sequential offsets and for the same function in the future, they can be appended in order(higher offsets placed left-to-right) to maintain consistency.
We considered exposing them as separate files, but agreed that a single file provides better clarity and reduces noise.
Thanks
--Sun, Yi
-----Original Message-----
From: Vinod Koul <vkoul@...nel.org>
Sent: Tuesday, September 2, 2025 15:25
To: Sun, Yi <yi.sun@...el.com>
Cc: Gomes, Vinicius <vinicius.gomes@...el.com>; Jiang, Dave <dave.jiang@...el.com>; dmaengine@...r.kernel.org; linux-kernel@...r.kernel.org; Jin, Gordon <gordon.jin@...el.com>; fenghuay@...dia.com; Lai, Yi1 <yi1.lai@...el.com>; Anil S Keshavamurthy <anil.s.keshavamurthy@...el.com>
Subject: Re: [PATCH v3 1/2] dmaengine: idxd: Expose DSA3.0 capabilities through sysfs
On 21-08-25, 16:51, Yi Sun wrote:
> Introduce sysfs interfaces for 3 new Data Streaming Accelerator (DSA)
> capability registers (dsacap0-2) to enable userspace awareness of hardware
> features in DSA version 3 and later devices.
>
> Userspace components (e.g. configure libraries, workload Apps) require this
> information to:
> 1. Select optimal data transfer strategies based on SGL capabilities
> 2. Enable hardware-specific optimizations for floating-point operations
> 3. Configure memory operations with proper numerical handling
> 4. Verify compute operation compatibility before submitting jobs
>
> The output format is <dsacap2>,<dsacap1>,<dsacap0>, where each DSA
> capability value is a 64-bit hexadecimal number, separated by commas.
> The ordering follows the DSA 3.0 specification layout:
> Offset: 0x190 0x188 0x180
> Reg: dsacap2 dsacap1 dsacap0
>
> Example:
> cat /sys/bus/dsa/devices/dsa0/dsacaps
> 000000000000f18d,0014000e000007aa,00fa01ff01ff03ff
sysfs are supposed to be single values only, should we rather do per
capability? Also in future if you have more than three...? what happens
then?
--
~Vinod
Powered by blists - more mailing lists