From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from smtp.codeaurora.org ([198.145.29.96]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gZQFn-0007BD-I5 for ath10k@lists.infradead.org; Wed, 19 Dec 2018 01:02:31 +0000 From: Rajkumar Manoharan Subject: [PATCH v5 2/6] cfg80211: Add airtime statistics and settings Date: Tue, 18 Dec 2018 17:02:07 -0800 Message-Id: <1545181331-5288-3-git-send-email-rmanohar@codeaurora.org> In-Reply-To: <1545181331-5288-1-git-send-email-rmanohar@codeaurora.org> References: <1545181331-5288-1-git-send-email-rmanohar@codeaurora.org> MIME-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "ath10k" Errors-To: ath10k-bounces+kvalo=adurom.com@lists.infradead.org To: linux-wireless@vger.kernel.org, ath10k@lists.infradead.org Cc: make-wifi-fast@lists.bufferbloat.net, =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= , Rajkumar Manoharan RnJvbTogVG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2VuIDx0b2tlQHRva2UuZGs+CgpUaGlzIGFkZHMg VFggYWlydGltZSBzdGF0aXN0aWNzIHRvIHRoZSBjZmc4MDIxMSBzdGF0aW9uIGR1bXAgKHRvIGdv IGFsb25nCndpdGggdGhlIFJYIGluZm8gYWxyZWFkeSBwcmVzZW50KSwgYW5kIGFkZHMgYSBuZXcg cGFyYW1ldGVyIHRvIHNldCB0aGUKYWlydGltZSB3ZWlnaHQgb2YgZWFjaCBzdGF0aW9uLiBUaGUg bGF0dGVyIGFsbG93cyB1c2Vyc3BhY2UgdG8gaW1wbGVtZW50CnBvbGljaWVzIGZvciBkaWZmZXJl bnQgc3RhdGlvbnMgYnkgdmFyeWluZyB0aGVpciB3ZWlnaHRzLgoKU2lnbmVkLW9mZi1ieTogVG9r ZSBIw7hpbGFuZC1Kw7hyZ2Vuc2VuIDx0b2tlQHRva2UuZGs+CltybWFub2hhckBjb2RlYXVyb3Jh Lm9yZzogZml4ZWQgY2hlY2twYXRjaCB3YXJuaW5nc10KU2lnbmVkLW9mZi1ieTogUmFqa3VtYXIg TWFub2hhcmFuIDxybWFub2hhckBjb2RlYXVyb3JhLm9yZz4KLS0tCiBpbmNsdWRlL25ldC9jZmc4 MDIxMS5oICAgICAgIHwgMTAgKysrKysrKysrLQogaW5jbHVkZS91YXBpL2xpbnV4L25sODAyMTEu aCB8IDE1ICsrKysrKysrKysrKysrKwogbmV0L3dpcmVsZXNzL25sODAyMTEuYyAgICAgICB8IDMw ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA1NCBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvY2ZnODAy MTEuaCBiL2luY2x1ZGUvbmV0L2NmZzgwMjExLmgKaW5kZXggMWZhNDFiN2ExYmUzLi5mMTMxMmYx N2ZiZWYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbmV0L2NmZzgwMjExLmgKKysrIGIvaW5jbHVkZS9u ZXQvY2ZnODAyMTEuaApAQCAtMTAwMSw2ICsxMDAxLDcgQEAgZW51bSBzdGF0aW9uX3BhcmFtZXRl cnNfYXBwbHlfbWFzayB7CiAgKiBAc3VwcG9ydF9wMnBfcHM6IGluZm9ybWF0aW9uIGlmIHN0YXRp b24gc3VwcG9ydHMgUDJQIFBTIG1lY2hhbmlzbQogICogQGhlX2NhcGE6IEhFIGNhcGFiaWxpdGll cyBvZiBzdGF0aW9uCiAgKiBAaGVfY2FwYV9sZW46IHRoZSBsZW5ndGggb2YgdGhlIEhFIGNhcGFi aWxpdGllcworICogQGFpcnRpbWVfd2VpZ2h0OiBhaXJ0aW1lIHNjaGVkdWxlciB3ZWlnaHQgZm9y IHRoaXMgc3RhdGlvbgogICovCiBzdHJ1Y3Qgc3RhdGlvbl9wYXJhbWV0ZXJzIHsKIAljb25zdCB1 OCAqc3VwcG9ydGVkX3JhdGVzOwpAQCAtMTAzMCw2ICsxMDMxLDcgQEAgc3RydWN0IHN0YXRpb25f cGFyYW1ldGVycyB7CiAJaW50IHN1cHBvcnRfcDJwX3BzOwogCWNvbnN0IHN0cnVjdCBpZWVlODAy MTFfaGVfY2FwX2VsZW0gKmhlX2NhcGE7CiAJdTggaGVfY2FwYV9sZW47CisJdTE2IGFpcnRpbWVf d2VpZ2h0OwogfTsKIAogLyoqCkBAIC0xMjk3LDYgKzEyOTksOCBAQCBzdHJ1Y3QgY2ZnODAyMTFf dGlkX3N0YXRzIHsKICAqIEByeF9iZWFjb25fc2lnbmFsX2F2Zzogc2lnbmFsIHN0cmVuZ3RoIGF2 ZXJhZ2UgKGluIGRCbSkgZm9yIGJlYWNvbnMgcmVjZWl2ZWQKICAqCWZyb20gdGhpcyBwZWVyCiAg KiBAcnhfZHVyYXRpb246IGFnZ3JlZ2F0ZSBQUERVIGR1cmF0aW9uKHVzZWNzKSBmb3IgYWxsIHRo ZSBmcmFtZXMgZnJvbSBhIHBlZXIKKyAqIEB0eF9kdXJhdGlvbjogYWdncmVnYXRlIFBQRFUgZHVy YXRpb24odXNlY3MpIGZvciBhbGwgdGhlIGZyYW1lcyB0byBhIHBlZXIKKyAqIEBhaXJ0aW1lX3dl aWdodDogY3VycmVudCBhaXJ0aW1lIHNjaGVkdWxpbmcgd2VpZ2h0CiAgKiBAcGVydGlkOiBwZXIt VElEIHN0YXRpc3RpY3MsIHNlZSAmc3RydWN0IGNmZzgwMjExX3RpZF9zdGF0cywgdXNpbmcgdGhl IGxhc3QKICAqCShJRUVFODAyMTFfTlVNX1RJRFMpIGluZGV4IGZvciBNU0RVcyBub3QgZW5jYXBz dWxhdGVkIGluIFFvUy1NUERVcy4KICAqCU5vdGUgdGhhdCB0aGlzIGRvZXNuJ3QgdXNlIHRoZSBA ZmlsbGVkIGJpdCwgYnV0IGlzIHVzZWQgaWYgbm9uLU5VTEwuCkBAIC0xMzQ3LDEwICsxMzUxLDEy IEBAIHN0cnVjdCBzdGF0aW9uX2luZm8gewogCiAJdTMyIGV4cGVjdGVkX3Rocm91Z2hwdXQ7CiAK LQl1NjQgcnhfYmVhY29uOworCXU2NCB0eF9kdXJhdGlvbjsKIAl1NjQgcnhfZHVyYXRpb247CisJ dTY0IHJ4X2JlYWNvbjsKIAl1OCByeF9iZWFjb25fc2lnbmFsX2F2ZzsKIAlzdHJ1Y3QgY2ZnODAy MTFfdGlkX3N0YXRzICpwZXJ0aWQ7CisJdTE2IGFpcnRpbWVfd2VpZ2h0OwogCXM4IGFja19zaWdu YWw7CiAJczggYXZnX2Fja19zaWduYWw7CiAKQEAgLTIzODEsNiArMjM4Nyw4IEBAIGVudW0gd2lw aHlfcGFyYW1zX2ZsYWdzIHsKIAlXSVBIWV9QQVJBTV9UWFFfUVVBTlRVTQkJPSAxIDw8IDgsCiB9 OwogCisjZGVmaW5lIElFRUU4MDIxMV9ERUZBVUxUX0FJUlRJTUVfV0VJR0hUCTI1NgorCiAvKioK ICAqIHN0cnVjdCBjZmc4MDIxMV9wbWtzYSAtIFBNSyBTZWN1cml0eSBBc3NvY2lhdGlvbgogICoK ZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9saW51eC9ubDgwMjExLmggYi9pbmNsdWRlL3VhcGkv bGludXgvbmw4MDIxMS5oCmluZGV4IDZkNjEwYmFlMzBhOS4uOTQyOGJkMGViYjFhIDEwMDY0NAot LS0gYS9pbmNsdWRlL3VhcGkvbGludXgvbmw4MDIxMS5oCisrKyBiL2luY2x1ZGUvdWFwaS9saW51 eC9ubDgwMjExLmgKQEAgLTIyNTQsNiArMjI1NCw5IEBAIGVudW0gbmw4MDIxMV9jb21tYW5kcyB7 CiAgKiBATkw4MDIxMV9BVFRSX0ZUTV9SRVNQT05ERVJfU1RBVFM6IE5lc3RlZCBhdHRyaWJ1dGUg d2l0aCBGVE0gcmVzcG9uZGVyCiAgKglzdGF0aXN0aWNzLCBzZWUgJmVudW0gbmw4MDIxMV9mdG1f cmVzcG9uZGVyX3N0YXRzLgogICoKKyAqIEBOTDgwMjExX0FUVFJfQUlSVElNRV9XRUlHSFQ6IFN0 YXRpb24ncyB3ZWlnaHQgd2hlbiBzY2hlZHVsZWQgYnkgdGhlIGFpcnRpbWUKKyAqCXNjaGVkdWxl ci4KKyAqCiAgKiBATlVNX05MODAyMTFfQVRUUjogdG90YWwgbnVtYmVyIG9mIG5sODAyMTFfYXR0 cnMgYXZhaWxhYmxlCiAgKiBATkw4MDIxMV9BVFRSX01BWDogaGlnaGVzdCBhdHRyaWJ1dGUgbnVt YmVyIGN1cnJlbnRseSBkZWZpbmVkCiAgKiBAX19OTDgwMjExX0FUVFJfQUZURVJfTEFTVDogaW50 ZXJuYWwgdXNlCkBAIC0yNjk5LDYgKzI3MDIsOCBAQCBlbnVtIG5sODAyMTFfYXR0cnMgewogCiAJ Tkw4MDIxMV9BVFRSX0ZUTV9SRVNQT05ERVJfU1RBVFMsCiAKKwlOTDgwMjExX0FUVFJfQUlSVElN RV9XRUlHSFQsCisKIAkvKiBhZGQgYXR0cmlidXRlcyBoZXJlLCB1cGRhdGUgdGhlIHBvbGljeSBp biBubDgwMjExLmMgKi8KIAogCV9fTkw4MDIxMV9BVFRSX0FGVEVSX0xBU1QsCkBAIC0zMDc0LDYg KzMwNzksOSBAQCBlbnVtIG5sODAyMTFfc3RhX2Jzc19wYXJhbSB7CiAgKgl3aXRoIGFuIEZDUyBl cnJvciAodTMyLCBmcm9tIHRoaXMgc3RhdGlvbikuIFRoaXMgY291bnQgbWF5IG5vdCBpbmNsdWRl CiAgKglzb21lIHBhY2tldHMgd2l0aCBhbiBGQ1MgZXJyb3IgZHVlIHRvIFRBIGNvcnJ1cHRpb24u IEhlbmNlIHRoaXMgY291bnRlcgogICoJbWlnaHQgbm90IGJlIGZ1bGx5IGFjY3VyYXRlLgorICog QE5MODAyMTFfU1RBX0lORk9fVFhfRFVSQVRJT046IGFnZ3JlZ2F0ZSBQUERVIGR1cmF0aW9uIGZv ciBhbGwgZnJhbWVzCisgKglzZW50IHRvIHRoZSBzdGF0aW9uICh1NjQsIHVzZWMpCisgKiBATkw4 MDIxMV9TVEFfSU5GT19BSVJUSU1FX1dFSUdIVDogY3VycmVudCBhaXJ0aW1lIHdlaWdodCBmb3Ig c3RhdGlvbiAodTE2KQogICogQF9fTkw4MDIxMV9TVEFfSU5GT19BRlRFUl9MQVNUOiBpbnRlcm5h bAogICogQE5MODAyMTFfU1RBX0lORk9fTUFYOiBoaWdoZXN0IHBvc3NpYmxlIHN0YXRpb24gaW5m byBhdHRyaWJ1dGUKICAqLwpAQCAtMzExNiw2ICszMTI0LDggQEAgZW51bSBubDgwMjExX3N0YV9p bmZvIHsKIAlOTDgwMjExX1NUQV9JTkZPX0FDS19TSUdOQUxfQVZHLAogCU5MODAyMTFfU1RBX0lO Rk9fUlhfTVBEVVMsCiAJTkw4MDIxMV9TVEFfSU5GT19GQ1NfRVJST1JfQ09VTlQsCisJTkw4MDIx MV9TVEFfSU5GT19UWF9EVVJBVElPTiwKKwlOTDgwMjExX1NUQV9JTkZPX0FJUlRJTUVfV0VJR0hU LAogCiAJLyoga2VlcCBsYXN0ICovCiAJX19OTDgwMjExX1NUQV9JTkZPX0FGVEVSX0xBU1QsCkBA IC01MjU4LDYgKzUyNjgsMTAgQEAgZW51bSBubDgwMjExX2ZlYXR1cmVfZmxhZ3MgewogICogICAg ICBpZiB0aGlzIGZsYWcgaXMgbm90IHNldC4gSWdub3JpbmcgdGhpcyBjYW4gbGVhayBjbGVhciB0 ZXh0IHBhY2tldHMgYW5kL29yCiAgKiAgICAgIGZyZWV6ZSB0aGUgY29ubmVjdGlvbi4KICAqCisg KiBATkw4MDIxMV9FWFRfRkVBVFVSRV9BSVJUSU1FX0ZBSVJORVNTOiBEcml2ZXIgc3VwcG9ydHMg Z2V0dGluZyBhaXJ0aW1lCisgKglmYWlybmVzcyBmb3IgdHJhbnNtaXR0ZWQgcGFja2V0cyBhbmQg aGFzIGVuYWJsZWQgYWlydGltZSBmYWlybmVzcworICoJc2NoZWR1bGluZy4KKyAqCiAgKiBATlVN X05MODAyMTFfRVhUX0ZFQVRVUkVTOiBudW1iZXIgb2YgZXh0ZW5kZWQgZmVhdHVyZXMuCiAgKiBA TUFYX05MODAyMTFfRVhUX0ZFQVRVUkVTOiBoaWdoZXN0IGV4dGVuZGVkIGZlYXR1cmUgaW5kZXgu CiAgKi8KQEAgLTUyOTcsNiArNTMxMSw3IEBAIGVudW0gbmw4MDIxMV9leHRfZmVhdHVyZV9pbmRl eCB7CiAJTkw4MDIxMV9FWFRfRkVBVFVSRV9TQ0FOX01JTl9QUkVRX0NPTlRFTlQsCiAJTkw4MDIx MV9FWFRfRkVBVFVSRV9DQU5fUkVQTEFDRV9QVEswLAogCU5MODAyMTFfRVhUX0ZFQVRVUkVfRU5B QkxFX0ZUTV9SRVNQT05ERVIsCisJTkw4MDIxMV9FWFRfRkVBVFVSRV9BSVJUSU1FX0ZBSVJORVNT LAogCiAJLyogYWRkIG5ldyBmZWF0dXJlcyBiZWZvcmUgdGhlIGRlZmluaXRpb24gYmVsb3cgKi8K IAlOVU1fTkw4MDIxMV9FWFRfRkVBVFVSRVMsCmRpZmYgLS1naXQgYS9uZXQvd2lyZWxlc3Mvbmw4 MDIxMS5jIGIvbmV0L3dpcmVsZXNzL25sODAyMTEuYwppbmRleCAyMzE3NzI3ZDY0MTMuLmFhNTNh ODU2MzI5NSAxMDA2NDQKLS0tIGEvbmV0L3dpcmVsZXNzL25sODAyMTEuYworKysgYi9uZXQvd2ly ZWxlc3Mvbmw4MDIxMS5jCkBAIC00OTcsNiArNDk3LDcgQEAgc3RhdGljIGludCB2YWxpZGF0ZV9p ZV9hdHRyKGNvbnN0IHN0cnVjdCBubGF0dHIgKmF0dHIsCiAJCS50eXBlID0gTkxBX05FU1RFRCwK IAkJLnZhbGlkYXRpb25fZGF0YSA9IG5sODAyMTFfZnRtX3Jlc3BvbmRlcl9wb2xpY3ksCiAJfSwK KwlbTkw4MDIxMV9BVFRSX0FJUlRJTUVfV0VJR0hUXSA9IHsgLnR5cGUgPSBOTEFfVTE2IH0sCiB9 OwogCiAvKiBwb2xpY3kgZm9yIHRoZSBrZXkgYXR0cmlidXRlcyAqLwpAQCAtNDY5MCw2ICs0Njkx LDExIEBAIHN0YXRpYyBpbnQgbmw4MDIxMV9zZW5kX3N0YXRpb24oc3RydWN0IHNrX2J1ZmYgKm1z ZywgdTMyIGNtZCwgdTMyIHBvcnRpZCwKIAlQVVRfU0lORk8oUExJRCwgcGxpZCwgdTE2KTsKIAlQ VVRfU0lORk8oUExJTktfU1RBVEUsIHBsaW5rX3N0YXRlLCB1OCk7CiAJUFVUX1NJTkZPX1U2NChS WF9EVVJBVElPTiwgcnhfZHVyYXRpb24pOworCVBVVF9TSU5GT19VNjQoVFhfRFVSQVRJT04sIHR4 X2R1cmF0aW9uKTsKKworCWlmICh3aXBoeV9leHRfZmVhdHVyZV9pc3NldCgmcmRldi0+d2lwaHks CisJCQkJICAgIE5MODAyMTFfRVhUX0ZFQVRVUkVfQUlSVElNRV9GQUlSTkVTUykpCisJCVBVVF9T SU5GTyhBSVJUSU1FX1dFSUdIVCwgYWlydGltZV93ZWlnaHQsIHUxNik7CiAKIAlzd2l0Y2ggKHJk ZXYtPndpcGh5LnNpZ25hbF90eXBlKSB7CiAJY2FzZSBDRkc4MDIxMV9TSUdOQUxfVFlQRV9NQk06 CkBAIC01MzA4LDYgKzUzMTQsMTggQEAgc3RhdGljIGludCBubDgwMjExX3NldF9zdGF0aW9uKHN0 cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pCiAJCQlubGFfZ2V0X3U4 KGluZm8tPmF0dHJzW05MODAyMTFfQVRUUl9PUE1PREVfTk9USUZdKTsKIAl9CiAKKwlpZiAoaW5m by0+YXR0cnNbTkw4MDIxMV9BVFRSX0FJUlRJTUVfV0VJR0hUXSkgeworCQlwYXJhbXMuYWlydGlt ZV93ZWlnaHQgPQorCQkJbmxhX2dldF91MTYoaW5mby0+YXR0cnNbTkw4MDIxMV9BVFRSX0FJUlRJ TUVfV0VJR0hUXSk7CisJCWlmICghcGFyYW1zLmFpcnRpbWVfd2VpZ2h0KQorCQkJcmV0dXJuIC1F SU5WQUw7CisJfQorCisJaWYgKHBhcmFtcy5haXJ0aW1lX3dlaWdodCAmJgorCSAgICAhd2lwaHlf ZXh0X2ZlYXR1cmVfaXNzZXQoJnJkZXYtPndpcGh5LAorCQkJCSAgICAgTkw4MDIxMV9FWFRfRkVB VFVSRV9BSVJUSU1FX0ZBSVJORVNTKSkKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOworCiAJLyogSW5j bHVkZSBwYXJhbWV0ZXJzIGZvciBURExTIHBlZXIgKHdpbGwgY2hlY2sgbGF0ZXIpICovCiAJZXJy ID0gbmw4MDIxMV9zZXRfc3RhdGlvbl90ZGxzKGluZm8sICZwYXJhbXMpOwogCWlmIChlcnIpCkBA IC01NDM2LDYgKzU0NTQsMTggQEAgc3RhdGljIGludCBubDgwMjExX25ld19zdGF0aW9uKHN0cnVj dCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pCiAJCXBhcmFtcy5wbGlua19h Y3Rpb24gPQogCQkJbmxhX2dldF91OChpbmZvLT5hdHRyc1tOTDgwMjExX0FUVFJfU1RBX1BMSU5L X0FDVElPTl0pOwogCisJaWYgKGluZm8tPmF0dHJzW05MODAyMTFfQVRUUl9BSVJUSU1FX1dFSUdI VF0pIHsKKwkJcGFyYW1zLmFpcnRpbWVfd2VpZ2h0ID0KKwkJCW5sYV9nZXRfdTE2KGluZm8tPmF0 dHJzW05MODAyMTFfQVRUUl9BSVJUSU1FX1dFSUdIVF0pOworCQlpZiAoIXBhcmFtcy5haXJ0aW1l X3dlaWdodCkKKwkJCXJldHVybiAtRUlOVkFMOworCX0KKworCWlmIChwYXJhbXMuYWlydGltZV93 ZWlnaHQgJiYKKwkgICAgIXdpcGh5X2V4dF9mZWF0dXJlX2lzc2V0KCZyZGV2LT53aXBoeSwKKwkJ CQkgICAgIE5MODAyMTFfRVhUX0ZFQVRVUkVfQUlSVElNRV9GQUlSTkVTUykpCisJCXJldHVybiAt RU9QTk9UU1VQUDsKKwogCWVyciA9IG5sODAyMTFfcGFyc2Vfc3RhX2NoYW5uZWxfaW5mbyhpbmZv LCAmcGFyYW1zKTsKIAlpZiAoZXJyKQogCQlyZXR1cm4gZXJyOwotLSAKMS45LjEKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphdGgxMGsgbWFpbGluZyBs aXN0CmF0aDEwa0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn L21haWxtYW4vbGlzdGluZm8vYXRoMTBrCg==