From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from s3.sipsolutions.net ([5.9.151.49] helo=sipsolutions.net) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1cduPd-0001xz-TY for ath10k@lists.infradead.org; Wed, 15 Feb 2017 07:54:08 +0000 Message-ID: <1487145218.4026.3.camel@sipsolutions.net> Subject: Re: [PATCH v3 1/2] cfg80211: Add support to set tx power for a station associated From: Johannes Berg Date: Wed, 15 Feb 2017 08:53:38 +0100 In-Reply-To: <1486554984-25097-1-git-send-email-arnagara@qti.qualcomm.com> References: <1486554984-25097-1-git-send-email-arnagara@qti.qualcomm.com> 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: Ashok Raj Nagarajan , linux-wireless@vger.kernel.org Cc: arnagara@codeaurora.org, ath10k@lists.infradead.org Cj4gKyAqIEB0eHB3cjogdHggcG93ZXIgKGluIG1CbSkgdG8gYmUgdXNlZCBmb3Igc2VuZGluZyBk YXRhIHRyYWZmaWMuIElmCj4gdHggcG93ZXIKPiArICoJaXMgbm90IHByb3ZpZGVkLCB0aGUgZGVm YXVsdCBwZXItaW50ZXJmYWNlIHR4IHBvd2VyCj4gc2V0dGluZyB3aWxsIGJlCj4gKyAqCW92ZXJy aWRpbmcuIERyaXZlciBzaG91bGQgYmUgcGlja2luZyB1cCB0aGUgbG93ZXN0IHR4Cj4gcG93ZXIs IGVpdGhlciB0eAo+ICsgKglwb3dlciBwZXItaW50ZXJmYWNlIG9yIHBlci1zdGF0aW9uLgo+IMKg ICovCj4gwqBzdHJ1Y3Qgc3RhdGlvbl9wYXJhbWV0ZXJzIHsKPiDCoAljb25zdCB1OCAqc3VwcG9y dGVkX3JhdGVzOwo+IEBAIC04NzYsNiArODgxLDcgQEAgc3RydWN0IHN0YXRpb25fcGFyYW1ldGVy cyB7Cj4gwqAJdTggb3Btb2RlX25vdGlmOwo+IMKgCWJvb2wgb3Btb2RlX25vdGlmX3VzZWQ7Cj4g wqAJaW50IHN1cHBvcnRfcDJwX3BzOwo+ICsJdTE2IHR4cHdyOwo+IMKgfTsKCldvdWxkbid0IGl0 IGJlIGJldHRlciB0byBhZGQgdGhlIHR4IHBvd2VyIHR5cGUgKGxpbWl0ZWQvYXV0b21hdGljKSBo ZXJlCmFzIHdlbGw/IFRoYXQgd2F5LCB3ZSBkb24ndCBoYXZlIHRvIHBsYXkgZ2FtZXMgd2l0aCAw IG1lYW5pbmcgYXV0b21hdGljCih3aGljaCB5b3UgZGlkbid0IGV2ZW4gZG9jdW1lbnQsIGJ1dCBz ZWVtcyB0byBiZSB0aGUgY2FzZSksIHdoZW4gaW4KZmFjdCAwZEJtIGNvdWxkIHRlY2huaWNhbGx5 IGJlIGEgdmFsaWQgVFggcG93ZXIgYXMgd2VsbC4KCj4gKwlpZHggPSBOTDgwMjExX0FUVFJfU1RB X1RYX1BPV0VSX1NFVFRJTkc7Cj4gKwl0eXBlID0gbmxhX2dldF91MzIoaW5mby0+YXR0cnNbaWR4 XSk7Cj4gKwo+ICsJaWYgKCFpbmZvLT5hdHRyc1tOTDgwMjExX0FUVFJfU1RBX1RYX1BPV0VSXSAm Jgo+ICsJwqDCoMKgwqAodHlwZSAhPSBOTDgwMjExX1RYX1BPV0VSX0FVVE9NQVRJQykpCj4gKwkJ cmV0dXJuIC1FSU5WQUw7Cj4gKwo+ICsJaWYgKHR5cGUgIT0gTkw4MDIxMV9UWF9QT1dFUl9BVVRP TUFUSUMpIHsKPiArCQlpZiAodHlwZSA9PSBOTDgwMjExX1RYX1BPV0VSX0xJTUlURUQpIHsKPiAr CQkJaWR4ID0gTkw4MDIxMV9BVFRSX1NUQV9UWF9QT1dFUjsKPiArCQkJcGFyYW1zLT50eHB3ciA9 IG5sYV9nZXRfdTMyKGluZm8tCj4gPmF0dHJzW2lkeF0pOwo+ICsJCX0gZWxzZSB7Cj4gKwkJCXJl dHVybiAtRUlOVkFMOwo+ICsJCX0KPiArCX0gZWxzZSB7Cj4gKwkJcGFyYW1zLT50eHB3ciA9IDA7 Cj4gKwl9CgpUaGlzIGNvdWxkIGJlIG5pY2VyIHVzaW5nIGEgc3dpdGNoIG9uIHRoZSB0eXBlLCBw ZXJoYXBzPwoKPiArCWlmIChpbmZvLT5hdHRyc1tOTDgwMjExX0FUVFJfU1RBX1RYX1BPV0VSX1NF VFRJTkddKSB7Cj4gKwkJZXJyID0gbmw4MDIxMV9wYXJzZV9zdGFfdHhwb3dlcl9zZXR0aW5nKGlu Zm8sCiZwYXJhbXMpOwo+ICsJCWlmIChlcnIpCj4gKwkJCXJldHVybiBlcnI7Cj4gKwl9CgpXaHkg bm90IG1vdmUgdGhlIGNoZWNrIHRoYXQgdGhlIGF0dHJpYnV0ZSBleGlzdHMgaW50byB0aGUgZnVu Y3Rpb24/Cgpqb2hhbm5lcwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KYXRoMTBrIG1haWxpbmcgbGlzdAphdGgxMGtAbGlzdHMuaW5mcmFkZWFkLm9yZwpo dHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2F0aDEwawo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from s3.sipsolutions.net ([5.9.151.49]:56196 "EHLO sipsolutions.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750782AbdBOHxl (ORCPT ); Wed, 15 Feb 2017 02:53:41 -0500 Message-ID: <1487145218.4026.3.camel@sipsolutions.net> (sfid-20170215_085344_673141_6F756E40) Subject: Re: [PATCH v3 1/2] cfg80211: Add support to set tx power for a station associated From: Johannes Berg To: Ashok Raj Nagarajan , linux-wireless@vger.kernel.org Cc: ath10k@lists.infradead.org, arnagara@codeaurora.org Date: Wed, 15 Feb 2017 08:53:38 +0100 In-Reply-To: <1486554984-25097-1-git-send-email-arnagara@qti.qualcomm.com> References: <1486554984-25097-1-git-send-email-arnagara@qti.qualcomm.com> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Sender: linux-wireless-owner@vger.kernel.org List-ID: > + * @txpwr: tx power (in mBm) to be used for sending data traffic. If > tx power > + * is not provided, the default per-interface tx power > setting will be > + * overriding. Driver should be picking up the lowest tx > power, either tx > + * power per-interface or per-station. >   */ >  struct station_parameters { >   const u8 *supported_rates; > @@ -876,6 +881,7 @@ struct station_parameters { >   u8 opmode_notif; >   bool opmode_notif_used; >   int support_p2p_ps; > + u16 txpwr; >  }; Wouldn't it be better to add the tx power type (limited/automatic) here as well? That way, we don't have to play games with 0 meaning automatic (which you didn't even document, but seems to be the case), when in fact 0dBm could technically be a valid TX power as well. > + idx = NL80211_ATTR_STA_TX_POWER_SETTING; > + type = nla_get_u32(info->attrs[idx]); > + > + if (!info->attrs[NL80211_ATTR_STA_TX_POWER] && > +     (type != NL80211_TX_POWER_AUTOMATIC)) > + return -EINVAL; > + > + if (type != NL80211_TX_POWER_AUTOMATIC) { > + if (type == NL80211_TX_POWER_LIMITED) { > + idx = NL80211_ATTR_STA_TX_POWER; > + params->txpwr = nla_get_u32(info- > >attrs[idx]); > + } else { > + return -EINVAL; > + } > + } else { > + params->txpwr = 0; > + } This could be nicer using a switch on the type, perhaps? > + if (info->attrs[NL80211_ATTR_STA_TX_POWER_SETTING]) { > + err = nl80211_parse_sta_txpower_setting(info, ¶ms); > + if (err) > + return err; > + } Why not move the check that the attribute exists into the function? johannes