public inbox for linux-arm-msm@vger.kernel.org
 help / color / mirror / Atom feed
From: Jeff Johnson <quic_jjohnson@quicinc.com>
To: Alexey Minnekhanov <alexeymin@postmarketos.org>,
	Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
	Marc Gonzalez <mgonzalez@freebox.fr>,
	Kalle Valo <kvalo@kernel.org>
Cc: Konrad Dybcio <konrad.dybcio@linaro.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
	ath10k <ath10k@lists.infradead.org>,
	wireless <linux-wireless@vger.kernel.org>,
	DT <devicetree@vger.kernel.org>,
	MSM <linux-arm-msm@vger.kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Pierre-Hugues Husson <phhusson@freebox.fr>,
	Arnaud Vrac <avrac@freebox.fr>,
	Bjorn Andersson <andersson@kernel.org>,
	Jami Kettunen <jamipkettunen@gmail.com>,
	Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
Subject: Re: [PATCH v2 3/3] arm64: dts: qcom: msm8998: set qcom,no-msa-ready-indicator for wifi
Date: Tue, 2 Apr 2024 16:32:41 -0700	[thread overview]
Message-ID: <ad88712a-e4dd-4a2b-ba9d-a42ebb39ad4d@quicinc.com> (raw)
In-Reply-To: <8ef4f56c-83a3-4b26-877e-f1c7a0307e98@postmarketos.org>

On 4/2/2024 11:25 AM, Alexey Minnekhanov wrote:
> 
> 
> On 02.04.2024 18:55, Dmitry Baryshkov wrote:
>> I'd say, we should take a step back and actually verify how this was
>> handled in the vendor kernel.
> 
> 
> AFAIK there is no such thing in vendor kernel driver for this, as
> this startup procedure is likely handled entirely in userspace in
> cnss_daemon.
> 

So now I'm looking at the cnss-daemon, and there it appears that MSA READY is
always expected to be received.

There is target-specific logic to set the flags sent to firmware:
	if (gdata->instance_id == ADRASTEA_ID) {
		req.msa_ready_enable_valid = 1;
		req.msa_ready_enable = 1;
	} else { /* All targets other than Adrastea */
		req.fw_mem_ready_enable_valid = 1;
		req.fw_mem_ready_enable = 1;
	}

Logic to set an internal flag if the message is received:
	case QMI_WLFW_MSA_READY_IND_V01:
		gdata->state |= CNSS_MSA_READY;

And Adrastea-specific logic to set that flag if it is set in a separate status
indicator:
static int wlfw_adrastea_init(struct wlfw_client_data *gdata)
[...]
	if (fw_status & QMI_WLFW_MSA_READY_V01) {
		wsvc_printf_dbg("MSA is ready");
		gdata->state |= CNSS_MSA_READY;
	}

So that flag is only set by receiving the QMI_WLFW_MSA_READY_IND_V01 message
or, only for Adrastea, if the response to wlfw_send_ind_register_req()
indicates MSA_READY

Later there is a wait for MSA_READY that has no conditions:
	while (!CNSS_IS_MSA_READY(gdata->state))

Truthfully this is code I've never had to deal with before, and I've struggled
to find developers who have the necessary background. The least disruptive
paths seem to either be the DT item or adding a new item for this in struct
ath10k_hw_params.

Kalle, do you have any different guidance?

  parent reply	other threads:[~2024-04-02 23:33 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-28 17:24 [PATCH v2 0/3] Work around missing MSA_READY indicator for msm8998 devices Marc Gonzalez
2024-03-28 17:36 ` [PATCH v2 1/3] dt-bindings: net: wireless: ath10k: add qcom,no-msa-ready-indicator prop Marc Gonzalez
2024-03-30 18:20   ` Krzysztof Kozlowski
2024-03-30 18:23     ` Krzysztof Kozlowski
2024-03-30 22:04       ` Marc Gonzalez
2024-04-03  6:44         ` Krzysztof Kozlowski
2024-03-28 17:38 ` [PATCH v2 2/3] wifi: ath10k: fake missing MSA_READY indicator Marc Gonzalez
2024-03-28 17:39 ` [PATCH v2 3/3] arm64: dts: qcom: msm8998: set qcom,no-msa-ready-indicator for wifi Marc Gonzalez
2024-03-30 18:25   ` Krzysztof Kozlowski
2024-04-02 14:34     ` Konrad Dybcio
2024-04-02 15:31       ` Marc Gonzalez
2024-04-02 15:55         ` Dmitry Baryshkov
2024-04-02 18:22           ` Jeff Johnson
2024-04-02 19:15             ` Dmitry Baryshkov
2024-04-02 18:25           ` Alexey Minnekhanov
2024-04-02 19:21             ` Dmitry Baryshkov
2024-04-02 23:32             ` Jeff Johnson [this message]
2024-04-03 13:05           ` Marc Gonzalez
2024-04-03 14:12             ` Dmitry Baryshkov
2024-04-03 18:16               ` Marc Gonzalez
2024-04-03 14:14             ` Krzysztof Kozlowski
2024-04-04 11:57           ` Kalle Valo
2024-04-04 12:30             ` Marc Gonzalez
2024-04-04 13:14               ` Dmitry Baryshkov
2024-04-04 15:28               ` Kalle Valo
2024-04-08 15:53                 ` Marc Gonzalez
2024-04-25  9:42                   ` Kalle Valo
2024-04-25 11:48                     ` Marc Gonzalez
2024-04-25 15:42                       ` Kalle Valo
2024-04-25 16:02                         ` Conor Dooley
2024-04-25 16:39                           ` Kalle Valo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ad88712a-e4dd-4a2b-ba9d-a42ebb39ad4d@quicinc.com \
    --to=quic_jjohnson@quicinc.com \
    --cc=alexeymin@postmarketos.org \
    --cc=andersson@kernel.org \
    --cc=ath10k@lists.infradead.org \
    --cc=avrac@freebox.fr \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.baryshkov@linaro.org \
    --cc=jamipkettunen@gmail.com \
    --cc=jeffrey.l.hugo@gmail.com \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=kvalo@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=mgonzalez@freebox.fr \
    --cc=phhusson@freebox.fr \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox