Thread (19 messages) 19 messages, 3 authors, 2024-08-27

Re: [PATCH v2 3/6] dt-bindings: PCI: ti,am65: Extend for use with PVU

From: Jan Kiszka <jan.kiszka@siemens.com>
Date: 2024-08-27 10:46:29
Also in: linux-arm-kernel, lkml

On 27.08.24 12:06, Siddharth Vadapalli wrote:
On Tue, Aug 27, 2024 at 11:32:02AM +0200, Jan Kiszka wrote:
quoted
On 27.08.24 11:29, Krzysztof Kozlowski wrote:
quoted
On 27/08/2024 11:22, Jan Kiszka wrote:
quoted
On 27.08.24 08:37, Krzysztof Kozlowski wrote:
quoted
On Mon, Aug 26, 2024 at 11:50:04PM +0200, Jan Kiszka wrote:
quoted
From: Jan Kiszka <jan.kiszka@siemens.com>

Describe also the VMAP registers which are needed in order to make use
of the PVU with this PCI host. Furthermore, permit to specify a
restricted DMA pool by phandle.
That's an ABI break without explanation why it is necessary.
It is needed in order to support the PVU, as written above.
Above say only that you want a new feature and that's not really
suitable explanation for ABI break, because answer to this is: add new
feature without breaking existing users. But maybe there is a bug or
something does not work or never work or there are no users, don't know.
quoted
Previous versions of this binding likely didn't consider this use case
and therefore didn't describe all registers associated with the hardware.

BTW, if you see a way to add the required registers without breaking
more than needed, I'm all ears. At least the kernel driver will continue
to work with older DTs when you disable PVU support or do not add a DMA
pool to the DT.
If there is no ABI break, because driver still handles correctly old
DTB, then mention it in the commit msg.
Well, this is strictly spoken not a topic for this commit because this
one should have no clue about what drivers do with DTs according to this
binding. But I can put a hint and go into details in the driver patch.
Based on the Techincal Reference Manual for AM654 and the driver
implementation in patch 5/6, I think that the following might be one way
of hinting that ABI won't break:

The PVU on the AM65 SoC is capable of restricting DMA from PCIe devices to
specific regions of host memory. Add the optional property "memory-regions"
to point to such regions of memory when PVU is used. Since the PVU deals
with system physical addresses, utilizing the PVU with PCIe devices also
requires setting up the VMAP registers to map the Requester ID of the
PCIe device to the CBA Virtual ID, which in turn is mapped to the system
physical address. Hence, describe the VMAP registers which are optionally
configured whenever PVU is used for PCIe.
Thanks, will reuse this!

Additionally, we should then likely do

  reg:
    minItems: 4
    maxItems: 6

to underline that the old form is still fine. Do I need to do anything
to reg-names then as well?

Jan

-- 
Siemens AG, Technology
Linux Expert Center
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help