Received: by 2002:ab2:b82:0:b0:1f3:401:3cfb with SMTP id 2csp605202lqh; Thu, 28 Mar 2024 10:39:56 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVB3PLRiss8le2l6IbbTgpm3oPR2uV5froFaXN2kwOklAj4da9HwPJCNqFJZowqb7XqgJEMQxYEi0VsOhdiPb1Z7CzPPiDMIPkLW8z8Ww== X-Google-Smtp-Source: AGHT+IFFJfiI50vQ6sxPwb2y5D4K94rp04hsU+xcCUKpog5B+pVWMW2tmngEmlzoaX3ee0C/EFQa X-Received: by 2002:a05:6a00:1813:b0:6ea:afd1:9023 with SMTP id y19-20020a056a00181300b006eaafd19023mr4457024pfa.0.1711647596569; Thu, 28 Mar 2024 10:39:56 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711647596; cv=pass; d=google.com; s=arc-20160816; b=Mg8+NCrRiDN1Ijtbtic7iN9HGqtax7Mebeiz7zBmobALVy+StrOHiEqd3yzFGBIS3v xXXo7U9V8m+R8OIGubcMBJ9KRcZbHIQD1zLqj9Z/cIIGPA9MQyWQ2j7B/iohIBo3Fvsx VPgcBQFr7QrjdjDy3cbjnj4z6DspFpkrcLHiqZiYa7VhzFORnu9w9tH6H2dl12IEVTLi lCI8ndfg5fCYYkKpu6RfWHsKH735H9pKqZy9aiRotlA5P0W2Eva7xixAhHOrt3Bsn3Id 6XYIbuIoubz4O0t0uEpoLD9wsY2UfV5xe8iH2zags31OEHo9OLFHD7kYayiF6HO7q8qI 57mw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:references:cc:to:from :content-language:subject:user-agent:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:date:message-id:dkim-signature; bh=SfZaLSH9sfGg1t8HLxW0Yvj6/ynr0oCl38jYR5QeVdw=; fh=VeNIEHD8OsT4Ng+B2TNgr6/0VeqclAexKoibR/3paKo=; b=QaqTp5vmuCY5+y7DfyXtPahOe3+EeEQeWM/SKRicaa50cQJNH/uzRtqalZ399GiXhA +hpPyvMINwBVH+ludoDjL1cQGGjn0pjldLL4q8aZoE4iNQPk0gC9vXXV+vfCaC463Gjp G0IZL4nff1XHWwusweT/4mOB2FfhDOAqVsY7CyFZzUT9PIIhQG/wW3N1mvK1SRd2gRUz dv0Sfw8XF4djNCTfu0tW7HrZJGV+W+xrSDkccLBDQfSEK3T1CM3owkx274Lhr15XdlGh aSy+BU4CQk3QcZAYidjF6Wye7TqJuG1x3LT/xN0IvjVM/qEtEcj5s6k3fH7PatbS6+Z0 BQhA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@freebox-fr.20230601.gappssmtp.com header.s=20230601 header.b=Vw5WMXx0; arc=pass (i=1 spf=pass spfdomain=freebox.fr dkim=pass dkdomain=freebox-fr.20230601.gappssmtp.com); spf=pass (google.com: domain of linux-wireless+bounces-5483-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-wireless+bounces-5483-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id b10-20020a655cca000000b005f0568900dasi1882046pgt.560.2024.03.28.10.39.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Mar 2024 10:39:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless+bounces-5483-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@freebox-fr.20230601.gappssmtp.com header.s=20230601 header.b=Vw5WMXx0; arc=pass (i=1 spf=pass spfdomain=freebox.fr dkim=pass dkdomain=freebox-fr.20230601.gappssmtp.com); spf=pass (google.com: domain of linux-wireless+bounces-5483-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-wireless+bounces-5483-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 315F4292961 for ; Thu, 28 Mar 2024 17:39:56 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id A43B37E787; Thu, 28 Mar 2024 17:39:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=freebox-fr.20230601.gappssmtp.com header.i=@freebox-fr.20230601.gappssmtp.com header.b="Vw5WMXx0" X-Original-To: linux-wireless@vger.kernel.org Received: from mail-lf1-f45.google.com (mail-lf1-f45.google.com [209.85.167.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B0F237E788 for ; Thu, 28 Mar 2024 17:39:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.45 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711647582; cv=none; b=MAxAvMoq1Gz9Gxjh5Oy06xD+2M7fNnd68+06tNknPHFHg6119j4prlq681GwvDseEd9NKNzdodwKSDt1PBuEtwE/GYi2Eewmk1ENQ0zYGkHpF0kNR/CE1L30WvovEZdBJxfxoFBUBa0ukYMmank7Ir4HBy5XZXagdj85zPpGNhU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711647582; c=relaxed/simple; bh=49DbNazJb+51HgY87AZJqtIUYIPq9q2er45xmqJbnUs=; h=Message-ID:Date:MIME-Version:Subject:From:To:Cc:References: In-Reply-To:Content-Type; b=PMs//ocGAodfffU50+aCOlTL9gHrCKKkcBxDI2MtrkEC8BcLVM47DqrR5zknc0Q0OGc66Q1rK2DSQxYn6X7pFjwKUYEwgEllf4IQeP+IJNFycmTj62ZFDZYcZbWZn2uu54YkxcCL7sSs0WekX7WJQvN553ancglwZs4lzQ5FcxM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=freebox.fr; spf=pass smtp.mailfrom=freebox.fr; dkim=pass (2048-bit key) header.d=freebox-fr.20230601.gappssmtp.com header.i=@freebox-fr.20230601.gappssmtp.com header.b=Vw5WMXx0; arc=none smtp.client-ip=209.85.167.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=freebox.fr Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=freebox.fr Received: by mail-lf1-f45.google.com with SMTP id 2adb3069b0e04-515c198e835so1397295e87.3 for ; Thu, 28 Mar 2024 10:39:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebox-fr.20230601.gappssmtp.com; s=20230601; t=1711647579; x=1712252379; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:references:cc:to:from :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=SfZaLSH9sfGg1t8HLxW0Yvj6/ynr0oCl38jYR5QeVdw=; b=Vw5WMXx0HwaFvfiTGvTbQqs0YMmpiTpPAie7+/UtgOyX3JLDYqX0aDCiQmHiKibX1m 0T/KM7kTu0ZuNkr3URc8htunOoWX1cU7mkKs2brWS95jyeO9FmcDj/SYiU4GMgqArfSq q5f4gLHgdyfDa+XXf62Hb+pCIDLFQifFvSSdIz0WffYYHZxBmhhOxVUPn+EHnRshvTyC Azn8mNujH8sreDxZw/XhPncMPpCQkgTXpwf5fS7ht2neC2uzKx7u3dFSSSUdOAIANE/W CxBuued54aAiF5p867SMfObS+ER3wFhzCWr2qzN0RQUz56tzxMifvBiRD0i1CnRpo2gh v3ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711647579; x=1712252379; h=content-transfer-encoding:in-reply-to:references:cc:to:from :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=SfZaLSH9sfGg1t8HLxW0Yvj6/ynr0oCl38jYR5QeVdw=; b=vJh8ijq2UsNMQSr+AmVryhgFxJKfjcbGV1oTWfztanUoVNPxa2ztTqDSKIJo1zVdx3 4qcLLIS75ERwbVY0h6JG5V3m2phFA98bC99cqUAjEqeHRIC6nm04zO98gnazqO5mMZvg VXbPtgP0oxJAuRzKd0uz5wll+I/7v10vGSXENDpzK8d209VAac1OCKnF8l/PvGGhQS1t ZyzDPmOxqXIc3Iml+VcItNINQDvu+Ccwmilkhk8cdVNi9fehfYOuqvuaI4S7FeB9IiUf VBl/3tfpAEg0fMCH2ezoDqqRre8/YVFtNQ1Z2LTTcD5FYRjf6y/OOWyxIVzqac5m6ME3 K8kA== X-Gm-Message-State: AOJu0YyBanspqEZHpnr/ZRCz0bKaSv/RGMAgIp29NiiWHYlQTgmIKBHD pmJMu0JUkNAx5zggkyqI+Jy3Oi/npYGPns26ejaP5zTcX8VhHTeiaOiVWr46k70= X-Received: by 2002:a19:2d4c:0:b0:513:ed0f:36c9 with SMTP id t12-20020a192d4c000000b00513ed0f36c9mr84250lft.45.1711647578797; Thu, 28 Mar 2024 10:39:38 -0700 (PDT) Received: from [192.168.108.81] (freebox.vlq16.iliad.fr. [213.36.7.13]) by smtp.gmail.com with ESMTPSA id o10-20020a05600c510a00b004148a5e3188sm6066643wms.25.2024.03.28.10.39.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 28 Mar 2024 10:39:38 -0700 (PDT) Message-ID: <45448d42-bc48-4b9e-adca-59a47e0674f5@freebox.fr> Date: Thu, 28 Mar 2024 18:38:15 +0100 Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH v2 2/3] wifi: ath10k: fake missing MSA_READY indicator Content-Language: en-US From: Marc Gonzalez To: Kalle Valo , Jeff Johnson , ath10k Cc: wireless , DT , MSM , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Pierre-Hugues Husson , Arnaud Vrac , Bjorn Andersson , Konrad Dybcio , Jami Kettunen , Jeffrey Hugo References: In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit The ath10k driver waits for an "MSA_READY" indicator to complete initialization. If the indicator is not received, then the device remains unusable. Several msm8998-based devices are affected by this issue. Oddly, it seems safe to NOT wait for the indicator, and proceed immediately when QMI_EVENT_SERVER_ARRIVE. fw_version 0x100204b2 fw_build_timestamp 2019-09-04 03:01 fw_build_id QC_IMAGE_VERSION_STRING=WLAN.HL.1.0-01202-QCAHLSWMTPLZ-1.221523.2 Jeff Johnson wrote: The feedback I received was "it might be ok to change all ath10k qmi to skip waiting for msa_ready", and it was pointed out that ath11k (and ath12k) do not wait for it. However with so many deployed devices, "might be ok" isn't a strong argument for changing the default behavior. Signed-off-by: Pierre-Hugues Husson Signed-off-by: Marc Gonzalez --- drivers/net/wireless/ath/ath10k/qmi.c | 7 +++++++ drivers/net/wireless/ath/ath10k/qmi.h | 1 + 2 files changed, 8 insertions(+) diff --git a/drivers/net/wireless/ath/ath10k/qmi.c b/drivers/net/wireless/ath/ath10k/qmi.c index 38e939f572a9e..50e28fa37e430 100644 --- a/drivers/net/wireless/ath/ath10k/qmi.c +++ b/drivers/net/wireless/ath/ath10k/qmi.c @@ -1040,6 +1040,10 @@ static void ath10k_qmi_driver_event_work(struct work_struct *work) switch (event->type) { case ATH10K_QMI_EVENT_SERVER_ARRIVE: ath10k_qmi_event_server_arrive(qmi); + if (qmi->fake_msa_ready_indicator) { + ath10k_dbg(ar, ATH10K_DBG_QMI, "qmi HACK fake msa_ready indicator"); + ath10k_qmi_event_msa_ready(qmi); + } break; case ATH10K_QMI_EVENT_SERVER_EXIT: ath10k_qmi_event_server_exit(qmi); @@ -1077,6 +1081,9 @@ int ath10k_qmi_init(struct ath10k *ar, u32 msa_size) if (of_property_read_bool(dev->of_node, "qcom,msa-fixed-perm")) qmi->msa_fixed_perm = true; + if (of_property_read_bool(dev->of_node, "qcom,no-msa-ready-indicator")) + qmi->fake_msa_ready_indicator = true; + ret = qmi_handle_init(&qmi->qmi_hdl, WLFW_BDF_DOWNLOAD_REQ_MSG_V01_MAX_MSG_LEN, &ath10k_qmi_ops, qmi_msg_handler); diff --git a/drivers/net/wireless/ath/ath10k/qmi.h b/drivers/net/wireless/ath/ath10k/qmi.h index 89464239fe96a..c68526aad8946 100644 --- a/drivers/net/wireless/ath/ath10k/qmi.h +++ b/drivers/net/wireless/ath/ath10k/qmi.h @@ -107,6 +107,7 @@ struct ath10k_qmi { char fw_build_timestamp[MAX_TIMESTAMP_LEN + 1]; struct ath10k_qmi_cal_data cal_data[MAX_NUM_CAL_V01]; bool msa_fixed_perm; + bool fake_msa_ready_indicator; enum ath10k_qmi_state state; }; -- 2.34.1