From mboxrd@z Thu Jan 1 00:00:00 1970 From: Saeed Mahameed Subject: [PATCH mlx5-next 04/16] net/mlx5: Support querying max VFs from device Date: Mon, 10 Jun 2019 23:38:19 +0000 Message-ID: <20190610233733.12155-5-saeedm@mellanox.com> References: <20190610233733.12155-1-saeedm@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190610233733.12155-1-saeedm@mellanox.com> Content-Language: en-US Sender: netdev-owner@vger.kernel.org To: Saeed Mahameed , Leon Romanovsky Cc: "linux-rdma@vger.kernel.org" , "netdev@vger.kernel.org" , Bodong Wang , Parav Pandit List-Id: linux-rdma@vger.kernel.org RnJvbTogQm9kb25nIFdhbmcgPGJvZG9uZ0BtZWxsYW5veC5jb20+DQoNCkZvciBFQ1BGIHdpdGgg ZXN3aXRjaCBtYW5hZ2VyIHByaXZpbGVnZSwgcXVlcnkgdGhlIGhvc3QgbWF4IFZGIGNvdW50DQpi eSBxdWVyeWluZyB0aGUgZGV2aWNlIHVzaW5nIHF1ZXJ5X2Z1bmN0aW9ucyBjb21tYW5kLg0KDQpX aXRoIHRoaXMgZW5oYW5jZW1lbnQ6DQoxLiBmbG93IHN0ZWVyaW5nIGVudHJpZXMgYXJlIGNyZWF0 ZWQgb25seSBmb3IgdmFsaWQgdnBvcnRzIGJhc2VkIG9uDQogICB0aGUgbWF4IFZGIGNvdW50IG9m IHRoZSBQRi4NCjIuIERyaXZlciBvbmx5IHF1ZXJpZXMgY2FwIG9mIHZhbGlkIHZwb3J0Lg0KDQpF c3dpdGNoIHJlcXVpcmVzIHRoZSBtYXggVkZzIHdoZW4gZG9pbmcgaW5pdGlhbGl6YXRpb24sIHNv IGRvIHNyLWlvdg0KaW5pdCBiZWZvcmUgZXN3aXRjaCBpbml0Lg0KDQpTaWduZWQtb2ZmLWJ5OiBC b2RvbmcgV2FuZyA8Ym9kb25nQG1lbGxhbm94LmNvbT4NClJldmlld2VkLWJ5OiBQYXJhdiBQYW5k aXQgPHBhcmF2QG1lbGxhbm94LmNvbT4NClNpZ25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxz YWVlZG1AbWVsbGFub3guY29tPg0KLS0tDQogLi4uL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1 L2NvcmUvbWFpbi5jICAgIHwgMTggKysrKysrKy0tLS0tLS0tDQogLi4uL25ldC9ldGhlcm5ldC9t ZWxsYW5veC9tbHg1L2NvcmUvc3Jpb3YuYyAgIHwgMjIgKysrKysrKysrKysrKysrKysrKw0KIGlu Y2x1ZGUvbGludXgvbWx4NS9kcml2ZXIuaCAgICAgICAgICAgICAgICAgICB8ICA3ICsrLS0tLQ0K IGluY2x1ZGUvbGludXgvbWx4NS9tbHg1X2lmYy5oICAgICAgICAgICAgICAgICB8ICAyICstDQog NCBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkNCg0KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9tYWluLmMg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvbWFpbi5jDQppbmRleCA4 ZTk2YzQyZDNiODQuLjcyMGY2NWJmZTZhOSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVy bmV0L21lbGxhbm94L21seDUvY29yZS9tYWluLmMNCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0 L21lbGxhbm94L21seDUvY29yZS9tYWluLmMNCkBAIC04NDQsMzIgKzg0NCwzMiBAQCBzdGF0aWMg aW50IG1seDVfaW5pdF9vbmNlKHN0cnVjdCBtbHg1X2NvcmVfZGV2ICpkZXYpDQogCQlnb3RvIGVy cl9ybF9jbGVhbnVwOw0KIAl9DQogDQotCWVyciA9IG1seDVfZXN3aXRjaF9pbml0KGRldik7DQor CWVyciA9IG1seDVfc3Jpb3ZfaW5pdChkZXYpOw0KIAlpZiAoZXJyKSB7DQotCQltbHg1X2NvcmVf ZXJyKGRldiwgIkZhaWxlZCB0byBpbml0IGVzd2l0Y2ggJWRcbiIsIGVycik7DQorCQltbHg1X2Nv cmVfZXJyKGRldiwgIkZhaWxlZCB0byBpbml0IHNyaW92ICVkXG4iLCBlcnIpOw0KIAkJZ290byBl cnJfbXBmc19jbGVhbnVwOw0KIAl9DQogDQotCWVyciA9IG1seDVfc3Jpb3ZfaW5pdChkZXYpOw0K KwllcnIgPSBtbHg1X2Vzd2l0Y2hfaW5pdChkZXYpOw0KIAlpZiAoZXJyKSB7DQotCQltbHg1X2Nv cmVfZXJyKGRldiwgIkZhaWxlZCB0byBpbml0IHNyaW92ICVkXG4iLCBlcnIpOw0KLQkJZ290byBl cnJfZXN3aXRjaF9jbGVhbnVwOw0KKwkJbWx4NV9jb3JlX2VycihkZXYsICJGYWlsZWQgdG8gaW5p dCBlc3dpdGNoICVkXG4iLCBlcnIpOw0KKwkJZ290byBlcnJfc3Jpb3ZfY2xlYW51cDsNCiAJfQ0K IA0KIAllcnIgPSBtbHg1X2ZwZ2FfaW5pdChkZXYpOw0KIAlpZiAoZXJyKSB7DQogCQltbHg1X2Nv cmVfZXJyKGRldiwgIkZhaWxlZCB0byBpbml0IGZwZ2EgZGV2aWNlICVkXG4iLCBlcnIpOw0KLQkJ Z290byBlcnJfc3Jpb3ZfY2xlYW51cDsNCisJCWdvdG8gZXJyX2Vzd2l0Y2hfY2xlYW51cDsNCiAJ fQ0KIA0KIAlkZXYtPnRyYWNlciA9IG1seDVfZndfdHJhY2VyX2NyZWF0ZShkZXYpOw0KIA0KIAly ZXR1cm4gMDsNCiANCi1lcnJfc3Jpb3ZfY2xlYW51cDoNCi0JbWx4NV9zcmlvdl9jbGVhbnVwKGRl dik7DQogZXJyX2Vzd2l0Y2hfY2xlYW51cDoNCiAJbWx4NV9lc3dpdGNoX2NsZWFudXAoZGV2LT5w cml2LmVzd2l0Y2gpOw0KK2Vycl9zcmlvdl9jbGVhbnVwOg0KKwltbHg1X3NyaW92X2NsZWFudXAo ZGV2KTsNCiBlcnJfbXBmc19jbGVhbnVwOg0KIAltbHg1X21wZnNfY2xlYW51cChkZXYpOw0KIGVy cl9ybF9jbGVhbnVwOg0KQEAgLTg5Myw4ICs4OTMsOCBAQCBzdGF0aWMgdm9pZCBtbHg1X2NsZWFu dXBfb25jZShzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2KQ0KIHsNCiAJbWx4NV9md190cmFjZXJf ZGVzdHJveShkZXYtPnRyYWNlcik7DQogCW1seDVfZnBnYV9jbGVhbnVwKGRldik7DQotCW1seDVf c3Jpb3ZfY2xlYW51cChkZXYpOw0KIAltbHg1X2Vzd2l0Y2hfY2xlYW51cChkZXYtPnByaXYuZXN3 aXRjaCk7DQorCW1seDVfc3Jpb3ZfY2xlYW51cChkZXYpOw0KIAltbHg1X21wZnNfY2xlYW51cChk ZXYpOw0KIAltbHg1X2NsZWFudXBfcmxfdGFibGUoZGV2KTsNCiAJbWx4NV92eGxhbl9kZXN0cm95 KGRldi0+dnhsYW4pOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94 L21seDUvY29yZS9zcmlvdi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9j b3JlL3NyaW92LmMNCmluZGV4IGEyNDliM2MzODQzZC4uMmVlY2I4MzFjNDk5IDEwMDY0NA0KLS0t IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL3NyaW92LmMNCisrKyBi L2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9zcmlvdi5jDQpAQCAtMjA4 LDYgKzIwOCwyNyBAQCB2b2lkIG1seDVfc3Jpb3ZfZGV0YWNoKHN0cnVjdCBtbHg1X2NvcmVfZGV2 ICpkZXYpDQogCW1seDVfZGV2aWNlX2Rpc2FibGVfc3Jpb3YoZGV2KTsNCiB9DQogDQorc3RhdGlj IHUxNiBtbHg1X2dldF9tYXhfdmZzKHN0cnVjdCBtbHg1X2NvcmVfZGV2ICpkZXYpDQorew0KKwl1 MzIgb3V0W01MWDVfU1RfU1pfRFcocXVlcnlfZXN3X2Z1bmN0aW9uc19vdXQpXSA9IHt9Ow0KKwl1 MTYgaG9zdF90b3RhbF92ZnM7DQorCWludCBlcnI7DQorDQorCWlmIChtbHg1X2NvcmVfaXNfZWNw Zl9lc3dfbWFuYWdlcihkZXYpKSB7DQorCQllcnIgPSBtbHg1X2Vzd19xdWVyeV9mdW5jdGlvbnMo ZGV2LCBvdXQsIHNpemVvZihvdXQpKTsNCisJCWhvc3RfdG90YWxfdmZzID0gTUxYNV9HRVQocXVl cnlfZXN3X2Z1bmN0aW9uc19vdXQsIG91dCwNCisJCQkJCSAgaG9zdF9wYXJhbXNfY29udGV4dC5o b3N0X3RvdGFsX3Zmcyk7DQorDQorCQkvKiBPbGQgRlcgZG9lc24ndCBzdXBwb3J0IGdldHRpbmcg dG90YWxfdmZzIGZyb20gZXN3IGZ1bmMNCisJCSAqIGJ1dCBzdXBwb3J0cyBnZXR0aW5nIGl0IGZy b20gcGNpX3NyaW92Lg0KKwkJICovDQorCQlpZiAoIWVyciAmJiBob3N0X3RvdGFsX3ZmcykNCisJ CQlyZXR1cm4gaG9zdF90b3RhbF92ZnM7DQorCX0NCisNCisJcmV0dXJuIHBjaV9zcmlvdl9nZXRf dG90YWx2ZnMoZGV2LT5wZGV2KTsNCit9DQorDQogaW50IG1seDVfc3Jpb3ZfaW5pdChzdHJ1Y3Qg bWx4NV9jb3JlX2RldiAqZGV2KQ0KIHsNCiAJc3RydWN0IG1seDVfY29yZV9zcmlvdiAqc3Jpb3Yg PSAmZGV2LT5wcml2LnNyaW92Ow0KQEAgLTIxOCw2ICsyMzksNyBAQCBpbnQgbWx4NV9zcmlvdl9p bml0KHN0cnVjdCBtbHg1X2NvcmVfZGV2ICpkZXYpDQogCQlyZXR1cm4gMDsNCiANCiAJdG90YWxf dmZzID0gcGNpX3NyaW92X2dldF90b3RhbHZmcyhwZGV2KTsNCisJc3Jpb3YtPm1heF92ZnMgPSBt bHg1X2dldF9tYXhfdmZzKGRldik7DQogCXNyaW92LT5udW1fdmZzID0gcGNpX251bV92ZihwZGV2 KTsNCiAJc3Jpb3YtPnZmc19jdHggPSBrY2FsbG9jKHRvdGFsX3Zmcywgc2l6ZW9mKCpzcmlvdi0+ dmZzX2N0eCksIEdGUF9LRVJORUwpOw0KIAlpZiAoIXNyaW92LT52ZnNfY3R4KQ0KZGlmZiAtLWdp dCBhL2luY2x1ZGUvbGludXgvbWx4NS9kcml2ZXIuaCBiL2luY2x1ZGUvbGludXgvbWx4NS9kcml2 ZXIuaA0KaW5kZXggYjU0MzFmN2Q5N2NiLi42NDE1NWZlMjAxZWUgMTAwNjQ0DQotLS0gYS9pbmNs dWRlL2xpbnV4L21seDUvZHJpdmVyLmgNCisrKyBiL2luY2x1ZGUvbGludXgvbWx4NS9kcml2ZXIu aA0KQEAgLTQ3MCw2ICs0NzAsNyBAQCBzdHJ1Y3QgbWx4NV9jb3JlX3NyaW92IHsNCiAJc3RydWN0 IG1seDVfdmZfY29udGV4dAkqdmZzX2N0eDsNCiAJaW50CQkJbnVtX3ZmczsNCiAJaW50CQkJZW5h YmxlZF92ZnM7DQorCXUxNgkJCW1heF92ZnM7DQogfTsNCiANCiBzdHJ1Y3QgbWx4NV9mY19zdGF0 cyB7DQpAQCAtMTEwMywxMyArMTEwNCw5IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBtbHg1X2VjcGZf dnBvcnRfZXhpc3RzKHN0cnVjdCBtbHg1X2NvcmVfZGV2ICpkZXYpDQogCXJldHVybiBtbHg1X2Nv cmVfaXNfcGYoZGV2KSAmJiBNTFg1X0NBUF9FU1coZGV2LCBlY3BmX3Zwb3J0X2V4aXN0cyk7DQog fQ0KIA0KLSNkZWZpbmUgTUxYNV9IT1NUX1BGX01BWF9WRlMJKDEyN3UpDQogc3RhdGljIGlubGlu ZSB1MTYgbWx4NV9jb3JlX21heF92ZnMoc3RydWN0IG1seDVfY29yZV9kZXYgKmRldikNCiB7DQot CWlmIChtbHg1X2NvcmVfaXNfZWNwZl9lc3dfbWFuYWdlcihkZXYpKQ0KLQkJcmV0dXJuIE1MWDVf SE9TVF9QRl9NQVhfVkZTOw0KLQllbHNlDQotCQlyZXR1cm4gcGNpX3NyaW92X2dldF90b3RhbHZm cyhkZXYtPnBkZXYpOw0KKwlyZXR1cm4gZGV2LT5wcml2LnNyaW92Lm1heF92ZnM7DQogfQ0KIA0K IHN0YXRpYyBpbmxpbmUgaW50IG1seDVfZ2V0X2dpZF90YWJsZV9sZW4odTE2IHBhcmFtKQ0KZGlm ZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbWx4NS9tbHg1X2lmYy5oIGIvaW5jbHVkZS9saW51eC9t bHg1L21seDVfaWZjLmgNCmluZGV4IDY1MTNiOTg1YzVlOS4uZTNjMTU0YjU3M2EyIDEwMDY0NA0K LS0tIGEvaW5jbHVkZS9saW51eC9tbHg1L21seDVfaWZjLmgNCisrKyBiL2luY2x1ZGUvbGludXgv bWx4NS9tbHg1X2lmYy5oDQpAQCAtOTcxMSw3ICs5NzExLDcgQEAgc3RydWN0IG1seDVfaWZjX2hv c3RfcGFyYW1zX2NvbnRleHRfYml0cyB7DQogCXU4ICAgICAgICAgcmVzZXJ2ZWRfYXRfOFsweDhd Ow0KIAl1OCAgICAgICAgIGhvc3RfbnVtX29mX3Zmc1sweDEwXTsNCiANCi0JdTggICAgICAgICBy ZXNlcnZlZF9hdF8yMFsweDEwXTsNCisJdTggICAgICAgICBob3N0X3RvdGFsX3Zmc1sweDEwXTsN CiAJdTggICAgICAgICBob3N0X3BjaV9idXNbMHgxMF07DQogDQogCXU4ICAgICAgICAgcmVzZXJ2 ZWRfYXRfNDBbMHgxMF07DQotLSANCjIuMjEuMA0KDQo=