Re: [PATCH hyperv-next v5 07/11] dt-bindings: microsoft,vmbus: Add interrupts and DMA coherence
From: Roman Kisel <hidden>
Date: 2025-03-10 18:07:09
Also in:
kvmarm, linux-acpi, linux-arch, linux-devicetree, linux-hyperv, linux-pci, lkml
On 3/10/2025 10:40 AM, Krzysztof Kozlowski wrote:
On 10/03/2025 18:05, Roman Kisel wrote:quoted
On 3/10/2025 2:28 AM, Krzysztof Kozlowski wrote:quoted
On Fri, Mar 07, 2025 at 02:02:59PM -0800, Roman Kisel wrote:quoted
To boot on ARM64, VMBus requires configuring interrupts. Missing DMA coherence property is sub-optimal as the VMBus transations are cache-coherent. Add interrupts to be able to boot on ARM64. Add DMA coherence to avoid doing extra work on maintaining caches on ARM64.How do you add it?I added properties to the node. Should I fix the description, or I am misunderstanding the question?I saw interrupts in the schema, but I did not see dma-coherence. I also did not see any DTS patches here, so I don't understand what node you are referring to.
I will refer to talks, example-bindings, writing-schema you've suggested to waste your time less. It appears there is some fundamental flaw in my understanding of how these YAML files work so much so that I cannot even write a commit description that can be understood, for the 5th time in the row, sorry about that.
quoted
quoted
quoted
Signed-off-by: Roman Kisel <redacted> --- .../devicetree/bindings/bus/microsoft,vmbus.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)diff --git a/Documentation/devicetree/bindings/bus/microsoft,vmbus.yaml b/Documentation/devicetree/bindings/bus/microsoft,vmbus.yaml index a8d40c766dcd..3ab7d0116626 100644 --- a/Documentation/devicetree/bindings/bus/microsoft,vmbus.yaml +++ b/Documentation/devicetree/bindings/bus/microsoft,vmbus.yaml@@ -28,13 +28,16 @@ properties: required: - compatible - ranges + - interrupts - '#address-cells' - '#size-cells' -additionalProperties: false +additionalProperties: trueThis is neither explained in commit msg nor correct.Not explained, as there is no good explanation as described below.quoted
Drop the change. You cannot have device bindings ending with 'true' here - see talks, example-bindings, writing-schema and whatever resource is there.Thanks, I'll put more effort into bringing this into a better form! If you have time, could you comment on the below? The Documentation says * additionalProperties: true Rare case, used for schemas implementing common set of properties. Such schemas are supposed to be referenced by other schemas, which then use 'unevaluatedProperties: false'. Typically bus or common-part schemas. This is a bus so I added that line to the YAML, and I saw it in manyIf this is a bus, then where is schema using it for bus-attached-devices? You cannot have bus without devices. You *must* fulfill that part: "Such schemas are supposed to be referenced by other schemas, which then" instead of calling it bus...
It is modeled as a bus in the kernel: https://www.kernel.org/doc/html/latest/virt/hyperv/vmbus.html
Please upstream bindings for the bus devices and extend the example here with these devices.
The set of synthetic devices that reside on the bus isn't fixed, and they don't require description neither in ACPI nor in DT as the devices negotiate their MMIO regions through the hyperv driver. Perhaps, it is not as much bus as expected by the YAML files.
Or this is not bus (calling something vmpony does not make it a pony).
> > Best regards,
Krzysztof
-- Thank you, Roman