lkml.org 
[lkml]   [2020]   [Sep]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] ath10k: qmi: Skip host capability request for Xiaomi Poco F1
    On Thu 17 Sep 02:41 CDT 2020, Amit Pundir wrote:

    > Workaround to get WiFi working on Xiaomi Poco F1 (sdm845)
    > phone. We get a non-fatal QMI_ERR_MALFORMED_MSG_V01 error
    > message in ath10k_qmi_host_cap_send_sync(), but we can still
    > bring up WiFi services successfully on AOSP if we ignore it.
    >
    > We suspect either the host cap is not implemented or there
    > may be firmware specific issues. Firmware version is
    > QC_IMAGE_VERSION_STRING=WLAN.HL.2.0.c3-00257-QCAHLSWMTPLZ-1
    >
    > qcom,snoc-host-cap-8bit-quirk didn't help. If I use this
    > quirk, then the host capability request does get accepted,
    > but we run into fatal "msa info req rejected" error and
    > WiFi interface doesn't come up.
    >

    What happens if you skip sending the host-cap message? I had one
    firmware version for which I implemented a
    "qcom,snoc-host-cap-skip-quirk".

    But testing showed that the link was pretty unusable - pushing any real
    amount of data would cause it to silently stop working - and I realized
    that I could use the linux-firmware wlanmdsp.mbn instead, which works
    great on all my devices...

    > Attempts are being made to debug the failure reasons but no
    > luck so far. Hence this device specific workaround instead
    > of checking for QMI_ERR_MALFORMED_MSG_V01 error message.
    > Tried ath10k/WCN3990/hw1.0/wlanmdsp.mbn from the upstream
    > linux-firmware project but it didn't help and neither did
    > building board-2.bin file from stock bdwlan* files.
    >

    "Didn't work" as in the wlanmdsp.mbn from linux-firmware failed to load
    or some laer problem?

    Regards,
    Bjorn

    > This workaround will be removed once we have a viable fix.
    > Thanks to postmarketOS guys for catching this.
    >
    > Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
    > ---
    > Device-tree for Xiaomi Poco F1(Beryllium) got merged in
    > qcom/arm64-for-5.10 last week
    > https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git/commit/?id=77809cf74a8c
    >
    > drivers/net/wireless/ath/ath10k/qmi.c | 3 ++-
    > 1 file changed, 2 insertions(+), 1 deletion(-)
    >
    > diff --git a/drivers/net/wireless/ath/ath10k/qmi.c b/drivers/net/wireless/ath/ath10k/qmi.c
    > index 0dee1353d395..37c5350eb8b1 100644
    > --- a/drivers/net/wireless/ath/ath10k/qmi.c
    > +++ b/drivers/net/wireless/ath/ath10k/qmi.c
    > @@ -651,7 +651,8 @@ static int ath10k_qmi_host_cap_send_sync(struct ath10k_qmi *qmi)
    >
    > /* older FW didn't support this request, which is not fatal */
    > if (resp.resp.result != QMI_RESULT_SUCCESS_V01 &&
    > - resp.resp.error != QMI_ERR_NOT_SUPPORTED_V01) {
    > + resp.resp.error != QMI_ERR_NOT_SUPPORTED_V01 &&
    > + !of_machine_is_compatible("xiaomi,beryllium")) { /* Xiaomi Poco F1 workaround */
    > ath10k_err(ar, "host capability request rejected: %d\n", resp.resp.error);
    > ret = -EINVAL;
    > goto out;
    > --
    > 2.7.4
    >

    \
     
     \ /
      Last update: 2020-09-17 18:24    [W:4.570 / U:0.064 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site