[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMYPSMr2JCQCX69PGUk1=7=-YfBcyFDpqQ6tMQzFP040srBA7w@mail.gmail.com>
Date: Mon, 26 May 2025 21:39:17 +0200
From: Wojciech Sleńska <wojciech.slenska@...il.com>
To: Konrad Dybcio <konrad.dybcio@....qualcomm.com>
Cc: Krzysztof Kozlowski <krzk@...nel.org>, Andrew Lunn <andrew+netdev@...n.ch>,
"David S . Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>, Alex Elder <elder@...nel.org>,
Bjorn Andersson <andersson@...nel.org>, Konrad Dybcio <konradybcio@...nel.org>,
linux-arm-msm@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, netdev@...r.kernel.org
Subject: Re: [PATCH 1/2] dt-bindings: net: qcom,ipa: document qcm2290 compatible
pt., 23 maj 2025 o 01:30 Konrad Dybcio
<konrad.dybcio@....qualcomm.com> napisał(a):
>
> On 12/21/24 9:44 PM, Krzysztof Kozlowski wrote:
> > On 20/12/2024 08:35, Wojciech Slenska wrote:
> >> Document that ipa on qcm2290 uses version 4.2, the same
> >> as sc7180.
> >>
> >> Signed-off-by: Wojciech Slenska <wojciech.slenska@...il.com>
> >> ---
> >> Documentation/devicetree/bindings/net/qcom,ipa.yaml | 4 ++++
> >> 1 file changed, 4 insertions(+)
> >>
> >> diff --git a/Documentation/devicetree/bindings/net/qcom,ipa.yaml b/Documentation/devicetree/bindings/net/qcom,ipa.yaml
> >> index 53cae71d9957..ea44d02d1e5c 100644
> >> --- a/Documentation/devicetree/bindings/net/qcom,ipa.yaml
> >> +++ b/Documentation/devicetree/bindings/net/qcom,ipa.yaml
> >> @@ -58,6 +58,10 @@ properties:
> >> - enum:
> >> - qcom,sm8650-ipa
> >> - const: qcom,sm8550-ipa
> >> + - items:
> >> + - enum:
> >> + - qcom,qcm2290-ipa
> >> + - const: qcom,sc7180-ipa
> >>
> > We usually keep such lists between each other ordered by fallback, so
> > this should go before sm8550-fallback-list.
> >
> > With that change:
> >
> > Acked-by: Krzysztof Kozlowski <krzk@...nel.org>
>
> (half a year later)
>
> I've now sent a series that resolves the issue described in the
> other branch of this thread. Feel free to pick up this binding
> Krzysztof/Rob/Kuba.
>
>
>
> Patch 2 will need an update and some prerequisite changes.
> Wojciech, you'll need:
>
> https://lore.kernel.org/linux-arm-msm/20250523-topic-ipa_imem-v1-0-b5d536291c7f@oss.qualcomm.com
> https://lore.kernel.org/linux-arm-msm/20250523-topic-ipa_mem_dts-v1-0-f7aa94fac1ab@oss.qualcomm.com
> https://github.com/quic-kdybcio/linux/commits/topic/ipa_qcm2290
>
> and a snippet like
>
> -----------o<-----------------------------------
> qcom,smem-state-names = "ipa-clock-enabled-valid",
> "ipa-clock-enabled";
>
> + sram = <&ipa_modem_tables>;
> +
> status = "disabled";
> -----------o<-----------------------------------
>
> added to your DT change
>
> please let me know if it works with the above
>
> if you're not interested anymore or don't have the board on hand,
> I can take up your patch, preserving your authorship ofc
>
> Konrad
Hello Konrad,
I have applied your patches on top of the 6.15 kernel.
I used the following:
Konrad Dybcio: arm64: dts: qcom: qcm2290: Explicitly describe the IPA IMEM slice
Konrad Dybcio: dt-bindings: sram: qcom,imem: Document QCM2290 IMEM
Konrad Dybcio: net: ipa: Grab IMEM slice base/size from DTS
Konrad Dybcio: dt-bindings: net: qcom,ipa: Add sram property for
describing IMEM slice
Konrad Dybcio: dt-bindings: sram: qcom,imem: Allow modem-tables
Konrad Dybcio: net: ipa: Make the SMEM item ID constant
Two corrections were needed:
1. A small change in the DTS:
- reg = <0x0c100000 0x2a000>;
- ranges = <0x0 0x0c100000 0x2a000>;
+ reg = <0 0x0c100000 0 0x2a000>;
+ ranges = <0 0 0x0c100000 0x2a000>;
This was necessary because, in the original version, the following line:
ret = of_address_to_resource(ipa_slice_np, 0, res);
returns -22
2. I also made a small modification here, because local variables were
not used in the function call. However, this issue has already been
reported.
- ret = ipa_imem_init(ipa, mem_data->imem_addr, mem_data->imem_size);
+ dev_err(dev, "ipa_imem_init %0x %0x\n", imem_base, imem_size);
+ ret = ipa_imem_init(ipa, imem_base, imem_size);
Results
With these corrections, everything works perfectly.
dmesg:
[ 0.832180] platform 5840000.ipa: Adding to iommu group 3
[ 5.798469] ipa 5840000.ipa: ipa_imem_init c123000 2000
[ 5.829216] ipa 5840000.ipa: IPA driver initialized
[ 5.929674] ipa 5840000.ipa: IPA driver setup completed successfully
[ 8.039075] ipa 5840000.ipa: received modem starting event
[ 8.374774] ipa 5840000.ipa: received modem running event
Ipa is visible in ifaces:
5: qmapmux0.0@...et_ipa0: <UP,LOWER_UP> mtu 1496 qdisc pfifo_fast
state UNKNOWN group default qlen 1000
link/[519]
inet 10.86.101.79/27 brd 10.86.101.95 scope global qmapmux0.0
valid_lft forever preferred_lft forever
inet6 fe80::a8dc:ccff:feb3:e683/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
Speedtest is also working fine:
$ speedtest
...
Testing download
speed................................................................................
Download: 8.62 Mbit/s
Testing upload speed......................................................................................................
Upload: 0.42 Mbit/s
Once your changes have been integrated, I will resubmit my patches.
BR
Wojtek
Powered by blists - more mailing lists