Message ID | 20241105180444.770951-2-quic_rajkbhag@quicinc.com |
---|---|
State | New |
Headers | show |
Series | wifi: ath12k: Add wifi device node with WSI for QCN9274 in RDP433 | expand |
On 11/5/2024 10:04 AM, Raj Kumar Bhagat wrote: ... > +++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath12k-wsi.yaml > @@ -0,0 +1,205 @@ ... > +maintainers: > + - Jeff Johnson <quic_jjohnson@quicinc.com> please replace with jjohnson@kernel.org when you post v4
On 5.11.2024 7:04 PM, Raj Kumar Bhagat wrote: > The QCN9274 WiFi device supports WSI (WLAN Serial Interface). WSI is used > to exchange specific control information across radios using a doorbell > mechanism. This WSI connection is essential for exchanging control > information among these devices. The WSI interface in the QCN9274 includes > TX and RX ports, which are used to connect multiple WSI-supported devices > together, forming a WSI group. > > Describe QCN9274 PCI wifi device with WSI interface. > > Signed-off-by: Raj Kumar Bhagat <quic_rajkbhag@quicinc.com> > --- I think this description is missing the key points: * what is that control information (power, data, radio stuff?) * what happens when the OS is unaware of all of this (i.e. what happens when we don't send any configuration) * is this configurable, or does this describe a physical wiring topology (what/who decides which of the group configurations detailed below take effect) And the ultimate question: * can the devices not just talk among themselves and negotiate that? Though AFAICU PCIe P2P communication is a shaky topic, so perhaps the answer to the last question is 'no' Konrad
On 12/20/2024 12:03 PM, Konrad Dybcio wrote: > On 5.11.2024 7:04 PM, Raj Kumar Bhagat wrote: >> The QCN9274 WiFi device supports WSI (WLAN Serial Interface). WSI is used >> to exchange specific control information across radios using a doorbell >> mechanism. This WSI connection is essential for exchanging control >> information among these devices. The WSI interface in the QCN9274 includes >> TX and RX ports, which are used to connect multiple WSI-supported devices >> together, forming a WSI group. >> >> Describe QCN9274 PCI wifi device with WSI interface. >> >> Signed-off-by: Raj Kumar Bhagat <quic_rajkbhag@quicinc.com> >> --- > > I think this description is missing the key points: > > * what is that control information (power, data, radio stuff?) > * what happens when the OS is unaware of all of this (i.e. what happens when > we don't send any configuration) > * is this configurable, or does this describe a physical wiring topology > (what/who decides which of the group configurations detailed below take > effect) > > And the ultimate question: > * can the devices not just talk among themselves and negotiate that? > > Though AFAICU PCIe P2P communication is a shaky topic, so perhaps the answer > to the last question is 'no' > > Konrad We already pushed the non-RFC version to our -next tree so we cannot update the commit description without a forced push. https://lore.kernel.org/all/20241211153432.775335-2-kvalo@kernel.org/ However, Raj Kumar can submit an update to the description in the file, which is probably the better place to have this information anyway. /jeff
On 20.12.2024 10:47 PM, Jeff Johnson wrote: > On 12/20/2024 12:03 PM, Konrad Dybcio wrote: >> On 5.11.2024 7:04 PM, Raj Kumar Bhagat wrote: >>> The QCN9274 WiFi device supports WSI (WLAN Serial Interface). WSI is used >>> to exchange specific control information across radios using a doorbell >>> mechanism. This WSI connection is essential for exchanging control >>> information among these devices. The WSI interface in the QCN9274 includes >>> TX and RX ports, which are used to connect multiple WSI-supported devices >>> together, forming a WSI group. >>> >>> Describe QCN9274 PCI wifi device with WSI interface. >>> >>> Signed-off-by: Raj Kumar Bhagat <quic_rajkbhag@quicinc.com> >>> --- >> >> I think this description is missing the key points: >> >> * what is that control information (power, data, radio stuff?) >> * what happens when the OS is unaware of all of this (i.e. what happens when >> we don't send any configuration) >> * is this configurable, or does this describe a physical wiring topology >> (what/who decides which of the group configurations detailed below take >> effect) >> >> And the ultimate question: >> * can the devices not just talk among themselves and negotiate that? >> >> Though AFAICU PCIe P2P communication is a shaky topic, so perhaps the answer >> to the last question is 'no' >> >> Konrad > > We already pushed the non-RFC version to our -next tree so we cannot update > the commit description without a forced push. > > https://lore.kernel.org/all/20241211153432.775335-2-kvalo@kernel.org/ > > However, Raj Kumar can submit an update to the description in the file, which > is probably the better place to have this information anyway. Sounds good Konrad
On 20.12.2024 11:05 PM, Konrad Dybcio wrote: > On 20.12.2024 10:47 PM, Jeff Johnson wrote: >> On 12/20/2024 12:03 PM, Konrad Dybcio wrote: >>> On 5.11.2024 7:04 PM, Raj Kumar Bhagat wrote: >>>> The QCN9274 WiFi device supports WSI (WLAN Serial Interface). WSI is used >>>> to exchange specific control information across radios using a doorbell >>>> mechanism. This WSI connection is essential for exchanging control >>>> information among these devices. The WSI interface in the QCN9274 includes >>>> TX and RX ports, which are used to connect multiple WSI-supported devices >>>> together, forming a WSI group. >>>> >>>> Describe QCN9274 PCI wifi device with WSI interface. >>>> >>>> Signed-off-by: Raj Kumar Bhagat <quic_rajkbhag@quicinc.com> >>>> --- >>> >>> I think this description is missing the key points: >>> >>> * what is that control information (power, data, radio stuff?) >>> * what happens when the OS is unaware of all of this (i.e. what happens when >>> we don't send any configuration) >>> * is this configurable, or does this describe a physical wiring topology >>> (what/who decides which of the group configurations detailed below take >>> effect) >>> >>> And the ultimate question: >>> * can the devices not just talk among themselves and negotiate that? >>> >>> Though AFAICU PCIe P2P communication is a shaky topic, so perhaps the answer >>> to the last question is 'no' >>> >>> Konrad >> >> We already pushed the non-RFC version to our -next tree so we cannot update >> the commit description without a forced push. >> >> https://lore.kernel.org/all/20241211153432.775335-2-kvalo@kernel.org/ >> >> However, Raj Kumar can submit an update to the description in the file, which >> is probably the better place to have this information anyway. > > Sounds good (although bindings usually land with Krzysztof's or Rob's review tags, but that's between you and them to talk about now) Konrad
On 12/21/2024 3:35 AM, Konrad Dybcio wrote: > On 20.12.2024 10:47 PM, Jeff Johnson wrote: >> On 12/20/2024 12:03 PM, Konrad Dybcio wrote: >>> On 5.11.2024 7:04 PM, Raj Kumar Bhagat wrote: >>>> The QCN9274 WiFi device supports WSI (WLAN Serial Interface). WSI is used >>>> to exchange specific control information across radios using a doorbell >>>> mechanism. This WSI connection is essential for exchanging control >>>> information among these devices. The WSI interface in the QCN9274 includes >>>> TX and RX ports, which are used to connect multiple WSI-supported devices >>>> together, forming a WSI group. >>>> >>>> Describe QCN9274 PCI wifi device with WSI interface. >>>> >>>> Signed-off-by: Raj Kumar Bhagat <quic_rajkbhag@quicinc.com> >>>> --- >>> >>> I think this description is missing the key points: >>> >>> * what is that control information (power, data, radio stuff?) >>> * what happens when the OS is unaware of all of this (i.e. what happens when >>> we don't send any configuration) >>> * is this configurable, or does this describe a physical wiring topology >>> (what/who decides which of the group configurations detailed below take >>> effect) >>> >>> And the ultimate question: >>> * can the devices not just talk among themselves and negotiate that? >>> >>> Though AFAICU PCIe P2P communication is a shaky topic, so perhaps the answer >>> to the last question is 'no' >>> >>> Konrad >> >> We already pushed the non-RFC version to our -next tree so we cannot update >> the commit description without a forced push. >> >> https://lore.kernel.org/all/20241211153432.775335-2-kvalo@kernel.org/ >> >> However, Raj Kumar can submit an update to the description in the file, which >> is probably the better place to have this information anyway. > > Sounds good > Sure, will submit an update to the description.
diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath12k-wsi.yaml b/Documentation/devicetree/bindings/net/wireless/qcom,ath12k-wsi.yaml new file mode 100644 index 000000000000..1e2822a33895 --- /dev/null +++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath12k-wsi.yaml @@ -0,0 +1,205 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/wireless/qcom,ath12k-wsi.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Technologies ath12k wireless devices (PCIe) with WSI interface + +maintainers: + - Jeff Johnson <quic_jjohnson@quicinc.com> + - Kalle Valo <kvalo@kernel.org> + +description: + Qualcomm Technologies IEEE 802.11be PCIe devices with WSI interface. + +properties: + compatible: + enum: + - pci17cb,1109 # QCN9274 + + reg: + maxItems: 1 + + qcom,ath12k-calibration-variant: + $ref: /schemas/types.yaml#/definitions/string + description: + String to uniquely identify variant of the calibration data for designs + with colliding bus and device ids + + qcom,wsi-controller: + type: boolean + description: + The WSI controller device in the WSI group aids (is capable) to + synchronize the Timing Synchronization Function (TSF) clock across + all devices in the WSI group. + + ports: + $ref: /schemas/graph.yaml#/properties/ports + description: | + The ath12k devices (QCN9274) feature WSI support. WSI stands for + WLAN Serial Interface. It is used for the exchange of specific + control information across radios based on the doorbell mechanism. + This WSI connection is essential to exchange control information + among these devices. + + Diagram to represent one WSI connection (one WSI group) among + three devices. + + +-------+ +-------+ +-------+ + | pcie1 | | pcie2 | | pcie3 | + | | | | | | + +----->| wsi |------->| wsi |------->| wsi |-----+ + | | grp 0 | | grp 0 | | grp 0 | | + | +-------+ +-------+ +-------+ | + +------------------------------------------------------+ + + Diagram to represent two WSI connections (two separate WSI groups) + among four devices. + + +-------+ +-------+ +-------+ +-------+ + | pcie0 | | pcie1 | | pcie2 | | pcie3 | + | | | | | | | | + +-->| wsi |--->| wsi |--+ +-->| wsi |--->| wsi |--+ + | | grp 0 | | grp 0 | | | | grp 1 | | grp 1 | | + | +-------+ +-------+ | | +-------+ +-------+ | + +---------------------------+ +---------------------------+ + + These ports are used to connect multiple WSI supported devices to + form a WSI group. + + properties: + port@0: + $ref: /schemas/graph.yaml#/properties/port + description: + This is the TX port of WSI interface. It is attached to the RX + port of the next device in the WSI connection. + + port@1: + $ref: /schemas/graph.yaml#/properties/port + description: + This is the RX port of WSI interface. It is attached to the TX + port of the previous device in the WSI connection. + +required: + - compatible + - reg + +additionalProperties: false + +examples: + - | + pcie { + #address-cells = <3>; + #size-cells = <2>; + + pcie@0 { + device_type = "pci"; + reg = <0x0 0x0 0x0 0x0 0x0>; + #address-cells = <3>; + #size-cells = <2>; + ranges; + + wifi@0 { + compatible = "pci17cb,1109"; + reg = <0x0 0x0 0x0 0x0 0x0>; + + qcom,ath12k-calibration-variant = "RDP433_1"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + wifi1_wsi_tx: endpoint { + remote-endpoint = <&wifi2_wsi_rx>; + }; + }; + + port@1 { + reg = <1>; + + wifi1_wsi_rx: endpoint { + remote-endpoint = <&wifi3_wsi_tx>; + }; + }; + }; + }; + }; + + pcie@1 { + device_type = "pci"; + reg = <0x0 0x0 0x1 0x0 0x0>; + #address-cells = <3>; + #size-cells = <2>; + ranges; + + wifi@0 { + compatible = "pci17cb,1109"; + reg = <0x0 0x0 0x0 0x0 0x0>; + + qcom,ath12k-calibration-variant = "RDP433_2"; + qcom,wsi-controller; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + wifi2_wsi_tx: endpoint { + remote-endpoint = <&wifi3_wsi_rx>; + }; + }; + + port@1 { + reg = <1>; + + wifi2_wsi_rx: endpoint { + remote-endpoint = <&wifi1_wsi_tx>; + }; + }; + }; + }; + }; + + pcie@2 { + device_type = "pci"; + reg = <0x0 0x0 0x2 0x0 0x0>; + #address-cells = <3>; + #size-cells = <2>; + ranges; + + wifi@0 { + compatible = "pci17cb,1109"; + reg = <0x0 0x0 0x0 0x0 0x0>; + + qcom,ath12k-calibration-variant = "RDP433_3"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + wifi3_wsi_tx: endpoint { + remote-endpoint = <&wifi1_wsi_rx>; + }; + }; + + port@1 { + reg = <1>; + + wifi3_wsi_rx: endpoint { + remote-endpoint = <&wifi2_wsi_tx>; + }; + }; + }; + }; + }; + };
The QCN9274 WiFi device supports WSI (WLAN Serial Interface). WSI is used to exchange specific control information across radios using a doorbell mechanism. This WSI connection is essential for exchanging control information among these devices. The WSI interface in the QCN9274 includes TX and RX ports, which are used to connect multiple WSI-supported devices together, forming a WSI group. Describe QCN9274 PCI wifi device with WSI interface. Signed-off-by: Raj Kumar Bhagat <quic_rajkbhag@quicinc.com> --- .../net/wireless/qcom,ath12k-wsi.yaml | 205 ++++++++++++++++++ 1 file changed, 205 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/wireless/qcom,ath12k-wsi.yaml