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 9DCAAC4332F for ; Mon, 7 Nov 2022 17:47:48 +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=6LJ+P4qxKkYxr0DG0pOQQrSe5lhiEEJbM5CQNjZxaW0=; b=p7HzOsj5s7Zm60 1jHTy0mLPF72Os0+0KdlKQ1tGnsGqyzQSVnPCq/4yfCCiLyrffcAguaD7UZsrbQNZIfSjbvB5GisE 7UpRR4DQubVzaY0p0lOyu7i/RfpjpyyQmqXbJDmqhyHYWM2ydoGrQoz7ps6f8TM5sfLq0Wto2Jv07 ZGzJLjTidQHhLFxWFvvSY/uKDsq72X61Gooka1udGB5w22mlNV5fXZ9F3MW9GDyvJgS3hr+NSjiEi BiDPD8w0otToRldviV9aMkNXPdfwIy7kvLs4cqxT2dOIF5qeUGadav+rnotvKdrpIpKjeGYQNsxRW 5fRYRK4QuKAQYcEIcPxQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1os6Ds-00GuCN-2f; Mon, 07 Nov 2022 17:47:48 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1os6Dp-00GuBu-9X for ath11k@lists.infradead.org; Mon, 07 Nov 2022 17:47:46 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id EAAA5611EB; Mon, 7 Nov 2022 17:47:42 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 36564C433D6; Mon, 7 Nov 2022 17:47:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1667843262; bh=7WUGMjbQAmJLzpGQPB3dMUjNgFPkqKZ4u1QV1AW//uM=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=QKVrLSoKk6VveD4mEiq0tyP6ZWWZy6zJq0azmvsoVf3N/PJK21QvWCb3UWNXi11my p4byXoesl/ETA0NdclkejgJalCRfpF5uf1TqyKTyTkhjUcA8z0Nl5oYZEDA/bEgIlc P51p41dxF3U+y/WKbelikyBFyomeVrn2O1iMP7Ll8lVVkMpKfbftkw8EJ3/QnOgF35 dwb71wuhLDecU+w/8qsRYRD/+6xZKvvIC5+a3jY1gEzwtgHqIg4YoVWbXW1lsEIeKM gq8mc8rLYHgBXZeMDA+guPFWi+UR1wzH6aUKyF+QUGG4jV/aND6eWJWIUCdqBNfbEq Sxu2L/rqSMAQg== Date: Mon, 7 Nov 2022 23:17:27 +0530 From: Manivannan Sadhasivam To: Robert Marko Cc: mani@kernel.org, kvalo@kernel.org, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, gregkh@linuxfoundation.org, elder@linaro.org, hemantk@codeaurora.org, quic_jhugo@quicinc.com, quic_qianyu@quicinc.com, bbhatt@codeaurora.org, mhi@lists.linux.dev, linux-arm-msm@vger.kernel.org, ath11k@lists.infradead.org, linux-wireless@vger.kernel.org, netdev@vger.kernel.org, ansuelsmth@gmail.com Subject: Re: [PATCH 2/2] wifi: ath11k: use unique QRTR instance ID Message-ID: <20221107174727.GA7535@thinkpad> References: <20221105194943.826847-1-robimarko@gmail.com> <20221105194943.826847-2-robimarko@gmail.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20221105194943.826847-2-robimarko@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221107_094745_431506_7153A297 X-CRM114-Status: GOOD ( 30.23 ) 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 T24gU2F0LCBOb3YgMDUsIDIwMjIgYXQgMDg6NDk6NDNQTSArMDEwMCwgUm9iZXJ0IE1hcmtvIHdy b3RlOgo+IEN1cnJlbnRseSwgdHJ5aW5nIHRvIHVzZSBBSEIgKyBQQ0kvTUhJIGNhcmRzIG9yIG11 bHRpcGxlIFBDSS9NSEkgY2FyZHMKPiB3aWxsIGNhdXNlIGEgY2xhc2ggaW4gdGhlIFFSVFIgaW5z dGFuY2Ugbm9kZSBJRCBhbmQgcHJldmVudCB0aGUgZHJpdmVyCj4gZnJvbSB0YWxraW5nIHZpYSBR TUkgdG8gdGhlIGNhcmQgYW5kIHRodXMgaW5pdGlhbGl6aW5nIGl0IHdpdGg6Cj4gWyAgICA5Ljgz NjMyOV0gYXRoMTFrIGMwMDAwMDAud2lmaTogaG9zdCBjYXBhYmlsaXR5IHJlcXVlc3QgZmFpbGVk OiAxIDkwCj4gWyAgICA5Ljg0MjA0N10gYXRoMTFrIGMwMDAwMDAud2lmaTogZmFpbGVkIHRvIHNl bmQgcW1pIGhvc3QgY2FwOiAtMjIKPiAKClRoZXJlIGlzIHN0aWxsIGFuIG91dHN0YW5kaW5nIGlz c3VlIHdoZXJlIHlvdSBjYW5ub3QgY29ubmVjdCB0d28gV0xBTiBtb2R1bGVzCndpdGggc2FtZSBu b2RlIGlkLgoKPiBTbywgaW4gb3JkZXIgdG8gYWxsb3cgZm9yIHRoaXMgY29tYmluYXRpb24gb2Yg Y2FyZHMsIGVzcGVjaWFsbHkgQUhCICsgUENJCj4gY2FyZHMgbGlrZSBJUFE4MDc0ICsgUUNOOTA3 NCAoVXNlZCBieSBtZSBhbmQgdGVzdGVkIG9uKSBzZXQgdGhlIGRlc2lyZWQKPiBRUlRSIGluc3Rh bmNlIElEIG9mZnNldCBieSBjYWxjdWxhdGluZyBhIHVuaXF1ZSBvbmUgYmFzZWQgb24gUENJIGRv bWFpbgo+IGFuZCBidXMgSUQtcyBhbmQgd3JpdGluZyBpdCB0byBiaXRzIDctMCBvZiBCSElfRVJS REJHMiBNSEkgcmVnaXN0ZXIgYnkKPiB1c2luZyB0aGUgU0JMIHN0YXRlIGNhbGxiYWNrIHRoYXQg aXMgYWRkZWQgYXMgcGFydCBvZiB0aGUgc2VyaWVzLgo+IFdlIGFsc28gaGF2ZSB0byBtYWtlIHN1 cmUgdGhhdCBuZXcgUVJUUiBvZmZzZXQgaXMgYWRkZWQgb24gdG9wIG9mIHRoZQo+IGRlZmF1bHQg UVJUUiBpbnN0YW5jZSBJRC1zIHRoYXQgYXJlIGN1cnJlbnRseSB1c2VkIGluIHRoZSBkcml2ZXIu Cj4gCgpSZWdpc3RlciBCSElfRVJSREJHMiBpcyBsaXN0ZWQgYXMgUmVhZCBvbmx5IGZyb20gSG9z dCBhcyBwZXIgdGhlIEJISSBzcGVjLgpTbyBJJ20gbm90IHN1cmUgaWYgdGhpcyBzb2x1dGlvbiBp cyBnb2luZyB0byB3b3JrIG9uIGFsbCBhdGgxMWsgc3VwcG9ydGVkCmNoaXBzZXRzLgoKS2FsbGUs IGNhbiB5b3UgY29uZmlybT8KCj4gVGhpcyBmaW5hbGx5IGFsbG93cyB1c2luZyBBSEIgKyBQQ0kg b3IgbXVsdGlwbGUgUENJIGNhcmRzIG9uIHRoZSBzYW1lCj4gc3lzdGVtLgo+IAo+IEJlZm9yZToK PiByb290QE9wZW5XcnQ6LyMgcXJ0ci1sb29rdXAKPiAgIFNlcnZpY2UgVmVyc2lvbiBJbnN0YW5j ZSBOb2RlICBQb3J0Cj4gICAgICAxMDU0ICAgICAgIDEgICAgICAgIDAgICAgNyAgICAgMSA8dW5r bm93bj4KPiAgICAgICAgNjkgICAgICAgMSAgICAgICAgMiAgICA3ICAgICAzIEFUSDEwayBXTEFO IGZpcm13YXJlIHNlcnZpY2UKPiAKPiBBZnRlcjoKPiByb290QE9wZW5XcnQ6LyMgcXJ0ci1sb29r dXAKPiAgIFNlcnZpY2UgVmVyc2lvbiBJbnN0YW5jZSBOb2RlICBQb3J0Cj4gICAgICAxMDU0ICAg ICAgIDEgICAgICAgIDAgICAgNyAgICAgMSA8dW5rbm93bj4KPiAgICAgICAgNjkgICAgICAgMSAg ICAgICAgMiAgICA3ICAgICAzIEFUSDEwayBXTEFOIGZpcm13YXJlIHNlcnZpY2UKPiAgICAgICAg MTUgICAgICAgMSAgICAgICAgMCAgICA4ICAgICAxIFRlc3Qgc2VydmljZQo+ICAgICAgICA2OSAg ICAgICAxICAgICAgICA4ICAgIDggICAgIDIgQVRIMTBrIFdMQU4gZmlybXdhcmUgc2VydmljZQo+ IAo+IFRlc3RlZC1vbjogSVBRODA3NCBodzIuMCBBSEIgV0xBTi5ISy4yLjUuMC4xLTAxMjA4LVFD QUhLU1dQTF9TSUxJQ09OWi0xCj4gVGVzdGVkLW9uOiBRQ045MDc0IGh3MS4wIFBDSSBXTEFOLkhL LjIuNS4wLjEtMDEyMDgtUUNBSEtTV1BMX1NJTElDT05aLTEKPiAKPiBTaWduZWQtb2ZmLWJ5OiBS b2JlcnQgTWFya28gPHJvYmltYXJrb0BnbWFpbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvbmV0L3dp cmVsZXNzL2F0aC9hdGgxMWsvbWhpLmMgfCA0NyArKysrKysrKysrKysrKysrKystLS0tLS0tLS0K PiAgZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0aDExay9taGkuaCB8ICAzICsrCj4gIGRyaXZl cnMvbmV0L3dpcmVsZXNzL2F0aC9hdGgxMWsvcGNpLmMgfCAgNSArKy0KPiAgMyBmaWxlcyBjaGFu Z2VkLCAzOCBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0aDExay9taGkuYyBiL2RyaXZlcnMvbmV0L3dpcmVs ZXNzL2F0aC9hdGgxMWsvbWhpLmMKPiBpbmRleCA4Njk5NWU4ZGM5MTMuLjIzZTg1ZWE5MDJmNSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoMTFrL21oaS5jCj4gKysr IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0aDExay9taGkuYwo+IEBAIC0yOTQsNiArMjk0 LDMyIEBAIHN0YXRpYyB2b2lkIGF0aDExa19taGlfb3BfcnVudGltZV9wdXQoc3RydWN0IG1oaV9j b250cm9sbGVyICptaGlfY250cmwpCj4gIHsKPiAgfQo+ICAKPiArc3RhdGljIGludCBhdGgxMWtf bWhpX29wX3JlYWRfcmVnKHN0cnVjdCBtaGlfY29udHJvbGxlciAqbWhpX2NudHJsLAo+ICsJCQkJ ICB2b2lkIF9faW9tZW0gKmFkZHIsCj4gKwkJCQkgIHUzMiAqb3V0KQo+ICt7Cj4gKwkqb3V0ID0g cmVhZGwoYWRkcik7Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGF0 aDExa19taGlfb3Bfd3JpdGVfcmVnKHN0cnVjdCBtaGlfY29udHJvbGxlciAqbWhpX2NudHJsLAo+ ICsJCQkJICAgIHZvaWQgX19pb21lbSAqYWRkciwKPiArCQkJCSAgICB1MzIgdmFsKQo+ICt7Cj4g Kwl3cml0ZWwodmFsLCBhZGRyKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgYXRoMTFrX21oaV9x cnRyX2luc3RhbmNlX3NldChzdHJ1Y3QgbWhpX2NvbnRyb2xsZXIgKm1oaV9jbnRybCkKPiArewo+ ICsJc3RydWN0IGF0aDExa19iYXNlICphYiA9IGRldl9nZXRfZHJ2ZGF0YShtaGlfY250cmwtPmNu dHJsX2Rldik7Cj4gKwo+ICsJYXRoMTFrX21oaV9vcF93cml0ZV9yZWcobWhpX2NudHJsLAo+ICsJ CQkJbWhpX2NudHJsLT5iaGkgKyBCSElfRVJSREJHMiwKPiArCQkJCUZJRUxEX1BSRVAoUVJUUl9J TlNUQU5DRV9NQVNLLAo+ICsJCQkJYWItPnFtaS5zZXJ2aWNlX2luc19pZCAtIGFiLT5od19wYXJh bXMucW1pX3NlcnZpY2VfaW5zX2lkKSk7Cj4gK30KPiArCj4gIHN0YXRpYyBjaGFyICphdGgxMWtf bWhpX29wX2NhbGxiYWNrX3RvX3N0cihlbnVtIG1oaV9jYWxsYmFjayByZWFzb24pCj4gIHsKPiAg CXN3aXRjaCAocmVhc29uKSB7Cj4gQEAgLTMxNSw2ICszNDEsOCBAQCBzdGF0aWMgY2hhciAqYXRo MTFrX21oaV9vcF9jYWxsYmFja190b19zdHIoZW51bSBtaGlfY2FsbGJhY2sgcmVhc29uKQo+ICAJ CXJldHVybiAiTUhJX0NCX0ZBVEFMX0VSUk9SIjsKPiAgCWNhc2UgTUhJX0NCX0JXX1JFUToKPiAg CQlyZXR1cm4gIk1ISV9DQl9CV19SRVEiOwo+ICsJY2FzZSBNSElfQ0JfRUVfU0JMX01PREU6Cj4g KwkJcmV0dXJuICJNSElfQ0JfRUVfU0JMX01PREUiOwo+ICAJZGVmYXVsdDoKPiAgCQlyZXR1cm4g IlVOS05PV04iOwo+ICAJfQo+IEBAIC0zMzYsMjcgKzM2NCwxNCBAQCBzdGF0aWMgdm9pZCBhdGgx MWtfbWhpX29wX3N0YXR1c19jYihzdHJ1Y3QgbWhpX2NvbnRyb2xsZXIgKm1oaV9jbnRybCwKPiAg CQlpZiAoISh0ZXN0X2JpdChBVEgxMUtfRkxBR19VTlJFR0lTVEVSSU5HLCAmYWItPmRldl9mbGFn cykpKQo+ICAJCQlxdWV1ZV93b3JrKGFiLT53b3JrcXVldWVfYXV4LCAmYWItPnJlc2V0X3dvcmsp Owo+ICAJCWJyZWFrOwo+ICsJY2FzZSBNSElfQ0JfRUVfU0JMX01PREU6Cj4gKwkJYXRoMTFrX21o aV9xcnRyX2luc3RhbmNlX3NldChtaGlfY250cmwpOwoKSSBzdGlsbCBkb24ndCB1bmRlcnN0YW5k IGhvdyBTQkwgY291bGQgbWFrZSB1c2Ugb2YgdGhpcyBpbmZvcm1hdGlvbiBkdXJpbmcKYm9vdCB3 aXRob3V0IHdhaXRpbmcgZm9yIGFuIHVwZGF0ZS4KClRoYW5rcywKTWFuaQoKPiArCQlicmVhazsK PiAgCWRlZmF1bHQ6Cj4gIAkJYnJlYWs7Cj4gIAl9Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbnQgYXRo MTFrX21oaV9vcF9yZWFkX3JlZyhzdHJ1Y3QgbWhpX2NvbnRyb2xsZXIgKm1oaV9jbnRybCwKPiAt CQkJCSAgdm9pZCBfX2lvbWVtICphZGRyLAo+IC0JCQkJICB1MzIgKm91dCkKPiAtewo+IC0JKm91 dCA9IHJlYWRsKGFkZHIpOwo+IC0KPiAtCXJldHVybiAwOwo+IC19Cj4gLQo+IC1zdGF0aWMgdm9p ZCBhdGgxMWtfbWhpX29wX3dyaXRlX3JlZyhzdHJ1Y3QgbWhpX2NvbnRyb2xsZXIgKm1oaV9jbnRy bCwKPiAtCQkJCSAgICB2b2lkIF9faW9tZW0gKmFkZHIsCj4gLQkJCQkgICAgdTMyIHZhbCkKPiAt ewo+IC0Jd3JpdGVsKHZhbCwgYWRkcik7Cj4gLX0KPiAtCj4gIHN0YXRpYyBpbnQgYXRoMTFrX21o aV9yZWFkX2FkZHJfZnJvbV9kdChzdHJ1Y3QgbWhpX2NvbnRyb2xsZXIgKm1oaV9jdHJsKQo+ICB7 Cj4gIAlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93 aXJlbGVzcy9hdGgvYXRoMTFrL21oaS5oIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0aDEx ay9taGkuaAo+IGluZGV4IDhkOWY4NTJkYTY5NS4uMGRiMzA4YmMzMDQ3IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9hdGgxMWsvbWhpLmgKPiArKysgYi9kcml2ZXJzL25l dC93aXJlbGVzcy9hdGgvYXRoMTFrL21oaS5oCj4gQEAgLTE2LDYgKzE2LDkgQEAKPiAgI2RlZmlu ZSBNSElDVFJMCQkJCQkweDM4Cj4gICNkZWZpbmUgTUhJQ1RSTF9SRVNFVF9NQVNLCQkJMHgyCj4g IAo+ICsjZGVmaW5lIEJISV9FUlJEQkcyCQkJCTB4MzgKPiArI2RlZmluZSBRUlRSX0lOU1RBTkNF X01BU0sJCQlHRU5NQVNLKDcsIDApCj4gKwo+ICBpbnQgYXRoMTFrX21oaV9zdGFydChzdHJ1Y3Qg YXRoMTFrX3BjaSAqYXJfcGNpKTsKPiAgdm9pZCBhdGgxMWtfbWhpX3N0b3Aoc3RydWN0IGF0aDEx a19wY2kgKmFyX3BjaSk7Cj4gIGludCBhdGgxMWtfbWhpX3JlZ2lzdGVyKHN0cnVjdCBhdGgxMWtf cGNpICphcl9wY2kpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRo MTFrL3BjaS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0aDExay9wY2kuYwo+IGluZGV4 IDk5Y2YzMzU3YzY2ZS4uY2QyNmMxNTY3NDE1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbmV0L3dp cmVsZXNzL2F0aC9hdGgxMWsvcGNpLmMKPiArKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgv YXRoMTFrL3BjaS5jCj4gQEAgLTM3MCwxMyArMzcwLDE2IEBAIHN0YXRpYyB2b2lkIGF0aDExa19w Y2lfc3dfcmVzZXQoc3RydWN0IGF0aDExa19iYXNlICphYiwgYm9vbCBwb3dlcl9vbikKPiAgc3Rh dGljIHZvaWQgYXRoMTFrX3BjaV9pbml0X3FtaV9jZV9jb25maWcoc3RydWN0IGF0aDExa19iYXNl ICphYikKPiAgewo+ICAJc3RydWN0IGF0aDExa19xbWlfY2VfY2ZnICpjZmcgPSAmYWItPnFtaS5j ZV9jZmc7Cj4gKwlzdHJ1Y3QgYXRoMTFrX3BjaSAqYWJfcGNpID0gYXRoMTFrX3BjaV9wcml2KGFi KTsKPiArCXN0cnVjdCBwY2lfYnVzICpidXMgPSBhYl9wY2ktPnBkZXYtPmJ1czsKPiAgCj4gIAlj ZmctPnRndF9jZSA9IGFiLT5od19wYXJhbXMudGFyZ2V0X2NlX2NvbmZpZzsKPiAgCWNmZy0+dGd0 X2NlX2xlbiA9IGFiLT5od19wYXJhbXMudGFyZ2V0X2NlX2NvdW50Owo+ICAKPiAgCWNmZy0+c3Zj X3RvX2NlX21hcCA9IGFiLT5od19wYXJhbXMuc3ZjX3RvX2NlX21hcDsKPiAgCWNmZy0+c3ZjX3Rv X2NlX21hcF9sZW4gPSBhYi0+aHdfcGFyYW1zLnN2Y190b19jZV9tYXBfbGVuOwo+IC0JYWItPnFt aS5zZXJ2aWNlX2luc19pZCA9IGFiLT5od19wYXJhbXMucW1pX3NlcnZpY2VfaW5zX2lkOwo+ICsJ YWItPnFtaS5zZXJ2aWNlX2luc19pZCA9IGFiLT5od19wYXJhbXMucW1pX3NlcnZpY2VfaW5zX2lk ICsKPiArCSgoKHBjaV9kb21haW5fbnIoYnVzKSAmIDB4RikgPDwgNCkgfCAoYnVzLT5udW1iZXIg JiAweEYpKTsKPiAgCj4gIAlhdGgxMWtfY2VfZ2V0X3NoYWRvd19jb25maWcoYWIsICZjZmctPnNo YWRvd19yZWdfdjIsCj4gIAkJCQkgICAgJmNmZy0+c2hhZG93X3JlZ192Ml9sZW4pOwo+IC0tIAo+ IDIuMzguMQo+IAo+IAoKLS0gCuCuruCuo+Cuv+CuteCuo+CvjeCuo+CuqeCvjSDgrprgrqTgrr7g rprgrr/grrXgrq7gr40KCi0tIAphdGgxMWsgbWFpbGluZyBsaXN0CmF0aDExa0BsaXN0cy5pbmZy YWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vYXRo MTFrCg== 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 788B3C433FE for ; Mon, 7 Nov 2022 17:48:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231557AbiKGRsC (ORCPT ); Mon, 7 Nov 2022 12:48:02 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54558 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232990AbiKGRro (ORCPT ); Mon, 7 Nov 2022 12:47:44 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 59FE617A97; Mon, 7 Nov 2022 09:47:43 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id EA9CD611E9; Mon, 7 Nov 2022 17:47:42 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 36564C433D6; Mon, 7 Nov 2022 17:47:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1667843262; bh=7WUGMjbQAmJLzpGQPB3dMUjNgFPkqKZ4u1QV1AW//uM=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=QKVrLSoKk6VveD4mEiq0tyP6ZWWZy6zJq0azmvsoVf3N/PJK21QvWCb3UWNXi11my p4byXoesl/ETA0NdclkejgJalCRfpF5uf1TqyKTyTkhjUcA8z0Nl5oYZEDA/bEgIlc P51p41dxF3U+y/WKbelikyBFyomeVrn2O1iMP7Ll8lVVkMpKfbftkw8EJ3/QnOgF35 dwb71wuhLDecU+w/8qsRYRD/+6xZKvvIC5+a3jY1gEzwtgHqIg4YoVWbXW1lsEIeKM gq8mc8rLYHgBXZeMDA+guPFWi+UR1wzH6aUKyF+QUGG4jV/aND6eWJWIUCdqBNfbEq Sxu2L/rqSMAQg== Date: Mon, 7 Nov 2022 23:17:27 +0530 From: Manivannan Sadhasivam To: Robert Marko Cc: mani@kernel.org, kvalo@kernel.org, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, gregkh@linuxfoundation.org, elder@linaro.org, hemantk@codeaurora.org, quic_jhugo@quicinc.com, quic_qianyu@quicinc.com, bbhatt@codeaurora.org, mhi@lists.linux.dev, linux-arm-msm@vger.kernel.org, ath11k@lists.infradead.org, linux-wireless@vger.kernel.org, netdev@vger.kernel.org, ansuelsmth@gmail.com Subject: Re: [PATCH 2/2] wifi: ath11k: use unique QRTR instance ID Message-ID: <20221107174727.GA7535@thinkpad> References: <20221105194943.826847-1-robimarko@gmail.com> <20221105194943.826847-2-robimarko@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20221105194943.826847-2-robimarko@gmail.com> Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org On Sat, Nov 05, 2022 at 08:49:43PM +0100, Robert Marko wrote: > Currently, trying to use AHB + PCI/MHI cards or multiple PCI/MHI cards > will cause a clash in the QRTR instance node ID and prevent the driver > from talking via QMI to the card and thus initializing it with: > [ 9.836329] ath11k c000000.wifi: host capability request failed: 1 90 > [ 9.842047] ath11k c000000.wifi: failed to send qmi host cap: -22 > There is still an outstanding issue where you cannot connect two WLAN modules with same node id. > So, in order to allow for this combination of cards, especially AHB + PCI > cards like IPQ8074 + QCN9074 (Used by me and tested on) set the desired > QRTR instance ID offset by calculating a unique one based on PCI domain > and bus ID-s and writing it to bits 7-0 of BHI_ERRDBG2 MHI register by > using the SBL state callback that is added as part of the series. > We also have to make sure that new QRTR offset is added on top of the > default QRTR instance ID-s that are currently used in the driver. > Register BHI_ERRDBG2 is listed as Read only from Host as per the BHI spec. So I'm not sure if this solution is going to work on all ath11k supported chipsets. Kalle, can you confirm? > This finally allows using AHB + PCI or multiple PCI cards on the same > system. > > Before: > root@OpenWrt:/# qrtr-lookup > Service Version Instance Node Port > 1054 1 0 7 1 > 69 1 2 7 3 ATH10k WLAN firmware service > > After: > root@OpenWrt:/# qrtr-lookup > Service Version Instance Node Port > 1054 1 0 7 1 > 69 1 2 7 3 ATH10k WLAN firmware service > 15 1 0 8 1 Test service > 69 1 8 8 2 ATH10k WLAN firmware service > > Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.5.0.1-01208-QCAHKSWPL_SILICONZ-1 > Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.5.0.1-01208-QCAHKSWPL_SILICONZ-1 > > Signed-off-by: Robert Marko > --- > drivers/net/wireless/ath/ath11k/mhi.c | 47 ++++++++++++++++++--------- > drivers/net/wireless/ath/ath11k/mhi.h | 3 ++ > drivers/net/wireless/ath/ath11k/pci.c | 5 ++- > 3 files changed, 38 insertions(+), 17 deletions(-) > > diff --git a/drivers/net/wireless/ath/ath11k/mhi.c b/drivers/net/wireless/ath/ath11k/mhi.c > index 86995e8dc913..23e85ea902f5 100644 > --- a/drivers/net/wireless/ath/ath11k/mhi.c > +++ b/drivers/net/wireless/ath/ath11k/mhi.c > @@ -294,6 +294,32 @@ static void ath11k_mhi_op_runtime_put(struct mhi_controller *mhi_cntrl) > { > } > > +static int ath11k_mhi_op_read_reg(struct mhi_controller *mhi_cntrl, > + void __iomem *addr, > + u32 *out) > +{ > + *out = readl(addr); > + > + return 0; > +} > + > +static void ath11k_mhi_op_write_reg(struct mhi_controller *mhi_cntrl, > + void __iomem *addr, > + u32 val) > +{ > + writel(val, addr); > +} > + > +static void ath11k_mhi_qrtr_instance_set(struct mhi_controller *mhi_cntrl) > +{ > + struct ath11k_base *ab = dev_get_drvdata(mhi_cntrl->cntrl_dev); > + > + ath11k_mhi_op_write_reg(mhi_cntrl, > + mhi_cntrl->bhi + BHI_ERRDBG2, > + FIELD_PREP(QRTR_INSTANCE_MASK, > + ab->qmi.service_ins_id - ab->hw_params.qmi_service_ins_id)); > +} > + > static char *ath11k_mhi_op_callback_to_str(enum mhi_callback reason) > { > switch (reason) { > @@ -315,6 +341,8 @@ static char *ath11k_mhi_op_callback_to_str(enum mhi_callback reason) > return "MHI_CB_FATAL_ERROR"; > case MHI_CB_BW_REQ: > return "MHI_CB_BW_REQ"; > + case MHI_CB_EE_SBL_MODE: > + return "MHI_CB_EE_SBL_MODE"; > default: > return "UNKNOWN"; > } > @@ -336,27 +364,14 @@ static void ath11k_mhi_op_status_cb(struct mhi_controller *mhi_cntrl, > if (!(test_bit(ATH11K_FLAG_UNREGISTERING, &ab->dev_flags))) > queue_work(ab->workqueue_aux, &ab->reset_work); > break; > + case MHI_CB_EE_SBL_MODE: > + ath11k_mhi_qrtr_instance_set(mhi_cntrl); I still don't understand how SBL could make use of this information during boot without waiting for an update. Thanks, Mani > + break; > default: > break; > } > } > > -static int ath11k_mhi_op_read_reg(struct mhi_controller *mhi_cntrl, > - void __iomem *addr, > - u32 *out) > -{ > - *out = readl(addr); > - > - return 0; > -} > - > -static void ath11k_mhi_op_write_reg(struct mhi_controller *mhi_cntrl, > - void __iomem *addr, > - u32 val) > -{ > - writel(val, addr); > -} > - > static int ath11k_mhi_read_addr_from_dt(struct mhi_controller *mhi_ctrl) > { > struct device_node *np; > diff --git a/drivers/net/wireless/ath/ath11k/mhi.h b/drivers/net/wireless/ath/ath11k/mhi.h > index 8d9f852da695..0db308bc3047 100644 > --- a/drivers/net/wireless/ath/ath11k/mhi.h > +++ b/drivers/net/wireless/ath/ath11k/mhi.h > @@ -16,6 +16,9 @@ > #define MHICTRL 0x38 > #define MHICTRL_RESET_MASK 0x2 > > +#define BHI_ERRDBG2 0x38 > +#define QRTR_INSTANCE_MASK GENMASK(7, 0) > + > int ath11k_mhi_start(struct ath11k_pci *ar_pci); > void ath11k_mhi_stop(struct ath11k_pci *ar_pci); > int ath11k_mhi_register(struct ath11k_pci *ar_pci); > diff --git a/drivers/net/wireless/ath/ath11k/pci.c b/drivers/net/wireless/ath/ath11k/pci.c > index 99cf3357c66e..cd26c1567415 100644 > --- a/drivers/net/wireless/ath/ath11k/pci.c > +++ b/drivers/net/wireless/ath/ath11k/pci.c > @@ -370,13 +370,16 @@ static void ath11k_pci_sw_reset(struct ath11k_base *ab, bool power_on) > 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; > > cfg->svc_to_ce_map = ab->hw_params.svc_to_ce_map; > cfg->svc_to_ce_map_len = ab->hw_params.svc_to_ce_map_len; > - ab->qmi.service_ins_id = ab->hw_params.qmi_service_ins_id; > + ab->qmi.service_ins_id = ab->hw_params.qmi_service_ins_id + > + (((pci_domain_nr(bus) & 0xF) << 4) | (bus->number & 0xF)); > > ath11k_ce_get_shadow_config(ab, &cfg->shadow_reg_v2, > &cfg->shadow_reg_v2_len); > -- > 2.38.1 > > -- மணிவண்ணன் சதாசிவம்