Re: [PATCH dt + pci 1/2] dt-bindings: Add 'slot-power-limit-milliwatt' PCIe port property
From: Pali Rohár <pali@kernel.org>
Date: 2021-11-12 17:12:53
Also in:
linux-pci
On Friday 12 November 2021 10:30:01 Rob Herring wrote:
On Fri, Nov 12, 2021 at 9:32 AM Pali Rohár [off-list ref] wrote:quoted
On Friday 12 November 2021 09:25:20 Rob Herring wrote:quoted
On Sun, Oct 31, 2021 at 04:07:05PM +0100, Marek Behún wrote:quoted
+ If present, this property specifies slot power limit in milliwatts. Host + drivers can parse this property and use it for programming Root Port or host + bridge, or for composing and sending PCIe Set_Slot_Power_Limit messages + through the Root Port or host bridge when transitioning PCIe link from a + non-DL_Up Status to a DL_Up Status.If your slots are behind a switch, then doesn't this apply to any bridge port?The main issue here is that pci.txt (and also scheme on github) is mixing host bridge and root ports into one node. This new property should be defined at the same place where is supports-clkreq or reset-gpios, as it belongs to them.Unfortunately that ship has already sailed. So we can split things up, but we still have to allow for the existing cases. I'm happy to take changes splitting up pci-bus.yaml to 2 or 3 schemas (host bridge, root-port, and PCI(e)-PCI(e) bridge?).
Well, no problem. I just need to know how you want to handle backward compatibility definitions in YAML. Because it is possible via versioning (like in JSONSchema-like structures in OpenAPI versioning) or via deprecated attributes or via defining two schemas (one strict and one loose)... There are lot of options and I saw all these options in different projects which use YAML or JSON. I did not know about github repository, I always looked at schemas and definitions only in linux kernel tree and external files which were mentioned in kernel tree. Something I wrote in my RFC email, but I wrote this email patch... https://lore.kernel.org/linux-pci/20211023144252.z7ou2l2tvm6cvtf7@pali/ (local)
quoted
And you are right, that this new property should be defined only for root ports and downstream ports of switch.