[PATCH v2 3/3] arm64: dts: qcom: msm8998: set qcom,no-msa-ready-indicator for wifi
Dmitry Baryshkov
dmitry.baryshkov at linaro.org
Tue Apr 2 12:15:40 PDT 2024
On Tue, 2 Apr 2024 at 21:22, Jeff Johnson <quic_jjohnson at quicinc.com> wrote:
>
> On 4/2/2024 8:55 AM, Dmitry Baryshkov wrote:
> > I'd say, we should take a step back and actually verify how this was
> > handled in the vendor kernel.
>
> (error handling and other non-QMI code removed from the following for readability)
>
> In ath10k we unconditionally call the following in
> ath10k_qmi_event_server_arrive():
> ret = ath10k_qmi_host_cap_send_sync(qmi);
> ret = ath10k_qmi_msa_mem_info_send_sync_msg(qmi);
> ret = ath10k_qmi_setup_msa_permissions(qmi);
> ret = ath10k_qmi_msa_ready_send_sync_msg(qmi);
> ret = ath10k_qmi_cap_send_sync_msg(qmi);
>
> In vendor icnss2 there is conditional logic in icnss_driver_event_server_arrive():
Note, wcn3990 is icnss, not icnss2
> if (priv->device_id == WCN6750_DEVICE_ID ||
> priv->device_id == WCN6450_DEVICE_ID) {
> ret = wlfw_host_cap_send_sync(priv);
> }
>
> if (priv->device_id == ADRASTEA_DEVICE_ID) {
> ret = wlfw_msa_mem_info_send_sync_msg(priv);
> ret = wlfw_msa_ready_send_sync_msg(priv);
> }
The problem with applying this approach is that here the discriminator
is the WiFi device ID. WCN6750, WCN6450 and this ADRASTEA are
different WiFi/BT chips. However for msm8998 and e.g. sdm845 there is
no easy way to distinguish the WiFi chips. Both platforms use wcn3990
device.
>
> ret = wlfw_cap_send_sync_msg(priv);
>
> reference:
> https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/wlan/platform/-/blob/wlan-platform.lnx.1.0.r1-rel/icnss2/main.c?ref_type=heads#L890
>
> /jeff
--
With best wishes
Dmitry
More information about the ath10k
mailing list