From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AEE93C54EBD for ; Thu, 12 Jan 2023 10:38:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=0IlP71vOKt4G5xR4ROy8pjS+/O3tVxVqBSS6smRI53c=; b=Y92LGHX5cYpEmY XhbVTTuNUeB1oqLUckNNCoWulOJvSeEkbXy3spNHLfJzwa2xHYvcZqSvU3HFsbSNRmhvO6GzCnnHT 77bciUsIGcbnc3LjOWHVND8+6fcfiBJzNXz+yL+V3ts27qhYTQwdxivkau6WuEzxkfWAWXKO0iRp7 JKVl7zT0ktf3SsKaFWiOio+HW+jEYVixYL2AgLcRevRS47wYDhUXeo37scy+7VeXCaVV46DiTyecl 5Hc83zfchOT4ieeRSqVVnuEMxLaCGeh9F7HeCet3asnRHQO0biqfhQXtmMA4XeN1C1iyHWNvmhO/1 knFHZzhteIcsIMhhH0ow==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pFuym-00EcSQ-Ij; Thu, 12 Jan 2023 10:38:40 +0000 Received: from mail-pf1-x434.google.com ([2607:f8b0:4864:20::434]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pFuyi-00EcRR-Ly for ath11k@lists.infradead.org; Thu, 12 Jan 2023 10:38:38 +0000 Received: by mail-pf1-x434.google.com with SMTP id a184so13478756pfa.9 for ; Thu, 12 Jan 2023 02:38:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=NEk0tRbd0iJjf3Z9S3v3OpKZ5mu2a9PefQc+E8hvAVo=; b=vQxcMgPe/GENVGqz7X3YqTw09X3rZc25cFzIP28wNSrfz4wEu5SXJ21zGVgFN39XSu VLDQboYQ5HahkHMzEbIuwL4rV7v4TPzBhwCFdDHrz330J1VJo2Uqor8Qa7Tkw6HrVjnJ EMBKgMm25+c4jCpSJ67pPiqWLrknHJeyFPwO673FAABIWralOp0adC1tOnN9RuVSZYPn nMYHnBZ3LMXsuJS/jIR5yaaju8lE9BPb2SryCPXYF/C3o7Nb/yX9SzgNDqfZJAfXgnVz TMvye8aOp2UMo+FBIPy1OhTAmWZo+cW0foicZN5dZT9Qtr8Qzuqd4OLfi18JQZAhfka7 vCXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=NEk0tRbd0iJjf3Z9S3v3OpKZ5mu2a9PefQc+E8hvAVo=; b=AAc8I50+aHGEVcCzoXGDD7iJLSEziiXTdyThgMLReT42J4XuX8xkxFIuJ/MjtjFSAT XohANZ9S1XwBlJkNacSscnKvWyHWvXyj7MoMF/5u/cbQjLHgaOmVC1kGUqDK9nchSgND mS2imIf+K36o47X14w1bkNy7hdStwNruC+EkAFmO9bZll0EmPzpibPaJasAQvqTNhBgQ f8vKJ8bg6c3VkCVCviSPCmqsBTPXzy1rLtxwx8DvDKPY4XOS6CgNVrGm7DdEPNcqpLCa c0Y/R1LwJEBEM+E7RVsNJuF4Y+a09KpZFXmN2BnQjy1IhVbCYxiN1V/6RRmHqxnm2iQL Yt/A== X-Gm-Message-State: AFqh2kppO+0m7uitGoJAHGD4PyPKM7H9JFBkcxywsBdGNwh+Br7kHQA4 nxf504wq4CxeLiV9EvNMFrqleexw+1vQ908= X-Google-Smtp-Source: AMrXdXvm4o+3fdzPRs8OqT1T99A+ATYPJpSZWbd0zR5N4z+1w7drpqvowp/hqLUsiAVCasSEc9sNvQ== X-Received: by 2002:aa7:8152:0:b0:587:d491:995f with SMTP id d18-20020aa78152000000b00587d491995fmr14395203pfn.20.1673519913649; Thu, 12 Jan 2023 02:38:33 -0800 (PST) Received: from thinkpad ([117.217.177.135]) by smtp.gmail.com with ESMTPSA id o2-20020a62f902000000b0058b128ae034sm4139426pfh.60.2023.01.12.02.38.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jan 2023 02:38:32 -0800 (PST) Date: Thu, 12 Jan 2023 16:08:24 +0530 From: Manivannan Sadhasivam To: Kalle Valo Cc: ath11k@lists.infradead.org, mhi@lists.linux.dev, linux-wireless@vger.kernel.org, robert.marko@sartura.hr Subject: Re: [PATCH RFC] ath11k: Add multiple QCN9074 devices support Message-ID: <20230112103824.GD4782@thinkpad> References: <20230111170033.32454-1-kvalo@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20230111170033.32454-1-kvalo@kernel.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230112_023836_759701_51E75D14 X-CRM114-Status: GOOD ( 33.63 ) X-BeenThere: ath11k@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "ath11k" Errors-To: ath11k-bounces+ath11k=archiver.kernel.org@lists.infradead.org T24gV2VkLCBKYW4gMTEsIDIwMjMgYXQgMDc6MDA6MzNQTSArMDIwMCwgS2FsbGUgVmFsbyB3cm90 ZToKPiBGcm9tOiBQIFByYW5lZXNoIDxxdWljX3BwcmFuZWVzQHF1aWNpbmMuY29tPgo+IAo+IE9u IHBsYXRmb3JtcyB3aXRoIHR3byBvciBtb3JlIFFDTjkwNzQgZGV2aWNlcywgdGhlIFFNSSBzZXJ2 aWNlIHdpbGwgcnVuIHdpdGgKPiBpZGVudGljYWwgUVJUUiBpZHMuIHFtaV9hZGRfbG9va3VwKCkg aXMgY2FsbGVkIHdpdGggc2FtZSBxbWkuc2VydmljZV9pbnNfaWQuCgppZGVudGljYWwgUVJUUiBp bnN0YW5jZSBJRC4KCj4gQmVjYXVzZSBvZiB0aGlzIGlkZW50aWNhbCBpZCwgdGhlIFFNSSAubmV3 X3NlcnZlciBpcyByZWNlaXZlZCBvbiBhbGwgYXRoMTFrIFFNSQo+IGNsaWVudHMgYW5kIHRoZSBR TUkgc3RhdGUgbWFjaGluZSBmYWlscy4KPiAKPiBUbyBzb2x2ZSB0aGlzIGdlbmVyYXRlIGEgdW5p cXVlIGluc3RhbmNlIGlkIGZyb20gUENJZSBkb21haW4gbnVtYmVyIGFuZCBidXMKPiBudW1iZXIs IHdyaXRlIHRvIHRoZSByZWdpc3RlciBBVEgxMUtfUENJRV9MT0NBTF9SRUdfUENJRV9MT0NBTF9S U1YwIGJlZm9yZQo+IHBvd2VyIHVwLiBJdCBpcyBhdmFpbGFibGUgZm9yIGZpcm13YXJlIHdoZW4g dGhlIFFNSSBzZXJ2aWNlIGlzIHNwYXduZWQuIEFzIG5vdAo+IGFsbCBmaXJtd2FyZSByZWxlYXNl cyBzdXBwb3J0IHRoaXMgZmVhdHVyZSBhZGQgYSBuZXcgZmlybXdhcmUgZmVhdHVyZSBmbGFnCj4g QVRIMTFLX0ZXX0ZFQVRVUkVfTVVMVElfUVJUUl9JRCB0byBkZXRlY3QgaWYgaXQncyBzdXBwb3J0 ZWQuCj4gCj4gV2l0aCB0aGlzIGNoYW5nZSwgcXJ0ci1sb29rdXAgaXMgc2hvd24gaW4gYmVsb3cg ZXhhbXBsZS4KPiAKPiBFeGFtcGxlOgo+IHJvb3RAT3BlbldydDovIyBxcnRyLWxvb2t1cAo+IFNl cnZpY2UgVmVyc2lvbiBJbnN0YW5jZSBOb2RlIFBvcnQKPiAxNSAxIDAgMjMgMSBUZXN0IHNlcnZp Y2UKPiA2OSAxIDIzIDIzIDIgQVRIMTBrIFdMQU4gZmlybXdhcmUgc2VydmljZQo+IDE1IDEgMCAy NCAxIFRlc3Qgc2VydmljZQo+IDY5IDEgMjQgMjQgMiBBVEgxMGsgV0xBTiBmaXJtd2FyZSBzZXJ2 aWNlCj4gCj4gSGVyZSAyMyBhbmQgMjQgb24gY29sdW1uIDMgKFFNSSBJbnN0YW5jZSBJRCkgYW5k IGNvbHVtbiA0IChOb2RlIElEKSBhcmUgdGhlCj4gbm9kZSBJRHMgdGhhdCBpcyB1bmlxdWUgcGVy IGF0aDExayBkZXZpY2UuCj4gCj4gVGVzdGVkLW9uOiBRQ045MDc0IGh3MS4wIFBDSSBXTEFOLkhL LjIuNi4wLjEtMDA3NjAtUUNBSEtTV1BMX1NJTElDT05aLTEKPiAKPiBDby1kZXZlbG9wZWQtYnk6 IEFuaWxrdW1hciBLb2xsaSA8cXVpY19ha29sbGlAcXVpY2luYy5jb20+Cj4gU2lnbmVkLW9mZi1i eTogQW5pbGt1bWFyIEtvbGxpIDxxdWljX2Frb2xsaUBxdWljaW5jLmNvbT4KPiBTaWduZWQtb2Zm LWJ5OiBQIFByYW5lZXNoIDxxdWljX3BwcmFuZWVzQHF1aWNpbmMuY29tPgo+IFNpZ25lZC1vZmYt Ynk6IEthbGxlIFZhbG8gPHF1aWNfa3ZhbG9AcXVpY2luYy5jb20+Cj4gLS0tCj4gCj4gS2FsbGUn cyBjb21tZW50czoKPiAKPiBEZXBlbmRzIG9uOiBodHRwczovL3BhdGNod29yay5rZXJuZWwub3Jn L3Byb2plY3QvbGludXgtd2lyZWxlc3MvbGlzdC8/c2VyaWVzPTcxMDg2MiZvcmRlcj1kYXRlCj4g Cj4gSXQncyBhbHNvIHBvc3NpYmxlIHRvIGRvIGEgc2ltcGxlIHRlc3QgYnkganVzdCBjaGFuZ2lu ZyB0aGUgdGVzdAo+ICJ0ZXN0X2JpdChBVEgxMUtfRldfRkVBVFVSRV9NVUxUSV9RUlRSX0lELCBh Yi0+ZncuZndfZmVhdHVyZXMpIiB0byB0cnVlLCBubwo+IGV4dHJhIHBhdGNoZXMgc2hvdWxkIGJl IG5lZWRlZC4KPiAKPiBJIGRvbid0IGhhdmUgYSB0ZXN0IHNldHVwIGZvciB0aGlzIHNvIGNvbXBp bGUgdGVzdGVkIG9ubHkuIEJ1dCBJIGFzc3VtZSBQcmFuZWVzaCBoYXMgdGVzdGVkIHRoaXMuCj4g Cj4gVGhpcyBpcyBhbHRlcm5hdGl2ZSBhcHByb2FjaCB0byBSb2JlcnQncyBwYXRjaHNldDoKPiAK PiBodHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3Byb2plY3QvbGludXgtd2lyZWxlc3MvbGlz dC8/c2VyaWVzPTY5MjQyMyZzdGF0ZT0qJm9yZGVyPWRhdGUKPiAKCkZvciB3aGF0IGRldmljZXMg dGhlIGNvbXBhdGlibGUgZmlybXdhcmUgaXMgYXZhaWxhYmxlPyBBbnkgcGxhbiB0byBmaXggdGhl CmRldmljZXMgd2l0aCBvbGQgZmlybXdhcmU/Cgo+ICBkcml2ZXJzL25ldC93aXJlbGVzcy9hdGgv YXRoMTFrL2Z3LmggIHwgIDUgKysrKysKPiAgZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0aDEx ay9wY2kuYyB8IDMxICsrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICBkcml2ZXJzL25ldC93 aXJlbGVzcy9hdGgvYXRoMTFrL3BjaS5oIHwgIDEgKwo+ICAzIGZpbGVzIGNoYW5nZWQsIDM3IGlu c2VydGlvbnMoKykKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0 aDExay9mdy5oIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0aDExay9mdy5oCj4gaW5kZXgg ZTMzYjBmNzhiNTcxLi45NGY1MGQ2NzVmOGQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9uZXQvd2ly ZWxlc3MvYXRoL2F0aDExay9mdy5oCj4gKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0 aDExay9mdy5oCj4gQEAgLTE3LDYgKzE3LDExIEBAIGVudW0gYXRoMTFrX2Z3X2llX3R5cGUgewo+ ICB9Owo+ICAKPiAgZW51bSBhdGgxMWtfZndfZmVhdHVyZXMgewo+ICsJLyogVGhlIGZpcm13YXJl IHN1cHBvcnRzIHNldHRpbmcgdGhlIFFSVFIgaWQgdmlhIHJlZ2lzdGVyCj4gKwkgKiBBVEgxMUtf UENJRV9MT0NBTF9SRUdfUENJRV9MT0NBTF9SU1YwLgo+ICsJICovCj4gKwlBVEgxMUtfRldfRkVB VFVSRV9NVUxUSV9RUlRSX0lEID0gMCwKPiArCj4gIAkvKiBrZWVwIGxhc3QgKi8KPiAgCUFUSDEx S19GV19GRUFUVVJFX0NPVU5ULAo+ICB9Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJl bGVzcy9hdGgvYXRoMTFrL3BjaS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0aDExay9w Y2kuYwo+IGluZGV4IDc3NjM2MmQxNTFjYi4uYzQyZTFlOGRhNjI0IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9hdGgxMWsvcGNpLmMKPiArKysgYi9kcml2ZXJzL25ldC93 aXJlbGVzcy9hdGgvYXRoMTFrL3BjaS5jCj4gQEAgLTI3LDYgKzI3LDggQEAKPiAgI2RlZmluZSBR Q045MDc0X0RFVklDRV9JRAkJMHgxMTA0Cj4gICNkZWZpbmUgV0NONjg1NV9ERVZJQ0VfSUQJCTB4 MTEwMwo+ICAKPiArI2RlZmluZSBBVEgxMUtfUENJRV9MT0NBTF9SRUdfUENJRV9MT0NBTF9SU1Yw ICAweDFFMDMxNjQKPiArCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCBhdGgx MWtfcGNpX2lkX3RhYmxlW10gPSB7Cj4gIAl7IFBDSV9WREVWSUNFKFFDT00sIFFDQTYzOTBfREVW SUNFX0lEKSB9LAo+ICAJeyBQQ0lfVkRFVklDRShRQ09NLCBXQ042ODU1X0RFVklDRV9JRCkgfSwK PiBAQCAtMzY3LDkgKzM2OSwxNCBAQCBzdGF0aWMgdm9pZCBhdGgxMWtfcGNpX3N3X3Jlc2V0KHN0 cnVjdCBhdGgxMWtfYmFzZSAqYWIsIGJvb2wgcG93ZXJfb24pCj4gIAlhdGgxMWtfbWhpX3NldF9t aGljdHJsX3Jlc2V0KGFiKTsKPiAgfQo+ICAKPiArI2RlZmluZSBBVEgxMUtfUVJUUl9JTlNUQU5D RV9QQ0lfRE9NQUlOCQlHRU5NQVNLKDMsIDApCj4gKyNkZWZpbmUgQVRIMTFLX1FSVFJfSU5TVEFO Q0VfUENJX0JVU19OVU0JR0VOTUFTSyg3LCA0KQo+ICsKPiAgc3RhdGljIHZvaWQgYXRoMTFrX3Bj aV9pbml0X3FtaV9jZV9jb25maWcoc3RydWN0IGF0aDExa19iYXNlICphYikKPiAgewo+ICAJc3Ry dWN0IGF0aDExa19xbWlfY2VfY2ZnICpjZmcgPSAmYWItPnFtaS5jZV9jZmc7Cj4gKwlzdHJ1Y3Qg YXRoMTFrX3BjaSAqYWJfcGNpID0gYXRoMTFrX3BjaV9wcml2KGFiKTsKPiArCXN0cnVjdCBwY2lf YnVzICpidXMgPSBhYl9wY2ktPnBkZXYtPmJ1czsKPiAgCj4gIAljZmctPnRndF9jZSA9IGFiLT5o d19wYXJhbXMudGFyZ2V0X2NlX2NvbmZpZzsKPiAgCWNmZy0+dGd0X2NlX2xlbiA9IGFiLT5od19w YXJhbXMudGFyZ2V0X2NlX2NvdW50Owo+IEBAIC0zODAsNiArMzg3LDE1IEBAIHN0YXRpYyB2b2lk IGF0aDExa19wY2lfaW5pdF9xbWlfY2VfY29uZmlnKHN0cnVjdCBhdGgxMWtfYmFzZSAqYWIpCj4g IAo+ICAJYXRoMTFrX2NlX2dldF9zaGFkb3dfY29uZmlnKGFiLCAmY2ZnLT5zaGFkb3dfcmVnX3Yy LAo+ICAJCQkJICAgICZjZmctPnNoYWRvd19yZWdfdjJfbGVuKTsKPiArCj4gKwlpZiAodGVzdF9i aXQoQVRIMTFLX0ZXX0ZFQVRVUkVfTVVMVElfUVJUUl9JRCwgYWItPmZ3LmZ3X2ZlYXR1cmVzKSkg ewo+ICsJCWFiX3BjaS0+aW5zdGFuY2VfaWQgPQo+ICsJCQlGSUVMRF9QUkVQKEFUSDExS19RUlRS X0lOU1RBTkNFX1BDSV9ET01BSU4sCj4gKwkJCQkgICBwY2lfZG9tYWluX25yKGJ1cykpIHwKPiAr CQkJRklFTERfUFJFUChBVEgxMUtfUVJUUl9JTlNUQU5DRV9QQ0lfQlVTX05VTSwKPiArCQkJCSAg IGJ1cy0+bnVtYmVyKTsKPiArCQlhYi0+cW1pLnNlcnZpY2VfaW5zX2lkICs9IGFiX3BjaS0+aW5z dGFuY2VfaWQ7Cj4gKwl9Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIGF0aDExa19wY2lfbXNpX2Nv bmZpZyhzdHJ1Y3QgYXRoMTFrX3BjaSAqYWJfcGNpLCBib29sIGVuYWJsZSkKPiBAQCAtNTk3LDYg KzYxMywxOCBAQCBzdGF0aWMgdm9pZCBhdGgxMWtfcGNpX2FzcG1fcmVzdG9yZShzdHJ1Y3QgYXRo MTFrX3BjaSAqYWJfcGNpKQo+ICAJCQkJCSAgIGFiX3BjaS0+bGlua19jdGwpOwo+ICB9Cj4gIAo+ ICtzdGF0aWMgdm9pZCBhdGgxMWtfcGNpX3VwZGF0ZV9xcnRyX25vZGVfaWQoc3RydWN0IGF0aDEx a19iYXNlICphYikKClRoZSBmdW5jdGlvbiBuYW1lIHNheXMgdXBkYXRlIG5vZGVfaWQgYnV0IGlu c3RhbmNlX2lkIGlzIHdoYXQgZ2V0dGluZyB1cGRhdGVkLgoKVGhhbmtzLApNYW5pCgo+ICt7Cj4g KwlzdHJ1Y3QgYXRoMTFrX3BjaSAqYWJfcGNpID0gYXRoMTFrX3BjaV9wcml2KGFiKTsKPiArCXUz MiByZWc7Cj4gKwo+ICsJcmVnID0gQVRIMTFLX1BDSUVfTE9DQUxfUkVHX1BDSUVfTE9DQUxfUlNW MCAmIEFUSDExS19QQ0lfV0lORE9XX1JBTkdFX01BU0s7Cj4gKwlhdGgxMWtfcGNpY193cml0ZTMy KGFiLCByZWcsIGFiX3BjaS0+aW5zdGFuY2VfaWQpOwo+ICsKPiArCWF0aDExa19kYmcoYWIsIEFU SDExS19EQkdfUENJLCAicGNpIHJlZyAweCV4IGluc3RhbmNlX2lkIDB4JXggcmVhZCB2YWwgMHgl eFxuIiwKPiArCQkgICByZWcsIGFiX3BjaS0+aW5zdGFuY2VfaWQsIGF0aDExa19wY2ljX3JlYWQz MihhYiwgcmVnKSk7Cj4gK30KPiArCj4gIHN0YXRpYyBpbnQgYXRoMTFrX3BjaV9wb3dlcl91cChz dHJ1Y3QgYXRoMTFrX2Jhc2UgKmFiKQo+ICB7Cj4gIAlzdHJ1Y3QgYXRoMTFrX3BjaSAqYWJfcGNp ID0gYXRoMTFrX3BjaV9wcml2KGFiKTsKPiBAQCAtNjEzLDYgKzY0MSw5IEBAIHN0YXRpYyBpbnQg YXRoMTFrX3BjaV9wb3dlcl91cChzdHJ1Y3QgYXRoMTFrX2Jhc2UgKmFiKQo+ICAKPiAgCWF0aDEx a19wY2lfbXNpX2VuYWJsZShhYl9wY2kpOwo+ICAKPiArCWlmICh0ZXN0X2JpdChBVEgxMUtfRldf RkVBVFVSRV9NVUxUSV9RUlRSX0lELCBhYi0+ZncuZndfZmVhdHVyZXMpKQo+ICsJCWF0aDExa19w Y2lfdXBkYXRlX3FydHJfbm9kZV9pZChhYik7Cj4gKwo+ICAJcmV0ID0gYXRoMTFrX21oaV9zdGFy dChhYl9wY2kpOwo+ICAJaWYgKHJldCkgewo+ICAJCWF0aDExa19lcnIoYWIsICJmYWlsZWQgdG8g c3RhcnQgbWhpOiAlZFxuIiwgcmV0KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxl c3MvYXRoL2F0aDExay9wY2kuaCBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9hdGgxMWsvcGNp LmgKPiBpbmRleCBlOWEwMWYzNDRlYzYuLmI5ZDQwMThkNTNjNiAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoMTFrL3BjaS5oCj4gKysrIGIvZHJpdmVycy9uZXQvd2ly ZWxlc3MvYXRoL2F0aDExay9wY2kuaAo+IEBAIC03Miw2ICs3Miw3IEBAIHN0cnVjdCBhdGgxMWtf cGNpIHsKPiAgCS8qIGVudW0gYXRoMTFrX3BjaV9mbGFncyAqLwo+ICAJdW5zaWduZWQgbG9uZyBm bGFnczsKPiAgCXUxNiBsaW5rX2N0bDsKPiArCXUzMiBpbnN0YW5jZV9pZDsKPiAgfTsKPiAgCj4g IHN0YXRpYyBpbmxpbmUgc3RydWN0IGF0aDExa19wY2kgKmF0aDExa19wY2lfcHJpdihzdHJ1Y3Qg YXRoMTFrX2Jhc2UgKmFiKQo+IC0tIAo+IDIuMzAuMgo+IAo+IAoKLS0gCuCuruCuo+Cuv+CuteCu o+CvjeCuo+CuqeCvjSDgrprgrqTgrr7grprgrr/grrXgrq7gr40KCi0tIAphdGgxMWsgbWFpbGlu ZyBsaXN0CmF0aDExa0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQu b3JnL21haWxtYW4vbGlzdGluZm8vYXRoMTFrCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f179.google.com (mail-pf1-f179.google.com [209.85.210.179]) (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 7F00D23A6 for ; Thu, 12 Jan 2023 10:38:34 +0000 (UTC) Received: by mail-pf1-f179.google.com with SMTP id i65so10020694pfc.0 for ; Thu, 12 Jan 2023 02:38:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=NEk0tRbd0iJjf3Z9S3v3OpKZ5mu2a9PefQc+E8hvAVo=; b=vQxcMgPe/GENVGqz7X3YqTw09X3rZc25cFzIP28wNSrfz4wEu5SXJ21zGVgFN39XSu VLDQboYQ5HahkHMzEbIuwL4rV7v4TPzBhwCFdDHrz330J1VJo2Uqor8Qa7Tkw6HrVjnJ EMBKgMm25+c4jCpSJ67pPiqWLrknHJeyFPwO673FAABIWralOp0adC1tOnN9RuVSZYPn nMYHnBZ3LMXsuJS/jIR5yaaju8lE9BPb2SryCPXYF/C3o7Nb/yX9SzgNDqfZJAfXgnVz TMvye8aOp2UMo+FBIPy1OhTAmWZo+cW0foicZN5dZT9Qtr8Qzuqd4OLfi18JQZAhfka7 vCXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=NEk0tRbd0iJjf3Z9S3v3OpKZ5mu2a9PefQc+E8hvAVo=; b=z/56429QrnCDadrvyO3kKqakvMTIr3+45NK3ezC8yb1N8pIcHFg/7TquLGzSmE395F hWLbVO2axzMm9dEbEfXUDWQUdbL76vnXboSBAHp6NceMuKC/hfeDOsxZfy5oAfyOXvbe 4/DuizXPIV2Y/tYDXfhc5pgZnB5GZp7e+YfaiOP7CYEMGayiUBhMCpjywzI2cPp/7aab jx7EYfBqCEMo0ndi0zZDNhml+AopzCPzn8lgLT6tF1F195DKdMJoYB9BUA23zl6lVeYP Ek3Z09o346BwinCd+PYeoOsiLBd7RPABPr7IO76NzCsfFt13bSyPl6lwETY2QdUd5dmX VCvg== X-Gm-Message-State: AFqh2kpNJcSu6vZNF6So2reR18C0vs8Oq7XjZKpX2VzceddVcKGxwajF A6yLcTdFgx5evpC7V2Xm3cep X-Google-Smtp-Source: AMrXdXvm4o+3fdzPRs8OqT1T99A+ATYPJpSZWbd0zR5N4z+1w7drpqvowp/hqLUsiAVCasSEc9sNvQ== X-Received: by 2002:aa7:8152:0:b0:587:d491:995f with SMTP id d18-20020aa78152000000b00587d491995fmr14395203pfn.20.1673519913649; Thu, 12 Jan 2023 02:38:33 -0800 (PST) Received: from thinkpad ([117.217.177.135]) by smtp.gmail.com with ESMTPSA id o2-20020a62f902000000b0058b128ae034sm4139426pfh.60.2023.01.12.02.38.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jan 2023 02:38:32 -0800 (PST) Date: Thu, 12 Jan 2023 16:08:24 +0530 From: Manivannan Sadhasivam To: Kalle Valo Cc: ath11k@lists.infradead.org, mhi@lists.linux.dev, linux-wireless@vger.kernel.org, robert.marko@sartura.hr Subject: Re: [PATCH RFC] ath11k: Add multiple QCN9074 devices support Message-ID: <20230112103824.GD4782@thinkpad> References: <20230111170033.32454-1-kvalo@kernel.org> Precedence: bulk X-Mailing-List: mhi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20230111170033.32454-1-kvalo@kernel.org> On Wed, Jan 11, 2023 at 07:00:33PM +0200, Kalle Valo wrote: > From: P Praneesh > > On platforms with two or more QCN9074 devices, the QMI service will run with > identical QRTR ids. qmi_add_lookup() is called with same qmi.service_ins_id. identical QRTR instance ID. > Because of this identical id, the QMI .new_server is received on all ath11k QMI > clients and the QMI state machine fails. > > To solve this generate a unique instance id from PCIe domain number and bus > number, write to the register ATH11K_PCIE_LOCAL_REG_PCIE_LOCAL_RSV0 before > power up. It is available for firmware when the QMI service is spawned. As not > all firmware releases support this feature add a new firmware feature flag > ATH11K_FW_FEATURE_MULTI_QRTR_ID to detect if it's supported. > > With this change, qrtr-lookup is shown in below example. > > Example: > root@OpenWrt:/# qrtr-lookup > Service Version Instance Node Port > 15 1 0 23 1 Test service > 69 1 23 23 2 ATH10k WLAN firmware service > 15 1 0 24 1 Test service > 69 1 24 24 2 ATH10k WLAN firmware service > > Here 23 and 24 on column 3 (QMI Instance ID) and column 4 (Node ID) are the > node IDs that is unique per ath11k device. > > Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.6.0.1-00760-QCAHKSWPL_SILICONZ-1 > > Co-developed-by: Anilkumar Kolli > Signed-off-by: Anilkumar Kolli > Signed-off-by: P Praneesh > Signed-off-by: Kalle Valo > --- > > Kalle's comments: > > Depends on: https://patchwork.kernel.org/project/linux-wireless/list/?series=710862&order=date > > It's also possible to do a simple test by just changing the test > "test_bit(ATH11K_FW_FEATURE_MULTI_QRTR_ID, ab->fw.fw_features)" to true, no > extra patches should be needed. > > I don't have a test setup for this so compile tested only. But I assume Praneesh has tested this. > > This is alternative approach to Robert's patchset: > > https://patchwork.kernel.org/project/linux-wireless/list/?series=692423&state=*&order=date > For what devices the compatible firmware is available? Any plan to fix the devices with old firmware? > drivers/net/wireless/ath/ath11k/fw.h | 5 +++++ > drivers/net/wireless/ath/ath11k/pci.c | 31 +++++++++++++++++++++++++++ > drivers/net/wireless/ath/ath11k/pci.h | 1 + > 3 files changed, 37 insertions(+) > > diff --git a/drivers/net/wireless/ath/ath11k/fw.h b/drivers/net/wireless/ath/ath11k/fw.h > index e33b0f78b571..94f50d675f8d 100644 > --- a/drivers/net/wireless/ath/ath11k/fw.h > +++ b/drivers/net/wireless/ath/ath11k/fw.h > @@ -17,6 +17,11 @@ enum ath11k_fw_ie_type { > }; > > enum ath11k_fw_features { > + /* The firmware supports setting the QRTR id via register > + * ATH11K_PCIE_LOCAL_REG_PCIE_LOCAL_RSV0. > + */ > + ATH11K_FW_FEATURE_MULTI_QRTR_ID = 0, > + > /* keep last */ > ATH11K_FW_FEATURE_COUNT, > }; > diff --git a/drivers/net/wireless/ath/ath11k/pci.c b/drivers/net/wireless/ath/ath11k/pci.c > index 776362d151cb..c42e1e8da624 100644 > --- a/drivers/net/wireless/ath/ath11k/pci.c > +++ b/drivers/net/wireless/ath/ath11k/pci.c > @@ -27,6 +27,8 @@ > #define QCN9074_DEVICE_ID 0x1104 > #define WCN6855_DEVICE_ID 0x1103 > > +#define ATH11K_PCIE_LOCAL_REG_PCIE_LOCAL_RSV0 0x1E03164 > + > static const struct pci_device_id ath11k_pci_id_table[] = { > { PCI_VDEVICE(QCOM, QCA6390_DEVICE_ID) }, > { PCI_VDEVICE(QCOM, WCN6855_DEVICE_ID) }, > @@ -367,9 +369,14 @@ static void ath11k_pci_sw_reset(struct ath11k_base *ab, bool power_on) > ath11k_mhi_set_mhictrl_reset(ab); > } > > +#define ATH11K_QRTR_INSTANCE_PCI_DOMAIN GENMASK(3, 0) > +#define ATH11K_QRTR_INSTANCE_PCI_BUS_NUM GENMASK(7, 4) > + > static void ath11k_pci_init_qmi_ce_config(struct ath11k_base *ab) > { > struct ath11k_qmi_ce_cfg *cfg = &ab->qmi.ce_cfg; > + struct ath11k_pci *ab_pci = ath11k_pci_priv(ab); > + struct pci_bus *bus = ab_pci->pdev->bus; > > cfg->tgt_ce = ab->hw_params.target_ce_config; > cfg->tgt_ce_len = ab->hw_params.target_ce_count; > @@ -380,6 +387,15 @@ static void ath11k_pci_init_qmi_ce_config(struct ath11k_base *ab) > > ath11k_ce_get_shadow_config(ab, &cfg->shadow_reg_v2, > &cfg->shadow_reg_v2_len); > + > + if (test_bit(ATH11K_FW_FEATURE_MULTI_QRTR_ID, ab->fw.fw_features)) { > + ab_pci->instance_id = > + FIELD_PREP(ATH11K_QRTR_INSTANCE_PCI_DOMAIN, > + pci_domain_nr(bus)) | > + FIELD_PREP(ATH11K_QRTR_INSTANCE_PCI_BUS_NUM, > + bus->number); > + ab->qmi.service_ins_id += ab_pci->instance_id; > + } > } > > static void ath11k_pci_msi_config(struct ath11k_pci *ab_pci, bool enable) > @@ -597,6 +613,18 @@ static void ath11k_pci_aspm_restore(struct ath11k_pci *ab_pci) > ab_pci->link_ctl); > } > > +static void ath11k_pci_update_qrtr_node_id(struct ath11k_base *ab) The function name says update node_id but instance_id is what getting updated. Thanks, Mani > +{ > + struct ath11k_pci *ab_pci = ath11k_pci_priv(ab); > + u32 reg; > + > + reg = ATH11K_PCIE_LOCAL_REG_PCIE_LOCAL_RSV0 & ATH11K_PCI_WINDOW_RANGE_MASK; > + ath11k_pcic_write32(ab, reg, ab_pci->instance_id); > + > + ath11k_dbg(ab, ATH11K_DBG_PCI, "pci reg 0x%x instance_id 0x%x read val 0x%x\n", > + reg, ab_pci->instance_id, ath11k_pcic_read32(ab, reg)); > +} > + > static int ath11k_pci_power_up(struct ath11k_base *ab) > { > struct ath11k_pci *ab_pci = ath11k_pci_priv(ab); > @@ -613,6 +641,9 @@ static int ath11k_pci_power_up(struct ath11k_base *ab) > > ath11k_pci_msi_enable(ab_pci); > > + if (test_bit(ATH11K_FW_FEATURE_MULTI_QRTR_ID, ab->fw.fw_features)) > + ath11k_pci_update_qrtr_node_id(ab); > + > ret = ath11k_mhi_start(ab_pci); > if (ret) { > ath11k_err(ab, "failed to start mhi: %d\n", ret); > diff --git a/drivers/net/wireless/ath/ath11k/pci.h b/drivers/net/wireless/ath/ath11k/pci.h > index e9a01f344ec6..b9d4018d53c6 100644 > --- a/drivers/net/wireless/ath/ath11k/pci.h > +++ b/drivers/net/wireless/ath/ath11k/pci.h > @@ -72,6 +72,7 @@ struct ath11k_pci { > /* enum ath11k_pci_flags */ > unsigned long flags; > u16 link_ctl; > + u32 instance_id; > }; > > static inline struct ath11k_pci *ath11k_pci_priv(struct ath11k_base *ab) > -- > 2.30.2 > > -- மணிவண்ணன் சதாசிவம்