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 1gDp4o-00083y-5P for ath10k@lists.infradead.org; Sat, 20 Oct 2018 11:06:10 +0000 From: Rajkumar Manoharan Subject: [PATCH 2/6] cfg80211: Add airtime statistics and settings Date: Sat, 20 Oct 2018 04:05:30 -0700 Message-Id: <1540033534-11211-3-git-send-email-rmanohar@codeaurora.org> In-Reply-To: <1540033534-11211-1-git-send-email-rmanohar@codeaurora.org> References: <1540033534-11211-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: =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= RnJvbTogVG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2VuIDx0b2tlQHRva2UuZGs+CgpUaGlzIGFkZHMg VFggYWlydGltZSBzdGF0aXN0aWNzIHRvIHRoZSBjZmc4MDIxMSBzdGF0aW9uIGR1bXAgKHRvIGdv IGFsb25nCndpdGggdGhlIFJYIGluZm8gYWxyZWFkeSBwcmVzZW50KSwgYW5kIGFkZHMgYSBuZXcg cGFyYW1ldGVyIHRvIHNldCB0aGUKYWlydGltZSB3ZWlnaHQgb2YgZWFjaCBzdGF0aW9uLiBUaGUg bGF0dGVyIGFsbG93cyB1c2Vyc3BhY2UgdG8gaW1wbGVtZW50CnBvbGljaWVzIGZvciBkaWZmZXJl bnQgc3RhdGlvbnMgYnkgdmFyeWluZyB0aGVpciB3ZWlnaHRzLgoKU2lnbmVkLW9mZi1ieTogVG9r ZSBIw7hpbGFuZC1Kw7hyZ2Vuc2VuIDx0b2tlQHRva2UuZGs+Ci0tLQogaW5jbHVkZS9uZXQvY2Zn ODAyMTEuaCAgICAgICB8IDEwICsrKysrKysrKy0KIGluY2x1ZGUvdWFwaS9saW51eC9ubDgwMjEx LmggfCAxNSArKysrKysrKysrKysrKysKIG5ldC93aXJlbGVzcy9ubDgwMjExLmMgICAgICAgfCAy OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDUyIGluc2Vy dGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9jZmc4MDIx MS5oIGIvaW5jbHVkZS9uZXQvY2ZnODAyMTEuaAppbmRleCAwZTE2ZTcyM2RjZWYuLjQ1OTFjYjhh OGU1ZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9uZXQvY2ZnODAyMTEuaAorKysgYi9pbmNsdWRlL25l dC9jZmc4MDIxMS5oCkBAIC0xMDAxLDYgKzEwMDEsNyBAQCBlbnVtIHN0YXRpb25fcGFyYW1ldGVy c19hcHBseV9tYXNrIHsKICAqIEBzdXBwb3J0X3AycF9wczogaW5mb3JtYXRpb24gaWYgc3RhdGlv biBzdXBwb3J0cyBQMlAgUFMgbWVjaGFuaXNtCiAgKiBAaGVfY2FwYTogSEUgY2FwYWJpbGl0aWVz IG9mIHN0YXRpb24KICAqIEBoZV9jYXBhX2xlbjogdGhlIGxlbmd0aCBvZiB0aGUgSEUgY2FwYWJp bGl0aWVzCisgKiBAYWlydGltZV93ZWlnaHQ6IGFpcnRpbWUgc2NoZWR1bGVyIHdlaWdodCBmb3Ig dGhpcyBzdGF0aW9uCiAgKi8KIHN0cnVjdCBzdGF0aW9uX3BhcmFtZXRlcnMgewogCWNvbnN0IHU4 ICpzdXBwb3J0ZWRfcmF0ZXM7CkBAIC0xMDMwLDYgKzEwMzEsNyBAQCBzdHJ1Y3Qgc3RhdGlvbl9w YXJhbWV0ZXJzIHsKIAlpbnQgc3VwcG9ydF9wMnBfcHM7CiAJY29uc3Qgc3RydWN0IGllZWU4MDIx MV9oZV9jYXBfZWxlbSAqaGVfY2FwYTsKIAl1OCBoZV9jYXBhX2xlbjsKKwl1MTYgYWlydGltZV93 ZWlnaHQ7CiB9OwogCiAvKioKQEAgLTEyOTcsNiArMTI5OSw4IEBAIHN0cnVjdCBjZmc4MDIxMV90 aWRfc3RhdHMgewogICogQHJ4X2JlYWNvbl9zaWduYWxfYXZnOiBzaWduYWwgc3RyZW5ndGggYXZl cmFnZSAoaW4gZEJtKSBmb3IgYmVhY29ucyByZWNlaXZlZAogICoJZnJvbSB0aGlzIHBlZXIKICAq IEByeF9kdXJhdGlvbjogYWdncmVnYXRlIFBQRFUgZHVyYXRpb24odXNlY3MpIGZvciBhbGwgdGhl IGZyYW1lcyBmcm9tIGEgcGVlcgorICogQHR4X2R1cmF0aW9uOiBhZ2dyZWdhdGUgUFBEVSBkdXJh dGlvbih1c2VjcykgZm9yIGFsbCB0aGUgZnJhbWVzIHRvIGEgcGVlcgorICogQGFpcnRpbWVfd2Vp Z2h0OiBjdXJyZW50IGFpcnRpbWUgc2NoZWR1bGluZyB3ZWlnaHQKICAqIEBwZXJ0aWQ6IHBlci1U SUQgc3RhdGlzdGljcywgc2VlICZzdHJ1Y3QgY2ZnODAyMTFfdGlkX3N0YXRzLCB1c2luZyB0aGUg bGFzdAogICoJKElFRUU4MDIxMV9OVU1fVElEUykgaW5kZXggZm9yIE1TRFVzIG5vdCBlbmNhcHN1 bGF0ZWQgaW4gUW9TLU1QRFVzLgogICoJTm90ZSB0aGF0IHRoaXMgZG9lc24ndCB1c2UgdGhlIEBm aWxsZWQgYml0LCBidXQgaXMgdXNlZCBpZiBub24tTlVMTC4KQEAgLTEzNDMsMTAgKzEzNDcsMTIg QEAgc3RydWN0IHN0YXRpb25faW5mbyB7CiAKIAl1MzIgZXhwZWN0ZWRfdGhyb3VnaHB1dDsKIAot CXU2NCByeF9iZWFjb247CisJdTY0IHR4X2R1cmF0aW9uOwogCXU2NCByeF9kdXJhdGlvbjsKKwl1 NjQgcnhfYmVhY29uOwogCXU4IHJ4X2JlYWNvbl9zaWduYWxfYXZnOwogCXN0cnVjdCBjZmc4MDIx MV90aWRfc3RhdHMgKnBlcnRpZDsKKwl1MTYgYWlydGltZV93ZWlnaHQ7CiAJczggYWNrX3NpZ25h bDsKIAlzOCBhdmdfYWNrX3NpZ25hbDsKIH07CkBAIC0yMzc0LDYgKzIzODAsOCBAQCBlbnVtIHdp cGh5X3BhcmFtc19mbGFncyB7CiAJV0lQSFlfUEFSQU1fVFhRX1FVQU5UVU0JCT0gMSA8PCA4LAog fTsKIAorI2RlZmluZSBJRUVFODAyMTFfREVGQVVMVF9BSVJUSU1FX1dFSUdIVAkyNTYKKwogLyoq CiAgKiBzdHJ1Y3QgY2ZnODAyMTFfcG1rc2EgLSBQTUsgU2VjdXJpdHkgQXNzb2NpYXRpb24KICAq CmRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvbGludXgvbmw4MDIxMS5oIGIvaW5jbHVkZS91YXBp L2xpbnV4L25sODAyMTEuaAppbmRleCBkYzZkNWExZWY0NzAuLjQzNTkxYWY3MTc4YSAxMDA2NDQK LS0tIGEvaW5jbHVkZS91YXBpL2xpbnV4L25sODAyMTEuaAorKysgYi9pbmNsdWRlL3VhcGkvbGlu dXgvbmw4MDIxMS5oCkBAIC0yMjU0LDYgKzIyNTQsOSBAQCBlbnVtIG5sODAyMTFfY29tbWFuZHMg ewogICogQE5MODAyMTFfQVRUUl9GVE1fUkVTUE9OREVSX1NUQVRTOiBOZXN0ZWQgYXR0cmlidXRl IHdpdGggRlRNIHJlc3BvbmRlcgogICoJc3RhdGlzdGljcywgc2VlICZlbnVtIG5sODAyMTFfZnRt X3Jlc3BvbmRlcl9zdGF0cy4KICAqCisgKiBATkw4MDIxMV9BVFRSX0FJUlRJTUVfV0VJR0hUOiBT dGF0aW9uJ3Mgd2VpZ2h0IHdoZW4gc2NoZWR1bGVkIGJ5IHRoZSBhaXJ0aW1lCisgKiAgICAgIHNj aGVkdWxlci4KKyAqCiAgKiBATlVNX05MODAyMTFfQVRUUjogdG90YWwgbnVtYmVyIG9mIG5sODAy MTFfYXR0cnMgYXZhaWxhYmxlCiAgKiBATkw4MDIxMV9BVFRSX01BWDogaGlnaGVzdCBhdHRyaWJ1 dGUgbnVtYmVyIGN1cnJlbnRseSBkZWZpbmVkCiAgKiBAX19OTDgwMjExX0FUVFJfQUZURVJfTEFT VDogaW50ZXJuYWwgdXNlCkBAIC0yNjk5LDYgKzI3MDIsOCBAQCBlbnVtIG5sODAyMTFfYXR0cnMg ewogCiAJTkw4MDIxMV9BVFRSX0ZUTV9SRVNQT05ERVJfU1RBVFMsCiAKKwlOTDgwMjExX0FUVFJf QUlSVElNRV9XRUlHSFQsCisKIAkvKiBhZGQgYXR0cmlidXRlcyBoZXJlLCB1cGRhdGUgdGhlIHBv bGljeSBpbiBubDgwMjExLmMgKi8KIAogCV9fTkw4MDIxMV9BVFRSX0FGVEVSX0xBU1QsCkBAIC0z MDY4LDYgKzMwNzMsOSBAQCBlbnVtIG5sODAyMTFfc3RhX2Jzc19wYXJhbSB7CiAgKiBATkw4MDIx MV9TVEFfSU5GT19QQUQ6IGF0dHJpYnV0ZSB1c2VkIGZvciBwYWRkaW5nIGZvciA2NC1iaXQgYWxp Z25tZW50CiAgKiBATkw4MDIxMV9TVEFfSU5GT19BQ0tfU0lHTkFMOiBzaWduYWwgc3RyZW5ndGgg b2YgdGhlIGxhc3QgQUNLIGZyYW1lKHU4LCBkQm0pCiAgKiBATkw4MDIxMV9TVEFfSU5GT19BQ0tf U0lHTkFMX0FWRzogYXZnIHNpZ25hbCBzdHJlbmd0aCBvZiBBQ0sgZnJhbWVzIChzOCwgZEJtKQor ICogQE5MODAyMTFfU1RBX0lORk9fVFhfRFVSQVRJT046IGFnZ3JlZ2F0ZSBQUERVIGR1cmF0aW9u IGZvciBhbGwgZnJhbWVzCisgKglzZW50IHRvIHRoZSBzdGF0aW9uICh1NjQsIHVzZWMpCisgKiBA Tkw4MDIxMV9TVEFfSU5GT19BSVJUSU1FX1dFSUdIVDogY3VycmVudCBhaXJ0aW1lIHdlaWdodCBm b3Igc3RhdGlvbiAodTE2KQogICogQF9fTkw4MDIxMV9TVEFfSU5GT19BRlRFUl9MQVNUOiBpbnRl cm5hbAogICogQE5MODAyMTFfU1RBX0lORk9fTUFYOiBoaWdoZXN0IHBvc3NpYmxlIHN0YXRpb24g aW5mbyBhdHRyaWJ1dGUKICAqLwpAQCAtMzEwOCw2ICszMTE2LDggQEAgZW51bSBubDgwMjExX3N0 YV9pbmZvIHsKIAlOTDgwMjExX1NUQV9JTkZPX1BBRCwKIAlOTDgwMjExX1NUQV9JTkZPX0FDS19T SUdOQUwsCiAJTkw4MDIxMV9TVEFfSU5GT19BQ0tfU0lHTkFMX0FWRywKKwlOTDgwMjExX1NUQV9J TkZPX1RYX0RVUkFUSU9OLAorCU5MODAyMTFfU1RBX0lORk9fQUlSVElNRV9XRUlHSFQsCiAKIAkv KiBrZWVwIGxhc3QgKi8KIAlfX05MODAyMTFfU1RBX0lORk9fQUZURVJfTEFTVCwKQEAgLTUyNTAs NiArNTI2MCwxMCBAQCBlbnVtIG5sODAyMTFfZmVhdHVyZV9mbGFncyB7CiAgKiAgICAgIGlmIHRo aXMgZmxhZyBpcyBub3Qgc2V0LiBJZ25vcmluZyB0aGlzIGNhbiBsZWFrIGNsZWFyIHRleHQgcGFj a2V0cyBhbmQvb3IKICAqICAgICAgZnJlZXplIHRoZSBjb25uZWN0aW9uLgogICoKKyAqIEBOTDgw MjExX0VYVF9GRUFUVVJFX0FJUlRJTUVfRkFJUk5FU1M6IERyaXZlciBzdXBwb3J0cyBnZXR0aW5n IGFpcnRpbWUKKyAqICAgICAgZmFpcm5lc3MgZm9yIHRyYW5zbWl0dGVkIHBhY2tldHMgYW5kIGhh cyBlbmFibGVkIGFpcnRpbWUgZmFpcm5lc3MKKyAqICAgICAgc2NoZWR1bGluZy4KKyAqCiAgKiBA TlVNX05MODAyMTFfRVhUX0ZFQVRVUkVTOiBudW1iZXIgb2YgZXh0ZW5kZWQgZmVhdHVyZXMuCiAg KiBATUFYX05MODAyMTFfRVhUX0ZFQVRVUkVTOiBoaWdoZXN0IGV4dGVuZGVkIGZlYXR1cmUgaW5k ZXguCiAgKi8KQEAgLTUyODksNiArNTMwMyw3IEBAIGVudW0gbmw4MDIxMV9leHRfZmVhdHVyZV9p bmRleCB7CiAJTkw4MDIxMV9FWFRfRkVBVFVSRV9TQ0FOX01JTl9QUkVRX0NPTlRFTlQsCiAJTkw4 MDIxMV9FWFRfRkVBVFVSRV9DQU5fUkVQTEFDRV9QVEswLAogCU5MODAyMTFfRVhUX0ZFQVRVUkVf RU5BQkxFX0ZUTV9SRVNQT05ERVIsCisJTkw4MDIxMV9FWFRfRkVBVFVSRV9BSVJUSU1FX0ZBSVJO RVNTLAogCiAJLyogYWRkIG5ldyBmZWF0dXJlcyBiZWZvcmUgdGhlIGRlZmluaXRpb24gYmVsb3cg Ki8KIAlOVU1fTkw4MDIxMV9FWFRfRkVBVFVSRVMsCmRpZmYgLS1naXQgYS9uZXQvd2lyZWxlc3Mv bmw4MDIxMS5jIGIvbmV0L3dpcmVsZXNzL25sODAyMTEuYwppbmRleCA5YTIwYzY2YTE1MDUuLjA5 MzYxZjc1ZDFkZiAxMDA2NDQKLS0tIGEvbmV0L3dpcmVsZXNzL25sODAyMTEuYworKysgYi9uZXQv d2lyZWxlc3Mvbmw4MDIxMS5jCkBAIC00NDQsNiArNDQ0LDcgQEAgZW51bSBubDgwMjExX211bHRp Y2FzdF9ncm91cHMgewogCQkudHlwZSA9IE5MQV9ORVNURUQsCiAJCS52YWxpZGF0aW9uX2RhdGEg PSBubDgwMjExX2Z0bV9yZXNwb25kZXJfcG9saWN5LAogCX0sCisJW05MODAyMTFfQVRUUl9BSVJU SU1FX1dFSUdIVF0gPSB7IC50eXBlID0gTkxBX1UxNiB9LAogfTsKIAogLyogcG9saWN5IGZvciB0 aGUga2V5IGF0dHJpYnV0ZXMgKi8KQEAgLTQ3MDIsNiArNDcwMywxMSBAQCBzdGF0aWMgaW50IG5s ODAyMTFfc2VuZF9zdGF0aW9uKHN0cnVjdCBza19idWZmICptc2csIHUzMiBjbWQsIHUzMiBwb3J0 aWQsCiAJUFVUX1NJTkZPKFBMSUQsIHBsaWQsIHUxNik7CiAJUFVUX1NJTkZPKFBMSU5LX1NUQVRF LCBwbGlua19zdGF0ZSwgdTgpOwogCVBVVF9TSU5GT19VNjQoUlhfRFVSQVRJT04sIHJ4X2R1cmF0 aW9uKTsKKwlQVVRfU0lORk9fVTY0KFRYX0RVUkFUSU9OLCB0eF9kdXJhdGlvbik7CisKKwlpZiAo d2lwaHlfZXh0X2ZlYXR1cmVfaXNzZXQoJnJkZXYtPndpcGh5LAorCQkJCSAgICBOTDgwMjExX0VY VF9GRUFUVVJFX0FJUlRJTUVfRkFJUk5FU1MpKQorCQlQVVRfU0lORk8oQUlSVElNRV9XRUlHSFQs IGFpcnRpbWVfd2VpZ2h0LCB1MTYpOwogCiAJc3dpdGNoIChyZGV2LT53aXBoeS5zaWduYWxfdHlw ZSkgewogCWNhc2UgQ0ZHODAyMTFfU0lHTkFMX1RZUEVfTUJNOgpAQCAtNTMzOSw2ICs1MzQ1LDE3 IEBAIHN0YXRpYyBpbnQgbmw4MDIxMV9zZXRfc3RhdGlvbihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBz dHJ1Y3QgZ2VubF9pbmZvICppbmZvKQogCQkJbmxhX2dldF91OChpbmZvLT5hdHRyc1tOTDgwMjEx X0FUVFJfT1BNT0RFX05PVElGXSk7CiAJfQogCisJaWYgKGluZm8tPmF0dHJzW05MODAyMTFfQVRU Ul9BSVJUSU1FX1dFSUdIVF0pIHsKKwkJaWYgKCF3aXBoeV9leHRfZmVhdHVyZV9pc3NldCgmcmRl di0+d2lwaHksCisJCQkJCSAgICAgTkw4MDIxMV9FWFRfRkVBVFVSRV9BSVJUSU1FX0ZBSVJORVNT KSkKKwkJCXJldHVybiAtRU9QTk9UU1VQUDsKKworCQlwYXJhbXMuYWlydGltZV93ZWlnaHQgPQor CQkJbmxhX2dldF91MTYoaW5mby0+YXR0cnNbTkw4MDIxMV9BVFRSX0FJUlRJTUVfV0VJR0hUXSk7 CisJCWlmICghcGFyYW1zLmFpcnRpbWVfd2VpZ2h0KQorCQkJcmV0dXJuIC1FSU5WQUw7CisJfQor CiAJLyogSW5jbHVkZSBwYXJhbWV0ZXJzIGZvciBURExTIHBlZXIgKHdpbGwgY2hlY2sgbGF0ZXIp ICovCiAJZXJyID0gbmw4MDIxMV9zZXRfc3RhdGlvbl90ZGxzKGluZm8sICZwYXJhbXMpOwogCWlm IChlcnIpCkBAIC01NDc3LDYgKzU0OTQsMTcgQEAgc3RhdGljIGludCBubDgwMjExX25ld19zdGF0 aW9uKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2luZm8gKmluZm8pCiAJCQlyZXR1 cm4gLUVJTlZBTDsKIAl9CiAKKwlpZiAoaW5mby0+YXR0cnNbTkw4MDIxMV9BVFRSX0FJUlRJTUVf V0VJR0hUXSkgeworCQlpZiAoIXdpcGh5X2V4dF9mZWF0dXJlX2lzc2V0KCZyZGV2LT53aXBoeSwK KwkJCQkJICAgICBOTDgwMjExX0VYVF9GRUFUVVJFX0FJUlRJTUVfRkFJUk5FU1MpKQorCQkJcmV0 dXJuIC1FT1BOT1RTVVBQOworCisJCXBhcmFtcy5haXJ0aW1lX3dlaWdodCA9CisJCQlubGFfZ2V0 X3UxNihpbmZvLT5hdHRyc1tOTDgwMjExX0FUVFJfQUlSVElNRV9XRUlHSFRdKTsKKwkJaWYgKCFw YXJhbXMuYWlydGltZV93ZWlnaHQpCisJCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKIAllcnIgPSBu bDgwMjExX3BhcnNlX3N0YV9jaGFubmVsX2luZm8oaW5mbywgJnBhcmFtcyk7CiAJaWYgKGVycikK IAkJcmV0dXJuIGVycjsKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KYXRoMTBrIG1haWxpbmcgbGlzdAphdGgxMGtAbGlzdHMuaW5mcmFk ZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2F0aDEw awo=