Message ID | 20220621135339.1269409-1-robimarko@gmail.com (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [1/2] dt-bindings: net: wireless: ath11k: add new DT entry for board ID | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Not a local patch |
On 21/06/2022 15:53, Robert Marko wrote: > bus + qmi-chip-id + qmi-board-id and optionally the variant are currently > used for identifying the correct board data file. > > This however is sometimes not enough as all of the IPQ8074 boards that I > have access to dont have the qmi-board-id properly fused and simply return > the default value of 0xFF. > > So, to provide the correct qmi-board-id add a new DT property that allows > the qmi-board-id to be overridden from DTS in cases where its not set. > This is what vendors have been doing in the stock firmwares that were > shipped on boards I have. > > Signed-off-by: Robert Marko <robimarko@gmail.com> Thank you for your patch. There is something to discuss/improve. > --- > .../devicetree/bindings/net/wireless/qcom,ath11k.yaml | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml > index a677b056f112..fe6aafdab9d4 100644 > --- a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml > +++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml > @@ -41,6 +41,14 @@ properties: > * reg > * reg-names > > + qcom,ath11k-board-id: The "board" a bit confuses me because in the context of entire system it means the entire hardware running Qualcomm SoC. This is sometimes encoded as qcom,board-id property. Is your property exactly the same? > + $ref: /schemas/types.yaml#/definitions/uint32 > + description: > + Board ID to override the one returned by the firmware or the default > + 0xff if it was not set by the vendor at all. > + It is used along the ath11k-calibration-variant to mach the correct > + calibration data from board-2.bin. > + > qcom,ath11k-calibration-variant: > $ref: /schemas/types.yaml#/definitions/string > description: Best regards, Krzysztof
On Tue, 21 Jun 2022 at 17:58, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > On 21/06/2022 15:53, Robert Marko wrote: > > bus + qmi-chip-id + qmi-board-id and optionally the variant are currently > > used for identifying the correct board data file. > > > > This however is sometimes not enough as all of the IPQ8074 boards that I > > have access to dont have the qmi-board-id properly fused and simply return > > the default value of 0xFF. > > > > So, to provide the correct qmi-board-id add a new DT property that allows > > the qmi-board-id to be overridden from DTS in cases where its not set. > > This is what vendors have been doing in the stock firmwares that were > > shipped on boards I have. > > > > Signed-off-by: Robert Marko <robimarko@gmail.com> > > Thank you for your patch. There is something to discuss/improve. > > > --- > > .../devicetree/bindings/net/wireless/qcom,ath11k.yaml | 8 ++++++++ > > 1 file changed, 8 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml > > index a677b056f112..fe6aafdab9d4 100644 > > --- a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml > > +++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml > > @@ -41,6 +41,14 @@ properties: > > * reg > > * reg-names > > > > + qcom,ath11k-board-id: > > The "board" a bit confuses me because in the context of entire system it > means the entire hardware running Qualcomm SoC. This is sometimes > encoded as qcom,board-id property. Hi Krzysztof, I agree that the name is a bit confusing, it's not the same as qcom,board-id AFAIK and QCA as well as vendors are using a similar property in the wifi node to override the default qmi-board-id to the correct one as its rarely properly fused. I assume it would be better-called qcom,ath11k-qmi-board-id as you dont even have to be using a Qualcomm SoC as the same is used by PCI ath11k cards as well. Regards, Robert > > Is your property exactly the same? > > > + $ref: /schemas/types.yaml#/definitions/uint32 > > + description: > > + Board ID to override the one returned by the firmware or the default > > + 0xff if it was not set by the vendor at all. > > + It is used along the ath11k-calibration-variant to mach the correct > > + calibration data from board-2.bin. > > + > > qcom,ath11k-calibration-variant: > > $ref: /schemas/types.yaml#/definitions/string > > description: > > > Best regards, > Krzysztof
On 21/06/2022 20:47, Robert Marko wrote: > On Tue, 21 Jun 2022 at 17:58, Krzysztof Kozlowski > <krzysztof.kozlowski@linaro.org> wrote: >> >> On 21/06/2022 15:53, Robert Marko wrote: >>> bus + qmi-chip-id + qmi-board-id and optionally the variant are currently >>> used for identifying the correct board data file. >>> >>> This however is sometimes not enough as all of the IPQ8074 boards that I >>> have access to dont have the qmi-board-id properly fused and simply return >>> the default value of 0xFF. >>> >>> So, to provide the correct qmi-board-id add a new DT property that allows >>> the qmi-board-id to be overridden from DTS in cases where its not set. >>> This is what vendors have been doing in the stock firmwares that were >>> shipped on boards I have. >>> >>> Signed-off-by: Robert Marko <robimarko@gmail.com> >> >> Thank you for your patch. There is something to discuss/improve. >> >>> --- >>> .../devicetree/bindings/net/wireless/qcom,ath11k.yaml | 8 ++++++++ >>> 1 file changed, 8 insertions(+) >>> >>> diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml >>> index a677b056f112..fe6aafdab9d4 100644 >>> --- a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml >>> +++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml >>> @@ -41,6 +41,14 @@ properties: >>> * reg >>> * reg-names >>> >>> + qcom,ath11k-board-id: >> >> The "board" a bit confuses me because in the context of entire system it >> means the entire hardware running Qualcomm SoC. This is sometimes >> encoded as qcom,board-id property. > > Hi Krzysztof, > I agree that the name is a bit confusing, it's not the same as > qcom,board-id AFAIK > and QCA as well as vendors are using a similar property in the wifi > node to override > the default qmi-board-id to the correct one as its rarely properly fused. > > I assume it would be better-called qcom,ath11k-qmi-board-id as you > dont even have > to be using a Qualcomm SoC as the same is used by PCI ath11k cards as well. > Thanks for the explanation. What is the "board" in that context? The card/hardware with ath11k? Then maybe qcom,ath11k-qmi-id or qcom,ath11k-qmi-hw-id? Best regards, Krzysztof
On Wed, 22 Jun 2022 at 16:55, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > On 21/06/2022 20:47, Robert Marko wrote: > > On Tue, 21 Jun 2022 at 17:58, Krzysztof Kozlowski > > <krzysztof.kozlowski@linaro.org> wrote: > >> > >> On 21/06/2022 15:53, Robert Marko wrote: > >>> bus + qmi-chip-id + qmi-board-id and optionally the variant are currently > >>> used for identifying the correct board data file. > >>> > >>> This however is sometimes not enough as all of the IPQ8074 boards that I > >>> have access to dont have the qmi-board-id properly fused and simply return > >>> the default value of 0xFF. > >>> > >>> So, to provide the correct qmi-board-id add a new DT property that allows > >>> the qmi-board-id to be overridden from DTS in cases where its not set. > >>> This is what vendors have been doing in the stock firmwares that were > >>> shipped on boards I have. > >>> > >>> Signed-off-by: Robert Marko <robimarko@gmail.com> > >> > >> Thank you for your patch. There is something to discuss/improve. > >> > >>> --- > >>> .../devicetree/bindings/net/wireless/qcom,ath11k.yaml | 8 ++++++++ > >>> 1 file changed, 8 insertions(+) > >>> > >>> diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml > >>> index a677b056f112..fe6aafdab9d4 100644 > >>> --- a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml > >>> +++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml > >>> @@ -41,6 +41,14 @@ properties: > >>> * reg > >>> * reg-names > >>> > >>> + qcom,ath11k-board-id: > >> > >> The "board" a bit confuses me because in the context of entire system it > >> means the entire hardware running Qualcomm SoC. This is sometimes > >> encoded as qcom,board-id property. > > > > Hi Krzysztof, > > I agree that the name is a bit confusing, it's not the same as > > qcom,board-id AFAIK > > and QCA as well as vendors are using a similar property in the wifi > > node to override > > the default qmi-board-id to the correct one as its rarely properly fused. > > > > I assume it would be better-called qcom,ath11k-qmi-board-id as you > > dont even have > > to be using a Qualcomm SoC as the same is used by PCI ath11k cards as well. > > > > Thanks for the explanation. What is the "board" in that context? The > card/hardware with ath11k? Then maybe qcom,ath11k-qmi-id or > qcom,ath11k-qmi-hw-id? Hi, I assume it started off as a numerical value to match the board design and was then simply carried off to the PCI cards as well. qcom,ath11k-qmi-hw-id is fine by me, will just expand the description to make it clear. Regards, Robert > > Best regards, > Krzysztof
Robert Marko <robimarko@gmail.com> writes: > bus + qmi-chip-id + qmi-board-id and optionally the variant are currently > used for identifying the correct board data file. > > This however is sometimes not enough as all of the IPQ8074 boards that I > have access to dont have the qmi-board-id properly fused and simply return > the default value of 0xFF. > > So, to provide the correct qmi-board-id add a new DT property that allows > the qmi-board-id to be overridden from DTS in cases where its not set. > This is what vendors have been doing in the stock firmwares that were > shipped on boards I have. What's wrong with using 0xff? Ie. something like this: bus=ahb,qmi-chip-id=0,qmi-board-id=255,variant=foo Or maybe even just skip qmi-board-id entirely if it's not supported? So that the board file string would be something like: bus=ahb,qmi-chip-id=0,variant=foo I really would like to avoid adding more DT properties unless it's absolutely critical.
On Mon, 27 Jun 2022 at 12:27, Kalle Valo <kvalo@kernel.org> wrote: > > Robert Marko <robimarko@gmail.com> writes: > > > bus + qmi-chip-id + qmi-board-id and optionally the variant are currently > > used for identifying the correct board data file. > > > > This however is sometimes not enough as all of the IPQ8074 boards that I > > have access to dont have the qmi-board-id properly fused and simply return > > the default value of 0xFF. > > > > So, to provide the correct qmi-board-id add a new DT property that allows > > the qmi-board-id to be overridden from DTS in cases where its not set. > > This is what vendors have been doing in the stock firmwares that were > > shipped on boards I have. > > What's wrong with using 0xff? Ie. something like this: > > bus=ahb,qmi-chip-id=0,qmi-board-id=255,variant=foo > > Or maybe even just skip qmi-board-id entirely if it's not supported? So > that the board file string would be something like: > > bus=ahb,qmi-chip-id=0,variant=foo > > I really would like to avoid adding more DT properties unless it's > absolutely critical. Well, I suppose that due to the variant property we can avoid "correcting" the qmi-board-id Regards, Robert > > -- > https://patchwork.kernel.org/project/linux-wireless/list/ > > https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml index a677b056f112..fe6aafdab9d4 100644 --- a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml +++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml @@ -41,6 +41,14 @@ properties: * reg * reg-names + qcom,ath11k-board-id: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + Board ID to override the one returned by the firmware or the default + 0xff if it was not set by the vendor at all. + It is used along the ath11k-calibration-variant to mach the correct + calibration data from board-2.bin. + qcom,ath11k-calibration-variant: $ref: /schemas/types.yaml#/definitions/string description:
bus + qmi-chip-id + qmi-board-id and optionally the variant are currently used for identifying the correct board data file. This however is sometimes not enough as all of the IPQ8074 boards that I have access to dont have the qmi-board-id properly fused and simply return the default value of 0xFF. So, to provide the correct qmi-board-id add a new DT property that allows the qmi-board-id to be overridden from DTS in cases where its not set. This is what vendors have been doing in the stock firmwares that were shipped on boards I have. Signed-off-by: Robert Marko <robimarko@gmail.com> --- .../devicetree/bindings/net/wireless/qcom,ath11k.yaml | 8 ++++++++ 1 file changed, 8 insertions(+)